From 1636375605e4b25027cc175a2fbe933d27b16998 Mon Sep 17 00:00:00 2001
From: zhangyongzhangyong <2012005003@qq.coom>
Date: Fri, 7 Feb 2020 15:49:14 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E8=A7=A3=E5=86=B3=EF=BC=9A=20=E6=89=93?=
=?UTF-8?q?=E5=8D=A1=E8=AF=A6=E6=83=85=E5=88=97=E8=A1=A8=E6=8E=92=E5=BA=8F?=
=?UTF-8?q?=E4=B8=8D=E6=AD=A3=E7=A1=AE=EF=BC=9B=20=E6=89=93=E5=8D=A1?=
=?UTF-8?q?=E8=AF=A6=E6=83=85=E5=88=97=E8=A1=A8=E6=80=A7=E5=88=AB=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=88=97=E6=9C=AA=E5=B1=95=E7=A4=BA=EF=BC=9B=20?=
=?UTF-8?q?=E5=B7=B2=E6=8A=A5=E5=90=8D=E5=B7=B2=E7=BB=93=E6=9D=9F=E5=88=97?=
=?UTF-8?q?=E8=A1=A8=E6=95=B0=E6=8D=AE=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?=
=?UTF-8?q?=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../epdc/controller/ApiActUserRelationController.java | 8 +++++++-
.../src/main/resources/mapper/activity/ActInfoDao.xml | 3 ++-
.../main/resources/mapper/activity/ActUserClockLogDao.xml | 8 ++++----
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActUserRelationController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActUserRelationController.java
index d1815b563..aeacb46c5 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActUserRelationController.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActUserRelationController.java
@@ -77,7 +77,13 @@ public class ApiActUserRelationController {
actUserRelationDTO.setPartyFlag(YesOrNoEnum.NO.value());
}
actUserRelationDTO.setRealName(tokenDto.getRealName());
- actUserRelationDTO.setSex(IdentityNoAnalysisUtil.getSex(identityNo));
+ String sex = IdentityNoAnalysisUtil.getSex(identityNo); // 身份证解析性别
+ if ("女".equals(sex)){
+ sex = "0";
+ }else {
+ sex = "1";
+ }
+ actUserRelationDTO.setSex(sex);
actUserRelationDTO.setAge(IdentityNoAnalysisUtil.getAge(identityNo));
actUserRelationDTO.setMobile(tokenDto.getMobile());
actUserRelationDTO.setIdentityNo(identityNo);
diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
index 6cf1b52f7..12db52360 100644
--- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
+++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
@@ -239,16 +239,17 @@
LEFT JOIN ( SELECT count( * ) AS clockCount, ACT_USER_ID FROM epdc_act_user_clock_log WHERE DEL_FLAG = '0' GROUP BY ACT_USER_ID ) clock ON clock.ACT_USER_ID = relation.ID
WHERE
actInfo.DEL_FLAG = '0'
- and actInfo.ACT_STATUS = '1'
and relation.USER_ID = #{userId}
#{timestamp}
#{timestamp}
+ || actInfo.ACT_STATUS = '0' and relation.USER_ID = #{userId}
AND relation.STATUS = #{actType}
+ and actInfo.ACT_STATUS = '1'
ORDER BY
actInfo.CREATED_TIME DESC
diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserClockLogDao.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserClockLogDao.xml
index 931705709..b871e8823 100644
--- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserClockLogDao.xml
+++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserClockLogDao.xml
@@ -49,19 +49,19 @@
relation.SEX,
relation.AGE,
relation.MOBILE,
- pic.CLOCK_PIC
+ pic.CLOCK_PIC,
+ log.CREATED_TIME
FROM
epdc_act_user_clock_log log
LEFT JOIN epdc_act_user_relation relation ON log.ACT_USER_ID = relation.ID
AND relation.DEL_FLAG = '0'
LEFT JOIN epdc_act_clock_pic pic ON pic.CLOCK_ID = log.ID
- AND pic.DEL_FLAG = '0'
+ AND pic.DEL_FLAG = '0'
WHERE
log.DEL_FLAG = '0'
AND log.ACT_USER_ID = #{id}
- ORDER BY log.CREATED_TIME DESC
- ) a GROUP BY a.ID
+ ) a GROUP BY a.ID ORDER BY a.CREATED_TIME DESC
\ No newline at end of file
From 8b5ad04815c83a46dd5ef5589654608d1ed503b1 Mon Sep 17 00:00:00 2001
From: wanggongfeng <1305282856@qq.com>
Date: Fri, 7 Feb 2020 16:38:21 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E5=B9=B2=E9=83=A8=E8=AF=84=E4=BB=B7?=
=?UTF-8?q?=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../evaluate/form/EvaluateRoleFormDTO.java | 41 ++++
.../controller/EvaluateOfficerController.java | 12 +
.../controller/EvaluateRoleController.java | 26 +-
.../evaluate/dao/EvaluateOfficerDao.java | 7 +
.../modules/evaluate/dao/EvaluateRoleDao.java | 12 +-
.../evaluate/excel/EvaluateOfficerExcel.java | 16 +-
.../service/EvaluateOfficerService.java | 7 +
.../evaluate/service/EvaluateRoleService.java | 22 +-
.../impl/EvaluateOfficerServiceImpl.java | 227 +++++++++++++++++-
.../service/impl/EvaluateRoleServiceImpl.java | 18 +-
.../mapper/evaluate/EvaluateOfficerDao.xml | 35 +++
.../mapper/evaluate/EvaluateRoleDao.xml | 11 +
12 files changed, 416 insertions(+), 18 deletions(-)
create mode 100644 esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/evaluate/form/EvaluateRoleFormDTO.java
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/evaluate/form/EvaluateRoleFormDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/evaluate/form/EvaluateRoleFormDTO.java
new file mode 100644
index 000000000..6adc2e417
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/evaluate/form/EvaluateRoleFormDTO.java
@@ -0,0 +1,41 @@
+/**
+ * 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.dto.evaluate.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 评价权限表 评价权限表
+ *
+ * @author qu qu@elink-cn.com
+ * @since v1.0.0 2020-02-05
+ */
+@Data
+public class EvaluateRoleFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 可用标记(0-不可用,1-可用)
+ */
+ private String available;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateOfficerController.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateOfficerController.java
index 030119693..869aac4dd 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateOfficerController.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateOfficerController.java
@@ -30,6 +30,7 @@ import com.elink.esua.epdc.modules.evaluate.excel.EvaluateOfficerExcel;
import com.elink.esua.epdc.modules.evaluate.service.EvaluateOfficerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -92,4 +93,15 @@ public class EvaluateOfficerController {
ExcelUtils.exportExcelToTarget(response, null, list, EvaluateOfficerExcel.class);
}
+ /***
+ * 导入分类Excel表格
+ * @Author wanggongfeng
+ * @Description excle层级导入
+ * @Date 2020/02/07 8:20
+ */
+ @PostMapping("importExcel")
+ public Result importExcel(@RequestParam("file") MultipartFile file) {
+ return evaluateOfficerService.insertPartyList(file);
+ }
+
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateRoleController.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateRoleController.java
index f98875036..defcae1ae 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateRoleController.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateRoleController.java
@@ -25,9 +25,10 @@ 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.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
+import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
+import com.elink.esua.epdc.dto.evaluate.form.EvaluateRoleFormDTO;
import com.elink.esua.epdc.modules.evaluate.excel.EvaluateRoleExcel;
import com.elink.esua.epdc.modules.evaluate.service.EvaluateRoleService;
-import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -91,4 +92,27 @@ public class EvaluateRoleController {
ExcelUtils.exportExcelToTarget(response, null, list, EvaluateRoleExcel.class);
}
+ /**
+ * 获取可用标记
+ * @Author: wanggongfeng
+ * @return
+ */
+ @GetMapping("getAvailable")
+ public Result getAvailable(){
+ EvaluateRoleDTO data = evaluateRoleService.getAvailable();
+ return new Result().ok(data);
+ }
+
+ /**
+ * 更新可用标记
+ * @param evaluateRoleFormDTO
+ * @Author: wanggongfeng
+ * @return
+ */
+ @PostMapping("updateRoleInfo")
+ public Result updateRoleInfo(@RequestBody EvaluateRoleFormDTO evaluateRoleFormDTO){
+ evaluateRoleService.updateAll(evaluateRoleFormDTO);
+ return new Result();
+ }
+
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateOfficerDao.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateOfficerDao.java
index f3d2587a8..c1e704266 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateOfficerDao.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateOfficerDao.java
@@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.evaluate.EvaluateOfficerDTO;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateOfficerEntity;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -39,4 +40,10 @@ public interface EvaluateOfficerDao extends BaseDao {
* @return
*/
List getOfficerPage(Map params);
+
+ /**
+ * 数据批量插入
+ * @param evaluateOfficerEntities
+ */
+ void insertList(@Param("evaluateOfficerEntities")EvaluateOfficerEntity[] evaluateOfficerEntities);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateRoleDao.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateRoleDao.java
index e5c4567e4..8245eb2c3 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateRoleDao.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateRoleDao.java
@@ -29,5 +29,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface EvaluateRoleDao extends BaseDao {
-
+ /**
+ * 获取启用状态
+ * @return
+ */
+ EvaluateRoleEntity getAvailable();
+
+ /**
+ * 更新全部
+ * @param entity
+ */
+ void updateAll(EvaluateRoleEntity entity);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/excel/EvaluateOfficerExcel.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/excel/EvaluateOfficerExcel.java
index 6843cc781..ccefeb684 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/excel/EvaluateOfficerExcel.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/excel/EvaluateOfficerExcel.java
@@ -20,8 +20,6 @@ package com.elink.esua.epdc.modules.evaluate.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
-import java.util.Date;
-
/**
* 干部信息表 干部信息表
*
@@ -31,19 +29,19 @@ import java.util.Date;
@Data
public class EvaluateOfficerExcel {
- @Excel(name = "主键")
+ /*@Excel(name = "主键")
private String id;
@Excel(name = "部门ID 部门表主键ID")
- private String deptId;
+ private String deptId;*/
- @Excel(name = "姓名")
+ @Excel(name = "干部姓名")
private String fullName;
- @Excel(name = "性别(0-女,1-男)")
+ @Excel(name = "性别")
private String sex;
- @Excel(name = "职位")
+ @Excel(name = "单位职务")
private String position;
@Excel(name = "点赞次数")
@@ -55,7 +53,7 @@ public class EvaluateOfficerExcel {
@Excel(name = "排序")
private Integer sort;
- @Excel(name = "乐观锁")
+ /* @Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "删除标识 0:否,1:是")
@@ -71,7 +69,7 @@ public class EvaluateOfficerExcel {
private String updatedBy;
@Excel(name = "更新时间")
- private Date updatedTime;
+ private Date updatedTime;*/
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/EvaluateOfficerService.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/EvaluateOfficerService.java
index 1a6aec42a..5d805c203 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/EvaluateOfficerService.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/EvaluateOfficerService.java
@@ -19,8 +19,10 @@ package com.elink.esua.epdc.modules.evaluate.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.evaluate.EvaluateOfficerDTO;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateOfficerEntity;
+import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
@@ -99,4 +101,9 @@ public interface EvaluateOfficerService extends BaseService {
* @date 2020-02-05
*/
void delete(String[] ids);
+
+ /**
+ * 获取可用标记
+ *
+ * @return void
+ * @author generator
+ * @date 2020-02-05
+ */
+ EvaluateRoleDTO getAvailable();
+
+ /**
+ * 全部更新
+ *
+ * @param dto
+ * @return void
+ * @author wanggongfeng
+ * @date 2020-02-07
+ */
+ void updateAll(EvaluateRoleFormDTO dto);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateOfficerServiceImpl.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateOfficerServiceImpl.java
index 6923ccdb9..18b72a8c1 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateOfficerServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateOfficerServiceImpl.java
@@ -22,20 +22,30 @@ 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.page.PageData;
+import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
+import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.evaluate.EvaluateOfficerDTO;
import com.elink.esua.epdc.modules.evaluate.dao.EvaluateOfficerDao;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateOfficerEntity;
import com.elink.esua.epdc.modules.evaluate.redis.EvaluateOfficerRedis;
import com.elink.esua.epdc.modules.evaluate.service.EvaluateOfficerService;
import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
* 干部信息表 干部信息表
@@ -46,6 +56,12 @@ import java.util.Map;
@Service
public class EvaluateOfficerServiceImpl extends BaseServiceImpl implements EvaluateOfficerService {
+ private int totalRows = 0; // 总行数
+
+ private int totalCells = 0;// 总条数
+
+ public static int Guid=100;//id自增值
+
@Autowired
private EvaluateOfficerRedis evaluateOfficerRedis;
@@ -73,7 +89,16 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl list(Map params) {
List entityList = baseDao.selectList(getWrapper(params));
-
+ for(int i = 0 ; i < entityList.size() ; i++){
+ EvaluateOfficerEntity entity = entityList.get(i);
+ //转型性别
+ String sex = entity.getSex();
+ if("0".equals(sex)){
+ entity.setSex("女");
+ }else{
+ entity.setSex("男");
+ }
+ }
return ConvertUtils.sourceToTarget(entityList, EvaluateOfficerDTO.class);
}
@@ -113,4 +138,198 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl list = new ArrayList();
+ try{
+ Workbook wb = null;
+ InputStream is = file.getInputStream();
+ if ("true".equals(isExcel2003)) {
+ // 当excel是2003时,创建excel2003
+ wb = new HSSFWorkbook(is);
+ }else if("false".equals(isExcel2003)){
+ // 当excel是2007时,创建excel2007
+ wb = new XSSFWorkbook(is);
+ } else {
+ result.setMsg("defeat");
+ result.setCode(1);
+ result.setData("excle格式错误!");
+ return result;
+ }
+ // 得到第一个shell
+ Sheet sheet = wb.getSheetAt(0);
+ // 得到Excel的行数
+ this.totalRows = sheet.getPhysicalNumberOfRows();
+ // 得到Excel的列数(前提是有行数)
+ if (totalRows > 1 && sheet.getRow(0) != null) {
+ this.totalCells = sheet.getRow(0).getPhysicalNumberOfCells();
+ }
+ // 循环Excel行数(不要列名,从1开始) ;0是列名
+ for (int r = 1; r < totalRows; r++) {
+ Row row = sheet.getRow(r);
+ if (row == null) {
+ continue;
+ }
+ // 循环Excel的列
+ for (int c = 0; c < 5; c++) {
+ EvaluateOfficerEntity evaluateOfficerEntity = new EvaluateOfficerEntity();
+ Cell cell = row.getCell(c);
+ if (null != cell) {
+ if (c == 0) {
+ // 干部姓名
+ String value = getCellContent(cell);
+ evaluateOfficerEntity.setFullName(value);
+
+ }else if (c == 1) {
+ // 性别
+ String value = getCellContent(cell);
+ if("女".equals(value)){
+ value = "0";
+ }else{
+ value = "1";
+ }
+ evaluateOfficerEntity.setSex(value);
+
+ }else if (c == 2) {
+ // 单位职务
+ String value = getCellContent(cell);
+ evaluateOfficerEntity.setPosition(value);
+
+ }else if (c == 3) {
+ // 点赞次数
+ String value = getCellContent(cell);
+ evaluateOfficerEntity.setLikesCount(Integer.parseInt(value));
+
+ } else if (c == 4) {
+ // 被踩次数
+ String value = getCellContent(cell);
+ evaluateOfficerEntity.setOpposeCount(Integer.parseInt(value));
+
+ }else if (c == 5) {
+ // 排序
+ String value = getCellContent(cell);
+ evaluateOfficerEntity.setSort(Integer.parseInt(value));
+
+ }
+
+ evaluateOfficerEntity.setDeptId("11231");
+
+ String userId = SecurityUser.getUserId() == null ? "" : SecurityUser.getUserId().toString();
+ ;
+ evaluateOfficerEntity.setId(getLongRandom());
+ evaluateOfficerEntity.setDelFlag("0");//删除标识 0:未删除 1:删除
+ evaluateOfficerEntity.setRevision(0);
+ evaluateOfficerEntity.setCreatedBy(userId);
+ evaluateOfficerEntity.setUpdatedBy(userId);
+ evaluateOfficerEntity.setCreatedTime(new Date());
+ evaluateOfficerEntity.setUpdatedTime(new Date());
+ }
+ list.add(evaluateOfficerEntity);
+ }
+ }
+ if(list.size() > 0){
+ EvaluateOfficerEntity[] evaluateOfficerEntities = new EvaluateOfficerEntity[list.size()];
+ for(int k = 0 ; k < list.size() ; k++){
+ evaluateOfficerEntities[k] = list.get(k);
+ }
+ baseDao.insertList(evaluateOfficerEntities);
+ }
+ result.setMsg("success");
+ result.setCode(0);
+ result.setData("数据导入成功!");
+ return result;
+ }catch(Exception e){
+
+ }
+ result.setMsg("defeat");
+ result.setCode(1);
+ result.setData("数据导入失败!");
+ return result;
+ }
+
+ /**
+ * 获取19位随机数
+ * @return
+ */
+ public String getLongRandom(){
+ Guid+=1;
+ long now = System.currentTimeMillis();
+ SimpleDateFormat dateFormat=new SimpleDateFormat("MMdd");
+ String time=dateFormat.format(now);
+ String currentTimeMillis=now+"";
+ int ran=0;
+ if(Guid>999){
+ Guid=100;
+ }
+ ran=Guid;
+ String str = time+currentTimeMillis.substring(1, currentTimeMillis.length())+ran;
+ return str;
+ }
+
+ /**
+ * 获取单元格内容
+ * @param cell
+ * @return
+ */
+ public String getCellContent(Cell cell){
+ String value = "";
+ if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
+ value = String.valueOf(cell.getNumericCellValue());
+ } else {
+ value = cell.getStringCellValue();
+ }
+ //内容超过25个字进行长度限制,否则数据库会超限
+ /*if(value.length() > 25){
+ value = value.substring(0,25) + "...";
+ }*/
+ return value;
+ }
+
+ /**
+ * 获取excle版本
+ * @param mFile
+ * @return
+ */
+ public String getExcelInfo(MultipartFile mFile) {
+ String fileName = mFile.getOriginalFilename();// 获取文件名
+ String isExcel2003 = "true";// 根据文件名判断文件是2003版本还是2007版本
+ try {
+ if (!validateExcel(fileName)) {// 验证文件名是否合格
+ return "";
+ }
+ if (isExcel2007(fileName)) {
+ isExcel2003 = "false";
+ }
+ return isExcel2003;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
+
+ /**
+ * 验证EXCEL文件
+ * @param filePath
+ * @return
+ */
+ public boolean validateExcel(String filePath) {
+ if (filePath == null || !(isExcel2003(filePath) || isExcel2007(filePath))) {
+ return false;
+ }
+ return true;
+ }
+
+ // @描述:是否是2003的excel,返回true是2003
+ public static boolean isExcel2003(String filePath) {
+ return filePath.matches("^.+\\.(?i)(xls)$");
+ }
+ // @描述:是否是2007的excel,返回true是2007
+ public static boolean isExcel2007(String filePath) {
+ return filePath.matches("^.+\\.(?i)(xlsx)$");
+ }
+
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateRoleServiceImpl.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateRoleServiceImpl.java
index 001ad7b4d..b00a5a3a5 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateRoleServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateRoleServiceImpl.java
@@ -23,10 +23,11 @@ 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.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
-import com.elink.esua.epdc.modules.evaluate.entity.EvaluateRoleEntity;
+import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
+import com.elink.esua.epdc.dto.evaluate.form.EvaluateRoleFormDTO;
import com.elink.esua.epdc.modules.evaluate.dao.EvaluateRoleDao;
+import com.elink.esua.epdc.modules.evaluate.entity.EvaluateRoleEntity;
import com.elink.esua.epdc.modules.evaluate.redis.EvaluateRoleRedis;
-import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
import com.elink.esua.epdc.modules.evaluate.service.EvaluateRoleService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -101,4 +102,17 @@ public class EvaluateRoleServiceImpl extends BaseServiceImpl
+
+ insert into epdc_evaluate_officer
+ (id,
+ DEPT_ID,
+ FULL_NAME,
+ SEX,
+ POSITION,
+ LIKES_COUNT,
+ OPPOSE_COUNT,
+ SORT,
+ REVISION,
+ DEL_FLAG,
+ CREATED_BY,
+ CREATED_TIME,
+ UPDATED_BY,
+ UPDATED_TIME)
+ values
+
+ (#{item.id},
+ #{item.deptId},
+ #{item.fullName},
+ #{item.sex},
+ #{item.position},
+ #{item.likesCount},
+ #{item.opposeCount},
+ #{item.sort},
+ #{item.revision},
+ #{item.delFlag},
+ #{item.createdBy},
+ #{item.createdTime},
+ #{item.updatedBy},
+ #{item.updatedTime})
+
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateRoleDao.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateRoleDao.xml
index 1cd7026bb..c081c24da 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateRoleDao.xml
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateRoleDao.xml
@@ -16,5 +16,16 @@
+
+ select
+ AVAILABLE
+ from epdc_evaluate_role
+ where DEL_FLAG = '0' limit 1
+
+
+
+ update epdc_evaluate_role set AVAILABLE = #{available} where DEL_FLAG = '0'
+
+
\ No newline at end of file
From de59239321828e5f5cc561079a8133f842756c9f Mon Sep 17 00:00:00 2001
From: yujintao
Date: Fri, 7 Feb 2020 16:46:01 +0800
Subject: [PATCH 3/3] =?UTF-8?q?kpi=E5=85=83=E6=95=B0=E6=8D=AE=E7=94=9F?=
=?UTF-8?q?=E6=88=90bug=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../esua/epdc/dto/ScheduleJobParamDTO.java | 3 -
.../impl/KpiManualScoreServiceImpl.java | 8 ++-
.../service/impl/KpiMetaDataServiceImpl.java | 7 +-
.../epdc/service/impl/KpiRuleServiceImpl.java | 8 ++-
.../esua/epdc/utils/KpiLocalDateUtils.java | 66 +++++++++++++++++--
5 files changed, 72 insertions(+), 20 deletions(-)
diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/ScheduleJobParamDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/ScheduleJobParamDTO.java
index 229442daf..83c454ae4 100644
--- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/ScheduleJobParamDTO.java
+++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/ScheduleJobParamDTO.java
@@ -8,9 +8,6 @@ import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-
/**
* 定时任务参数
*
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 e47ab88d9..141be68a9 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,6 +24,7 @@ import com.elink.esua.epdc.dao.*;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
+import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO;
import com.elink.esua.epdc.dto.result.KpiManualScoreTemplateResultDTO;
import com.elink.esua.epdc.entity.*;
@@ -762,11 +763,12 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl deptIdList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, NumConstant.TWENTY, pageIndex);
diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java
index 31c70ed7b..02b1308f1 100644
--- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java
@@ -163,15 +163,12 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl
+ * dateStr为空,自动获取当前月份的,上个 月/季/年 的开始和结束时间
+ * dateStr不为空,获取dateStr的,上个 月/季/年 的开始和结束时间
+ *
+ *
+ * @param kpiCycle 考核周期
+ * @param dateStr 考核月某一天字符串 yyyy-MM-dd e.g. 2020-01-01
+ * @return com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO
+ * @author work@yujt.net.cn
+ * @date 2020/2/7 15:06
+ */
+ public static KpiMetaDataOfEventsFormDTO packKpiStartAndEndDate(String kpiCycle, String dateStr) {
+ // 执行考核的时间
+ LocalDate kpiDate = LocalDate.now();
+ if (StringUtils.isNotBlank(dateStr)) {
+ kpiDate = LocalDate.parse(dateStr);
+ }
+ // 执行考核的月份
+ YearMonth kpiYearMonth = YearMonth.of(kpiDate.getYear(), kpiDate.getMonthValue());
+
+ // 考核期开始日
+ LocalDate startDate = null;
+ // 考核期结束日
+ LocalDate endDate = null;
+ if (KpiCycleEnum.KPI_CYCLE_MONTH.getValue().equals(kpiCycle)) {
+ startDate = kpiYearMonth.minusMonths(NumConstant.ONE_L).atDay(NumConstant.ONE);
+ } else if (KpiCycleEnum.KPI_CYCLE_QUARTER.getValue().equals(kpiCycle)) {
+ int monthValue = kpiYearMonth.getMonthValue();
+ if (monthValue == NumConstant.ONE || monthValue == NumConstant.FOUR || monthValue == NumConstant.SEVEN || monthValue == NumConstant.TEN) {
+ startDate = kpiYearMonth.minusMonths(NumConstant.THREE).atDay(NumConstant.ONE);
+ }
+ } else if (KpiCycleEnum.KPI_CYCLE_YEAR.getValue().equals(kpiCycle)) {
+ if (kpiYearMonth.getMonthValue() == NumConstant.ONE) {
+ startDate = kpiYearMonth.minusMonths(NumConstant.TWELVE).atDay(NumConstant.ONE);
+ }
+ }
+ // 执行考核的时间和考核周期不匹配
+ if (null == startDate) {
+ return null;
+ }
+
+ endDate = kpiYearMonth.minusMonths(NumConstant.ONE_L).atEndOfMonth();
+
+ KpiMetaDataOfEventsFormDTO dto = new KpiMetaDataOfEventsFormDTO();
+ dto.setStartDate(LocalDateUtils.localDateToDate(startDate));
+ dto.setEndDate(LocalDateUtils.localDateToDate(endDate));
+ return dto;
}
}