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 @@ + + + + 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; } }