tangxiaobao
2021-07-31 68d9932527d3fc879b0422d7d9c29d3f9437c65c
防火防汛接口开发
2个文件已添加
16个文件已修改
474 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComSwRotaExcelListen.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordAddDTO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwRotaPageDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwRotaSaveDTO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportExcelVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwRotaExcelVO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwRotaVO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwRotaDAO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwRotaService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwRotaServiceImpl.java 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwRotaMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>