springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComSwRotaExcelListen.java
New file @@ -0,0 +1,59 @@ package com.panzhihua.common.listen; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngCarExcelVO; import com.panzhihua.common.model.vos.community.ComSwRotaExcelVO; import com.panzhihua.common.service.community.CommunityService; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; import java.util.List; /** * @description: 值班表监听 * @author: Null * @date: 2021/7/31 13:26 */ @Slf4j public class ComSwRotaExcelListen extends AnalysisEventListener<ComSwRotaExcelVO> { private CommunityService communityService; private Long communityId; public ComSwRotaExcelListen(CommunityService communityService, Long communityId){ this.communityService = communityService; this.communityId = communityId; } private static final int BATCH_COUNT = 100; private List<ComSwRotaExcelVO> list = new ArrayList<>(); @Override public void invoke(ComSwRotaExcelVO comSwRotaExcelVO, AnalysisContext analysisContext) { list.add(comSwRotaExcelVO); // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM if(list.size() >= BATCH_COUNT){ log.info("excel导入数据【{}】", JSONObject.toJSONString(list)); R r = this.communityService.listSaveSwRotaExcelVO(list,this.communityId); if (!R.isOk(r)) { throw new ServiceException(r.getMsg()); } list.clear(); //清空list } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { log.info("excel导入数据【{}】", JSONObject.toJSONString(list)); R r = this.communityService.listSaveSwRotaExcelVO(list,this.communityId);//确保最后遗留的数据保存在数据库中 if (!R.isOk(r)) { throw new ServiceException(r.getMsg()); } } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordAddDTO.java
@@ -1,6 +1,5 @@ package com.panzhihua.common.model.dtos.community; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; @@ -44,13 +43,13 @@ /** * 巡查领导 */ @ApiModelProperty("巡查领导") @ApiModelProperty("巡查领导id") private String patrolLeader; /** * 巡查人员 */ @ApiModelProperty("巡查人员") @ApiModelProperty("巡查人员id") private String patrolPerson; /** @@ -164,7 +163,7 @@ /** * 整改人员 */ @ApiModelProperty("整改人员") @ApiModelProperty("整改人员id") private String rectifyPerson; /** springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwRotaPageDTO.java
@@ -44,6 +44,6 @@ * 联系电话 */ @ApiModelProperty("联系电话") private Integer phone; private String phone; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwRotaSaveDTO.java
@@ -1,5 +1,6 @@ package com.panzhihua.common.model.dtos.community; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportExcelVO.java
@@ -41,13 +41,13 @@ * 巡查人员 */ @ExcelProperty(value = "巡查人员" ,index = 4) private String patrolPerson; private String personName; /** * 联系电话 */ @ExcelProperty(value = "联系电话" ,index = 5) private String patrolPersonPhone; private String personPhone; /** * 备注 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportVO.java
@@ -38,6 +38,12 @@ private Long communityId; /** * 社区id */ @ApiModelProperty("社区名称") private String communityName; /** * 巡查时间 */ @ApiModelProperty("巡查时间") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwRotaExcelVO.java
New file @@ -0,0 +1,53 @@ package com.panzhihua.common.model.vos.community; import com.alibaba.excel.annotation.ExcelProperty; import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; import lombok.Data; import java.io.Serializable; /** * @description: 批量导入值班表 * @author: Null * @date: 2021/7/31 11:11 */ @Data public class ComSwRotaExcelVO implements Serializable { /** * 星期 */ @ExcelProperty(value = "星期" ,index = 0) private String weekDay; /** * 时间 */ @ExcelProperty(value = "时间" ,index = 1) private String rotaDate; /** * 值班领导 */ @ExcelProperty(value = "值班领导" ,index = 2) private String leaderName; /** * 值班领导联系电话 */ @ExcelProperty(value = "值班领导联系电话" ,index = 3) private String leaderPhone; /** * 值班人员 */ @ExcelProperty(value = "值班人员(多个以逗号隔开)" ,index = 4) private String personName; /** * 值班人员联系电话 */ @ExcelProperty(value = "值班人员联系电话(多个以逗号隔开)" ,index = 5) private String personPhone; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwRotaVO.java
@@ -48,8 +48,7 @@ * 值班时间 */ @ApiModelProperty("值班时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date rotaDate; private String rotaDate; /** * 值班领导,多个以逗号隔开 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -3986,6 +3986,14 @@ R pageRota(@RequestBody ComSwRotaPageDTO comSwRotaPageDTO); /** * 根据id查询值班表 * @param rotaId 值班表id * @return 值班表详情 */ @GetMapping("/patrolRecord/rota/detail") R detailRota(@RequestParam("rotaId") Long rotaId); /** * 新增值班表 * * @param comSwRotaSaveDTOs 新增参数 @@ -4018,4 +4026,12 @@ @GetMapping("/patrolRecord/rota/getRotaLeaderByDate") R getRotaLeaderByDate(@RequestParam(value = "rotaDate") String rotaDate); /** * 批量导入值班表 * * @param list 值班表集合 */ @PostMapping("/patrolRecord/rota/import") R listSaveSwRotaExcelVO(@RequestBody List<ComSwRotaExcelVO> list, @RequestParam("communityId") Long communityId); } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java
@@ -840,6 +840,31 @@ return sdf.format(today.getTime()); } /** * 日期转周 * * @param datetime * @return */ public static String dateToWeek(String datetime) { SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); String[] weekDays = { "周日", "周一", "周二", "周三", "周四", "周五", "周六" }; Calendar cal = Calendar.getInstance(); // 获得一个日历 Date datet = null; try { if (StringUtils.isNotEmpty(datetime)) { datet = f.parse(datetime); cal.setTime(datet); } } catch (ParseException e) { e.printStackTrace(); } int w = cal.get(Calendar.DAY_OF_WEEK) - 1; // 指示一个周中的某天。 if (w < 0) w = 0; return weekDays[w]; } public static void main(String[]args)throws Exception{ springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java
@@ -5,10 +5,14 @@ import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.listen.ComMngPopulationServeExcelListen; import com.panzhihua.common.listen.ComSwRotaExcelListen; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.partybuilding.PartyBuildingService; import com.panzhihua.common.utlis.SFTPUtil; @@ -19,10 +23,13 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.List; @@ -101,7 +108,7 @@ * @param comSwPatrolRecordPageDTO 查询参数 * @return 安全工作记录分页集合 */ @ApiOperation(value = "分页查询安全工作记录") @ApiOperation(value = "分页查询安全工作记录", response = ComSwSafetyWorkRecordVO.class) @PostMapping("/pageSafetyWorkRecord") public R pageSafetyWorkRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){ Long communityId = this.getCommunityId(); @@ -115,7 +122,7 @@ * @param safetyWorkRecordId 安全工作记录 * @return 安全工作记录详情查询结果 */ @ApiOperation(value = "根据安全工作记录id查询详情") @ApiOperation(value = "根据安全工作记录id查询详情", response = ComSwSafetyWorkRecordVO.class) @GetMapping("/detailSafetyWorkRecord") public R detailSafetyWorkRecord(@RequestParam(value = "safetyWorkRecordId") Long safetyWorkRecordId) { return communityService.detailSafetyWorkRecord(safetyWorkRecordId); @@ -127,7 +134,7 @@ * @param patrolRecordId 巡查记录id * @return 安全工作记录详情查询结果 */ @ApiOperation(value = "根据巡查记录id查询安全工作记录详情") @ApiOperation(value = "根据巡查记录id查询安全工作记录详情", response = ComSwSafetyWorkRecordVO.class) @GetMapping("/detailSafetyWorkRecordByPrId") public R detailSafetyWorkRecordByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId) { return communityService.detailSafetyWorkRecordByPrId(patrolRecordId); @@ -138,7 +145,7 @@ * @param comSwPatrolRecordPageDTO 查询参数 * @return 隐患报告分页集合 */ @ApiOperation(value = "分页查询隐患报告") @ApiOperation(value = "分页查询隐患报告", response = ComSwDangerReportVO.class) @PostMapping("/pageDangerReport") public R pageDangerReport(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){ Long communityId = this.getCommunityId(); @@ -152,10 +159,15 @@ * @param dangerReportId 隐患报告id * @return 隐患报告详情查询结果 */ @ApiOperation(value = "根据隐患报告id查询详情") @ApiOperation(value = "根据隐患报告id查询详情", response = ComSwDangerReportVO.class) @GetMapping("/detailDangerReport") public R detailDangerReport(@RequestParam(value = "dangerReportId") Long dangerReportId) { return communityService.detailDangerReport(dangerReportId); R r = communityService.detailDangerReport(dangerReportId); if (R.isOk(r)) { ComSwDangerReportVO reportVO = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), ComSwDangerReportVO.class); reportVO.setCommunityName(this.getLoginUserInfo().getCommunityName()); } return r; } /** @@ -164,10 +176,15 @@ * @param patrolRecordId 巡查记录id * @return 隐患报告详情查询结果 */ @ApiOperation(value = "根据巡查记录id查询隐患报告详情") @ApiOperation(value = "根据巡查记录id查询隐患报告详情", response = ComSwDangerReportVO.class) @GetMapping("/detailDangerReportByPrId") public R detailDangerReportByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId) { return communityService.detailDangerReportByPrId(patrolRecordId); R r = communityService.detailDangerReportByPrId(patrolRecordId); if (R.isOk(r)) { ComSwDangerReportVO reportVO = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), ComSwDangerReportVO.class); reportVO.setCommunityName(this.getLoginUserInfo().getCommunityName()); } return r; } /** @@ -269,6 +286,17 @@ } /** * 根据id查询值班表 * @param rotaId 值班表id * @return 值班表详情 */ @GetMapping("/detailRota") @ApiOperation(value = "根据id查询值班表", response = ComSwRotaVO.class) public R detailRota(@RequestParam("rotaId") Long rotaId){ return communityService.detailRota(rotaId); } /** * 新增值班表 * @param comSwRotaSaveDTOs 新增参数 * @return 新增结果 @@ -328,5 +356,23 @@ return partyBuildingService.getTotlePerson(param,communityId); } @ApiOperation(value = "excel导入值班表") @PostMapping(value = "/serve/import", consumes = "multipart/*", headers = "content-type=multipart/form-date") public R downloadRotaTemplate(@RequestParam MultipartFile file, HttpServletRequest request) { //获取文件名 String fileName = file.getOriginalFilename(); log.info("传入文件名字【{}】", fileName); InputStream inputStream = null; try { inputStream = file.getInputStream(); ComSwRotaExcelListen comSwRotaExcelListen = new ComSwRotaExcelListen(communityService, this.getCommunityId()); EasyExcel.read(inputStream, ComSwRotaExcelVO.class, comSwRotaExcelListen).sheet().doRead(); } catch (IOException e) { log.error("导入模板失败【{}】", e.getMessage()); e.printStackTrace(); } return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java
@@ -3,6 +3,7 @@ import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComSwPatrolRecordStatisticsVO; import com.panzhihua.common.model.vos.community.ComSwRotaExcelVO; import com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO; import com.panzhihua.service_community.service.ComSwDangerReportService; import com.panzhihua.service_community.service.ComSwPatrolRecordService; @@ -189,6 +190,16 @@ } /** * 根据id查询值班表 * @param rotaId 值班表id * @return 值班表详情 */ @GetMapping("/rota/detail") public R detailRota(@RequestParam("rotaId") Long rotaId){ return comSwRotaService.detailRota(rotaId); } /** * 新增值班表 * @param comSwRotaSaveDTOs 新增参数 * @return 新增结果 @@ -225,5 +236,15 @@ public R getRotaLeaderByDate(@RequestParam(value = "rotaDate") String rotaDate){ return comSwRotaService.getRotaLeaderByDate(rotaDate); } /** * 批量导入值班表 * * @param list 值班表集合 */ @PostMapping("/rota/import") public R listSaveSwRotaExcelVO(@RequestBody List<ComSwRotaExcelVO> list, @RequestParam("communityId") Long communityId){ return comSwRotaService.listSaveSwRotaExcelVO(list, communityId); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwRotaDAO.java
@@ -12,6 +12,8 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @auther txb * @create 2021-07-30 09:48:54 @@ -27,4 +29,10 @@ */ IPage<ComSwRotaVO> pageRota(Page page, @Param("comSwRotaPageDTO") ComSwRotaPageDTO comSwRotaPageDTO); /** * 根据电话查询teamId * @param teamPhone 查询参数 * @return teamId */ String getTeamIdsByTeamPhone(@Param("teamPhone") String teamPhone); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwRotaService.java
@@ -4,7 +4,9 @@ import com.panzhihua.common.model.dtos.community.ComSwRotaPageDTO; import com.panzhihua.common.model.dtos.community.ComSwRotaSaveDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComSwRotaExcelVO; import com.panzhihua.service_community.model.dos.ComSwRotaDO; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @@ -26,6 +28,12 @@ */ R pageRota(ComSwRotaPageDTO comSwRotaPageDTO); /** * 根据id查询值班表 * @param rotaId 值班表id * @return 值班表详情 */ R detailRota(Long rotaId); /** * 新增值班表 * @param comSwRotaSaveDTOs 新增参数 @@ -58,4 +66,11 @@ */ R getTotlePerson(String param,Long communityId); /** * 批量导入值班表 * * @param list 值班表集合 */ R listSaveSwRotaExcelVO(List<ComSwRotaExcelVO> list, Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java
@@ -214,15 +214,15 @@ @Override public R exportDangerReport(List<Long> dangerReportIds) { List<ComSwDangerReportExcelVO> list = comSwDangerReportDAO.exportDangerReport(dangerReportIds); list.forEach(comSwDangerReportExcelVO -> { List<String> patrolUserIds = Arrays.asList(comSwDangerReportExcelVO.getPatrolPerson().split(",")); List<String> patrolPhones = new ArrayList<>(); for (String userId : patrolUserIds) { LoginUserInfoVO loginUserInfoVO = userService.getUserInfoByUserId(userId).getData(); patrolPhones.add(loginUserInfoVO.getPhone()); } comSwDangerReportExcelVO.setPatrolPersonPhone(StringUtils.join(patrolPhones,",")); }); // list.forEach(comSwDangerReportExcelVO -> { // List<String> patrolUserIds = Arrays.asList(comSwDangerReportExcelVO.getPatrolPerson().split(",")); // List<String> patrolPhones = new ArrayList<>(); // for (String userId : patrolUserIds) { // LoginUserInfoVO loginUserInfoVO = userService.getUserInfoByUserId(userId).getData(); // patrolPhones.add(loginUserInfoVO.getPhone()); // } // comSwDangerReportExcelVO.setPatrolPersonPhone(StringUtils.join(patrolPhones,",")); // }); return R.ok(list); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwRotaServiceImpl.java
@@ -10,19 +10,23 @@ import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO; import com.panzhihua.common.model.vos.community.ComSwRotaExcelVO; import com.panzhihua.common.model.vos.community.ComSwRotaPersonVO; import com.panzhihua.common.model.vos.community.ComSwRotaVO; import com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComOpsAccUserDAO; import com.panzhihua.service_community.dao.ComSwPatrolRecordDAO; import com.panzhihua.service_community.dao.ComSwRotaDAO; import com.panzhihua.service_community.model.dos.ComMngUserTagDO; import com.panzhihua.service_community.model.dos.ComSwRotaDO; import com.panzhihua.service_community.service.ComSwRotaService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -31,6 +35,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** * @auther txb @@ -45,6 +50,9 @@ private ComSwRotaDAO comSwRotaDAO; @Resource private UserService userService; @Resource private ComSwPatrolRecordDAO comSwPatrolRecordDAO; @Override public R pageRota(ComSwRotaPageDTO comSwRotaPageDTO) { @@ -61,27 +69,125 @@ page.setCurrent(pageNum); IPage<ComSwRotaVO> iPage = comSwRotaDAO.pageRota(page, comSwRotaPageDTO); if (null != iPage.getRecords()) { iPage.getRecords().forEach(comSwRotaVO -> { comSwRotaVO.setWeekDay(DateUtils.dateToWeek(comSwRotaVO.getRotaDate())); StringBuilder leaderNameString = new StringBuilder(); StringBuilder leaderPhoneString = new StringBuilder(); //值班领导id查询值班领导的名字和电话 if(StringUtils.isNotEmpty(comSwRotaVO.getRotaLeader())){ String[] leaderIds = comSwRotaVO.getRotaLeader().split(","); for (int i = 0; i < leaderIds.length ; i++) { Map<String,String> leader = comSwPatrolRecordDAO.getPbServiceTeamById(leaderIds[i]); if(leader != null){ if(i != 0){ leaderNameString.append(","); leaderPhoneString.append(","); } leaderNameString.append(leader.get("name")); leaderPhoneString.append(leader.get("phone")); } } comSwRotaVO.setLeaderName(leaderNameString.toString()); comSwRotaVO.setLeaderPhone(leaderPhoneString.toString()); } //值班人员id查询值班人员的名字和电话 StringBuilder personNameString = new StringBuilder(); StringBuilder personPhoneString = new StringBuilder(); if(StringUtils.isNotEmpty(comSwRotaVO.getRotaPerson())){ String[] personIds = comSwRotaVO.getRotaPerson().split(","); for (int i = 0; i < personIds.length ; i++) { Map<String,String> person = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]); if(person != null){ if(i != 0){ personNameString.append(","); personPhoneString.append(","); } personNameString.append(person.get("name")); personPhoneString.append(person.get("phone")); } } comSwRotaVO.setPersonName(personNameString.toString()); comSwRotaVO.setPersonPhone(personPhoneString.toString()); } }); } return R.ok(iPage); } @Override public R detailRota(Long rotaId) { ComSwRotaVO comSwRotaVO = new ComSwRotaVO(); ComSwRotaDO comSwRotaDO = comSwRotaDAO.selectById(rotaId); if (null == comSwRotaDO) { return R.fail("该值班表不存在"); } BeanUtils.copyProperties(comSwRotaDO,comSwRotaVO); comSwRotaVO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").format(comSwRotaDO.getRotaDate())); comSwRotaVO.setWeekDay(DateUtils.dateToWeek(comSwRotaVO.getRotaDate())); StringBuilder leaderNameString = new StringBuilder(); StringBuilder leaderPhoneString = new StringBuilder(); //值班领导id查询值班领导的名字和电话 if(StringUtils.isNotEmpty(comSwRotaDO.getRotaLeader())){ String[] leaderIds = comSwRotaDO.getRotaLeader().split(","); for (int i = 0; i < leaderIds.length ; i++) { Map<String,String> leader = comSwPatrolRecordDAO.getPbServiceTeamById(leaderIds[i]); if(leader != null){ if(i != 0){ leaderNameString.append(","); leaderPhoneString.append(","); } leaderNameString.append(leader.get("name")); leaderPhoneString.append(leader.get("phone")); } } comSwRotaVO.setLeaderName(leaderNameString.toString()); comSwRotaVO.setLeaderPhone(leaderPhoneString.toString()); } //值班人员id查询值班人员的名字和电话 StringBuilder personNameString = new StringBuilder(); StringBuilder personPhoneString = new StringBuilder(); if(StringUtils.isNotEmpty(comSwRotaDO.getRotaPerson())){ String[] personIds = comSwRotaDO.getRotaPerson().split(","); for (int i = 0; i < personIds.length ; i++) { Map<String,String> person = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]); if(person != null){ if(i != 0){ personNameString.append(","); personPhoneString.append(","); } personNameString.append(person.get("name")); personPhoneString.append(person.get("phone")); } } comSwRotaVO.setPersonName(personNameString.toString()); comSwRotaVO.setPersonPhone(personPhoneString.toString()); } return R.ok(comSwRotaVO); } @Override public R addRota(List<ComSwRotaSaveDTO> comSwRotaSaveDTOs) { comSwRotaSaveDTOs.forEach(comSwRotaSaveDTO -> { try { if (comSwRotaSaveDTO.getId() != null && comSwRotaSaveDTO.getId() != 0) { ComSwRotaDO comSwRotaDO = new ComSwRotaDO(); BeanUtils.copyProperties(comSwRotaSaveDTO, comSwRotaDO); try { comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaSaveDTO.getRotaDate())); } catch (ParseException e) { e.printStackTrace(); } comSwRotaDAO.updateById(comSwRotaDO); } else { ComSwRotaDO comSwRotaDO = new ComSwRotaDO(); BeanUtils.copyProperties(comSwRotaSaveDTO, comSwRotaDO); comSwRotaDO.setId(Snowflake.getId()); try { comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaSaveDTO.getRotaDate())); comSwRotaDAO.insert(comSwRotaDO); } } catch (ParseException e) { e.printStackTrace(); } comSwRotaDAO.insert(comSwRotaDO); } }); return R.ok(); @@ -107,13 +213,13 @@ List<ComSwRotaPersonVO> rotaPersons = new ArrayList<>(); if (null != comSwRotaDO){ String rotaPerson = comSwRotaDO.getRotaPerson(); String rotaPersonName = comSwRotaDO.getPersonName(); String[] rotaPersonArray = rotaPerson.split(","); String[] rotaPersonNameArray = rotaPersonName.split(","); for (int i = 0; i <= rotaPersonArray.length - 1; i++){ ComSwRotaPersonVO comSwRotaPersonVO = new ComSwRotaPersonVO(); Map<String,String> person = comSwPatrolRecordDAO.getPbServiceTeamById(rotaPersonArray[i]); comSwRotaPersonVO.setId(Long.valueOf(rotaPersonArray[i])); comSwRotaPersonVO.setName(rotaPersonNameArray[i]); comSwRotaPersonVO.setName(person.get("name")); comSwRotaPersonVO.setPhone(Long.valueOf(person.get("phone"))); rotaPersons.add(comSwRotaPersonVO); } } @@ -131,13 +237,13 @@ List<ComSwRotaPersonVO> rotaLeaders = new ArrayList<>(); if (null != comSwRotaDO){ String rotaPerson = comSwRotaDO.getRotaLeader(); String rotaPersonName = comSwRotaDO.getLeaderName(); String[] rotaPersonArray = rotaPerson.split(","); String[] rotaPersonNameArray = rotaPersonName.split(","); for (int i = 0; i <= rotaPersonArray.length - 1; i++){ ComSwRotaPersonVO comSwRotaPersonVO = new ComSwRotaPersonVO(); Map<String,String> leader = comSwPatrolRecordDAO.getPbServiceTeamById(rotaPersonArray[i]); comSwRotaPersonVO.setId(Long.valueOf(rotaPersonArray[i])); comSwRotaPersonVO.setName(rotaPersonNameArray[i]); comSwRotaPersonVO.setName(leader.get("name")); comSwRotaPersonVO.setPhone(Long.valueOf(leader.get("phone"))); rotaLeaders.add(comSwRotaPersonVO); } } @@ -148,4 +254,38 @@ public R getTotlePerson(String param, Long communityId) { return userService.listActivityManager(param,communityId); } @Override public R listSaveSwRotaExcelVO(List<ComSwRotaExcelVO> list, Long communityId) { List<ComSwRotaDO> comSwRotaDOS = new ArrayList<>(); list.forEach(comSwRotaExcelVO -> { ComSwRotaDO comSwRotaDO = new ComSwRotaDO(); String[] leaderPhones = comSwRotaExcelVO.getLeaderPhone().split(","); List<String> leaderIds = new ArrayList<>(); for (String leaderPhone : leaderPhones) { String id = comSwRotaDAO.getTeamIdsByTeamPhone(leaderPhone); leaderIds.add(id); } String[] personPhones = comSwRotaExcelVO.getPersonPhone().split(","); List<String> personIds = new ArrayList<>(); for (String personPhone : personPhones) { String id = comSwRotaDAO.getTeamIdsByTeamPhone(personPhone); personIds.add(id); } BeanUtils.copyProperties(comSwRotaExcelVO, comSwRotaDO); comSwRotaDO.setId(Snowflake.getId()); comSwRotaDO.setCommunityId(communityId); try { comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaExcelVO.getRotaDate())); } catch (ParseException e) { e.printStackTrace(); } comSwRotaDO.setRotaLeader(StringUtils.join(leaderIds, ",")); comSwRotaDO.setRotaPerson(StringUtils.join(personIds, ",")); comSwRotaDOS.add(comSwRotaDO); }); this.saveBatch(comSwRotaDOS); return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml
@@ -137,7 +137,8 @@ <select id="exportDangerReport" resultType="com.panzhihua.common.model.vos.community.ComSwDangerReportExcelVO" parameterType="java.util.List"> SELECT cspr.patrol_person AS patrolPerson, cspr.person_name AS personName, cspr.person_phone AS personPhone, cspr.address, csdr.remark, csdr.dager_description AS dagerDescription, springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwRotaMapper.xml
@@ -37,11 +37,20 @@ com_sw_rota csr where csr.community_id = #{comSwRotaPageDTO.communityId} <if test='comSwRotaPageDTO.rotaPerson != null and comSwRotaPageDTO.rotaPerson != ""'> AND csr.rota_person LIKE concat('%',#{comSwRotaPageDTO.rotaPerson},'%') AND (csr.rota_person LIKE concat('%',#{comSwRotaPageDTO.rotaPerson},'%') or csr.rota_leader LIKE concat('%',#{comSwRotaPageDTO.rotaPerson},'%') ) </if> <if test='comSwRotaPageDTO.phone != null and comSwRotaPageDTO.phone != ""'> AND csr.person_phone LIKE concat('%',#{comSwRotaPageDTO.phone},'%') AND (csr.person_phone LIKE concat('%',#{comSwRotaPageDTO.phone},'%') or csr.leader_phone LIKE concat('%',#{comSwRotaPageDTO.phone},'%') ) </if> order by csr.create_at desc </select> <select id="getTeamIdsByTeamPhone" resultType="java.lang.String"> select id from com_pb_service_team where phone = #{teamPhone} </select> </mapper>