zhanghua
2022-09-29 a8b2b318c1e6bb1ae155aa9ca6043eeb47bbfe7a
Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server

# Conflicts:
# ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
8个文件已修改
7个文件已添加
453 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/bo/casePool/CurrentSitVo.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/bo/casePool/FilesPictureVo.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/bo/casePool/HandlePassVo.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/bo/casePool/ProblemProVo.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/caseHandler/DispatchInfoParam.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/casePool/IllegalBuildingParam.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/casePool/ViolationParam.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCaseDetail.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/caseHandler/DispatchInfo.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/caseHandler/DisposeRecord.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/entity/caseHandler/WorkflowConfigStep.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/WorkflowConfigStepMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/bo/casePool/CurrentSitVo.java
New file
@@ -0,0 +1,34 @@
package com.ycl.bo.casePool;
import com.ycl.entity.caseHandler.ArrivalSituation;
import com.ycl.entity.caseHandler.Investigation;
import com.ycl.entity.caseHandler.Writ;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * <p>
 *  现场情况 类
 * </p>
 *
 * @author mg
 * @since 2022-09-29
 */
@Data
public class CurrentSitVo {
    /**
     * 到达现场情况
     */
    @ApiModelProperty(value = "到达现场情况",dataType = "ArrivalSituation")
    private ArrivalSituation arrivalSituation;
    /**
     * 调查取证
     */
    @ApiModelProperty(value = "调查取证",dataType = "Investigation")
    private Investigation investigation;
    /**
     * 告知违法
     */
    @ApiModelProperty(value = "告知违法",dataType = "Writ")
    private Writ writ;
}
ycl-platform/src/main/java/com/ycl/bo/casePool/FilesPictureVo.java
New file
@@ -0,0 +1,12 @@
package com.ycl.bo.casePool;
/**
 * <p>
 *  案卷图片 类
 * </p>
 *
 * @author mg
 * @since 2022-09-29
 */
public class FilesPictureVo {
}
ycl-platform/src/main/java/com/ycl/bo/casePool/HandlePassVo.java
New file
@@ -0,0 +1,25 @@
package com.ycl.bo.casePool;
import com.ycl.entity.caseHandler.WorkflowConfigStep;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * <p>
 * 办理经过类
 * </p>
 *
 * @author mg
 * @since 2022-09-29
 */
@Data
public class HandlePassVo {
    /**
     * 流程环节列表
     */
    @ApiModelProperty(value = "流程环节列表",dataType = "ArrivalSituation")
    private List<WorkflowConfigStep> workflowConfigSteps;
}
ycl-platform/src/main/java/com/ycl/bo/casePool/ProblemProVo.java
New file
@@ -0,0 +1,24 @@
package com.ycl.bo.casePool;
import com.ycl.entity.caseHandler.WorkflowConfigStep;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * <p>
 * 问题处理 类
 * </p>
 *
 * @author mg
 * @since 2022-09-29
 */
@Data
public class ProblemProVo {
    /**
     * 流程环节列表
     */
    @ApiModelProperty(value = "流程环节列表",dataType = "ArrivalSituation")
    private List<WorkflowConfigStep> workflowConfigSteps;
}
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -172,4 +172,23 @@
        baseCaseService.save(baseCase);
        return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId()));
    }
    @ApiOperation(value = "案件详情")
    @GetMapping("/baseCaseDetail/{code}")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "code", value = "事件编号")
    })
    public CommonResult baseCaseDetail(@PathVariable(value = "code") String code) {
        return CommonResult.success(baseCaseService.baseCaseDetail(code));
    }
    @ApiOperation("人工路径案件图片展示")
    @GetMapping("/hand_work_case_images")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer")
    })
    public CommonResult queryCaseImages(@RequestParam Integer id,@RequestParam Integer type){
        return CommonResult.success(baseCaseService.listCaseImages(id,type));
    }
}
ycl-platform/src/main/java/com/ycl/dto/caseHandler/DispatchInfoParam.java
@@ -1,6 +1,7 @@
package com.ycl.dto.caseHandler;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -16,41 +17,49 @@
     * 执法人员
     */
    @JsonProperty("lawEnforcer")
    @ApiModelProperty(value = "执法人员",dataType = "Integer")
    private Integer lawEnforcer;
    /**
     * 执法人员姓名
     */
    @JsonProperty("lawEnforcerName")
    @ApiModelProperty(value = "执法人员姓名",dataType = "String")
    private String lawEnforcerName;
    /**
     * 执法车
     */
    @JsonProperty("enforcementCar")
    @ApiModelProperty(value = "执法车",dataType = "Integer")
    private Integer enforcementCar;
    /**
     * 执法队伍
     */
    @JsonProperty("enforcementTeam")
    @ApiModelProperty(value = "执法队伍",dataType = "String")
    private String enforcementTeam;
    /**
     * 联系方式
     */
    @JsonProperty("contactWay")
    @ApiModelProperty(value = "联系方式",dataType = "String")
    private String contactWay;
    /**
     * 距离
     */
    @JsonProperty("distance")
    @ApiModelProperty(value = "距离",dataType = "Integer")
    private Integer distance;
    /**
     * 处置日期
     */
    @JsonProperty("disposeDate")
    @ApiModelProperty(value = "处置日期",dataType = "String")
    private String disposeDate;
    /**
     * 派遣意见
     */
    @JsonProperty("dispatchOpinion")
    @ApiModelProperty(value = "派遣意见",dataType = "String")
    private String dispatchOpinion;
}
ycl-platform/src/main/java/com/ycl/dto/casePool/IllegalBuildingParam.java
@@ -11,14 +11,14 @@
    /**
     * 问题类别(1-违规 2-违建)
     */
    @ApiModelProperty(value = "问题类别(1-违规 2-违建", dataType = "Integer")
    @ApiModelProperty(value = "问题类别(1-违规 2-违建")
    @NotNull(message = "不允许问题类型为空")
    private Integer category;
    /**
     * 违建类别
     */
    @ApiModelProperty(value = "违建类别", dataType = "Integer")
    @ApiModelProperty(value = "违建类别")
    @NotBlank(message = "不允许违建类别为空")
    private Integer categoryId;
@@ -26,7 +26,7 @@
    /**
     * 所属社区
     */
    @ApiModelProperty(value = "所属社区", dataType = "Integer")
    @ApiModelProperty(value = "所属社区")
    @NotBlank(message = "不允许所属社区为空")
    private Integer communityId;
@@ -35,84 +35,84 @@
    /**
     * 报警点位 事发地点
     */
    @ApiModelProperty(value = "事发地点", dataType = "String")
    @ApiModelProperty(value = "事发地点")
    @NotBlank(message = "不允许事发地点为空")
    private String site;
    /**
     * 当事人姓名
     */
    @ApiModelProperty(value = "当事人姓名", dataType = "String")
    @ApiModelProperty(value = "当事人姓名")
    @NotBlank(message = "不允许当事人姓名为空")
    private String partyName;
    /**
     * 当事人身份证号码
     */
    @ApiModelProperty(value = "当事人身份证号码", dataType = "String")
    @ApiModelProperty(value = "当事人身份证号码")
    @NotBlank(message = "不允许当事人身份证号码为空")
    private String partyIdCard;
    /**
     * 当事人联系电话
     */
    @ApiModelProperty(value = "事发地点", dataType = "String")
    @ApiModelProperty(value = "事发地点")
    @NotBlank(message = "不允许事发地点为空")
    private String partyPhone;
    /**
     * 身份证正面
     */
    @ApiModelProperty(value = "身份证正面", dataType = "String")
    @ApiModelProperty(value = "身份证正面")
    @NotBlank(message = "不允许身份证正面为空")
    private String positive;
    /**
     * 身份证反面
     */
    @ApiModelProperty(value = "身份证反面", dataType = "String")
    @ApiModelProperty(value = "身份证反面")
    @NotBlank(message = "不允许身份证反面为空")
    private String negative;
    /**
     * 违建具体位置
     */
    @ApiModelProperty(value = "违建具体位置", dataType = "String")
    @ApiModelProperty(value = "违建具体位置")
    @NotBlank(message = "不允许违建具体位置为空")
    private String position;
    /**
     * 违建长
     */
    @ApiModelProperty(value = "违建长", dataType = "String")
    @ApiModelProperty(value = "违建长")
    @NotBlank(message = "不允许违建长为空")
    private Float buildingLength;
    /**
     * 违建宽
     */
    @ApiModelProperty(value = "违建宽", dataType = "String")
    @ApiModelProperty(value = "违建宽")
    @NotBlank(message = "不允许违建宽为空")
    private Float buildingWidth;
    /**
     * 违建高
     */
    @ApiModelProperty(value = "违建高", dataType = "String")
    @ApiModelProperty(value = "违建高")
    @NotBlank(message = "不允许违建高为空")
    private Float buildingHigh;
    /**
     * 违建面积
     */
    @ApiModelProperty(value = "违建面积", dataType = "String")
    @ApiModelProperty(value = "违建面积")
    @NotBlank(message = "不允许违建面积为空")
    private Float buildingArea;
    /**
     * 违建材料
     */
    @ApiModelProperty(value = "违建材料", dataType = "String")
    @ApiModelProperty(value = "违建材料")
    @NotBlank(message = "不允许违建材料为空")
    private String materials;
}
ycl-platform/src/main/java/com/ycl/dto/casePool/ViolationParam.java
@@ -11,35 +11,35 @@
    /**
     * 问题类别(1-违规 2-违建)
     */
    @ApiModelProperty(value = "问题类别(1-违规 2-违建", dataType = "Integer")
    @ApiModelProperty(value = "问题类别(1-违规 2-违建")
    @NotNull(message = "不允许问题类型为空")
    private Integer category;
    /**
     * 大类
     */
    @ApiModelProperty(value = "大类", dataType = "Integer")
    @ApiModelProperty(value = "大类")
    @NotNull(message = "不允许大类为空")
    private Integer categoryId;
    /**
     * 小类
     */
    @ApiModelProperty(value = "小类", dataType = "Integer")
    @ApiModelProperty(value = "小类")
    @NotNull(message = "不允许小类为空")
    private Integer typeId;
    /**
     * 所属街道
     */
    @ApiModelProperty(value = "所属街道", dataType = "Integer")
    @ApiModelProperty(value = "所属街道")
    @NotNull(message = "不允许所属街道为空")
    private Integer streetId;
    /**
     * 所属社区
     */
    @ApiModelProperty(value = "所属社区", dataType = "Integer")
    @ApiModelProperty(value = "所属社区")
    @NotBlank(message = "不允许所属社区为空")
    private Integer communityId;
@@ -47,7 +47,7 @@
    /**
     * 案由
     */
    @ApiModelProperty(value = "案由", dataType = "String")
    @ApiModelProperty(value = "案由")
    @NotBlank(message = "不允许案由为空")
    private String actionCause;
@@ -55,50 +55,50 @@
    /**
     * 报警点位 事发地点
     */
    @ApiModelProperty(value = "事发地点", dataType = "String")
    @ApiModelProperty(value = "事发地点")
    @NotBlank(message = "不允许事发地点为空")
    private String site;
    /**
     * 是否关联商铺
     */
    @ApiModelProperty(value = "是否关联商铺", dataType = "Boolean")
    @ApiModelProperty(value = "是否关联商铺(0否1是)")
    private Integer linkShop;
    /**
     * 关联商铺名称
     */
    @ApiModelProperty(value = "关联商铺名称", dataType = "String")
    @ApiModelProperty(value = "关联商铺名称")
    private String shopName;
    /**
     * 车牌号
     */
    @ApiModelProperty(value = "车牌号", dataType = "String")
    @ApiModelProperty(value = "车牌号")
    private String carNumber;
    /**
     * 问题描述
     */
    @ApiModelProperty(value = "问题描述", dataType = "String")
    @ApiModelProperty(value = "问题描述")
    @NotBlank(message = "不允许问题描述为空")
    private String description;
    /**
     * 反映人
     */
    @ApiModelProperty(value = "反映人", dataType = "String")
    @ApiModelProperty(value = "反映人")
    private String informant;
    /**
     * 反映人联系方式
     */
    @ApiModelProperty(value = "反映人联系方式", dataType = "String")
    @ApiModelProperty(value = "反映人联系方式")
    private String informantPhoneCode;
    /**
     * 身份证号码
     */
    @ApiModelProperty(value = "身份证号码", dataType = "String")
    @ApiModelProperty(value = "身份证号码")
    private String informantIdCard;
}
ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCaseDetail.java
New file
@@ -0,0 +1,50 @@
package com.ycl.entity.caseHandler;
import com.ycl.bo.casePool.CurrentSitVo;
import com.ycl.bo.casePool.FilesPictureVo;
import com.ycl.bo.casePool.HandlePassVo;
import com.ycl.bo.casePool.ProblemProVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
 * <p>
 *  案件详情类
 * </p>
 *
 * @author mg
 * @since 2022-09-29
 */
@Data
public class BaseCaseDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 案件基本信息
     */
    @ApiModelProperty(value = "案件基本信息",dataType = "BaseCase")
    private BaseCase baseCase;
    /**
     * 办理经过
     */
    @ApiModelProperty(value = "办理经过",dataType = "HandlePassVo")
    private HandlePassVo handlePassVo;
    /**
     * 案卷图片
     */
    @ApiModelProperty(value = "案卷图片",dataType = "FilesPictureVo")
    private FilesPictureVo filesPictureVo;
    /**
     * 问题处理
     */
    @ApiModelProperty(value = "问题处理",dataType = "ProblemProVo")
    private ProblemProVo problemProVo;
    /**
     * 现场处理
     */
    @ApiModelProperty(value = "现场处理",dataType = "CurrentSitVo")
    private CurrentSitVo currentSitVo;
}
ycl-platform/src/main/java/com/ycl/entity/caseHandler/DispatchInfo.java
@@ -4,9 +4,11 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
@@ -20,7 +22,7 @@
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ums_dispatch_info")
public class DispatchInfo {
public class DispatchInfo implements Serializable {
    private static final long serialVersionUID = 1L;
@@ -28,62 +30,74 @@
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "id",dataType = "Integer")
    private Integer id;
    /**
     * 处置流程记录Id
     */
    @TableField("dispose_record_id")
    @ApiModelProperty(value = "处置流程记录Id",dataType = "Integer")
    private Integer disposeRecordId;
    /**
     * 执法人员
     */
    @TableField("law_enforcer")
    @ApiModelProperty(value = "执法人员",dataType = "Integer")
    private Integer lawEnforcer;
    /**
     * 执法人员姓名
     */
    @TableField("law_enforcer_name")
    @ApiModelProperty(value = "执法人员姓名",dataType = "String")
    private String lawEnforcerName;
    /**
     * 执法车
     */
    @TableField("enforcement_car")
    @ApiModelProperty(value = "执法车",dataType = "Integer")
    private Integer enforcementCar;
    /**
     * 执法队伍
     */
    @TableField("enforcement_team")
    @ApiModelProperty(value = "执法队伍",dataType = "String")
    private String enforcementTeam;
    /**
     * 联系方式
     */
    @TableField("contact_way")
    @ApiModelProperty(value = "联系方式",dataType = "String")
    private String contactWay;
    /**
     * 距离
     */
    @TableField("distance")
    @ApiModelProperty(value = "距离",dataType = "Integer")
    private Integer distance;
    /**
     * 处置日期
     */
    @TableField("dispose_date")
    @ApiModelProperty(value = "处置日期",dataType = "Date")
    private Date disposeDate;
    /**
     * 派遣意见
     */
    @TableField("dispatch_opinion")
    @ApiModelProperty(value = "派遣意见",dataType = "String")
    private String dispatchOpinion;
    /**
     * 创建人
     */
    @TableField("create_user")
    @ApiModelProperty(value = "创建人",dataType = "Integer")
    private Integer createUser;
    /**
     * 创建时间
     */
    @TableField("create_time")
    @ApiModelProperty(value = "创建时间",dataType = "Date")
    private Date createTime;
}
ycl-platform/src/main/java/com/ycl/entity/caseHandler/DisposeRecord.java
@@ -83,4 +83,16 @@
    private LocalDateTime createTime;
    /**
     * 结果
     */
    @TableField("result")
    private String result;
    /**
     * 限制时限
     */
    @TableField("limit_time")
    private LocalDateTime limitTime;
}
ycl-platform/src/main/java/com/ycl/entity/caseHandler/WorkflowConfigStep.java
New file
@@ -0,0 +1,59 @@
package com.ycl.entity.caseHandler;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
 * <p>
 * 处置流程环节配置 类
 * </p>
 *
 * @author mg
 * @since 2022-09-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ums_workflow_config_step")
public class WorkflowConfigStep implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "id",dataType = "Integer")
    private Integer id;
    /**
     * 处置流程配置id
     */
    @TableField(value = "workflow_config_id ")
    @ApiModelProperty(value = "处置流程配置id",dataType = "Integer")
    private Integer workflowConfigId ;
    /**
     * 环节名称
     */
    @TableField("name")
    @ApiModelProperty(value = "环节名称",dataType = "String")
    private String name;
    /**
     * 对应角色id
     */
    @TableField(value = "role_id ")
    @ApiModelProperty(value = "对应角色id",dataType = "Integer")
    private Integer roleId ;
    /**
     * 序号
     */
    @TableField(value = "seq ")
    @ApiModelProperty(value = "序号",dataType = "Integer")
    private Integer seq ;
}
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/WorkflowConfigStepMapper.java
New file
@@ -0,0 +1,15 @@
package com.ycl.mapper.caseHandler;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.entity.caseHandler.WorkflowConfigStep;
/**
 * <p>
 * 处置流程环节配置表 Mapper 接口
 * </p>
 *
 * @author mg
 * @since 2022-09-29
 */
public interface WorkflowConfigStepMapper extends BaseMapper<WorkflowConfigStep> {
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
@@ -1,10 +1,13 @@
package com.ycl.service.caseHandler;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.ViolationParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.caseHandler.BaseCaseDetail;
import java.util.ArrayList;
/**
 * <p>
@@ -41,4 +44,8 @@
     * @date 2022-09-28 17:45
     */
    String processEvent(Integer caseId);
    BaseCaseDetail baseCaseDetail(String code);
    ArrayList<String> listCaseImages(Integer id, Integer type);
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -1,22 +1,19 @@
package com.ycl.service.caseHandler.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.casePool.CasePoolIllegalBuildingDO;
import com.ycl.bo.casePool.CasePoolViolationDO;
import com.ycl.bo.casePool.*;
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.ViolationParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.IllegalBuilding;
import com.ycl.entity.caseHandler.Violations;
import com.ycl.entity.caseHandler.*;
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.mapper.caseHandler.BaseCaseMapper;
import com.ycl.mapper.caseHandler.IllegalBuildingMapper;
import com.ycl.mapper.caseHandler.ViolationsMapper;
import com.ycl.mapper.caseHandler.*;
import com.ycl.mapper.dict.DataDictionaryMapper;
import com.ycl.remote.dto.*;
import com.ycl.remote.service.CityPlatformService;
import com.ycl.remote.dto.EventAddParamDto;
import com.ycl.remote.dto.EventProcessParamDto;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.video.IVideoAlarmReportService;
@@ -31,6 +28,7 @@
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -75,6 +73,19 @@
    ViolationsMapper violationsMapper;
    @Resource
    IllegalBuildingMapper illegalBuildingMapper;
    @Resource
    ArrivalSituationMapper arrivalSituationMapper;
    @Resource
    InvestigationMapper investigationMapper;
    @Resource
    WritMapper writMapper;
    @Resource
    WorkflowConfigStepMapper workflowConfigStepMapper;
    @Resource
    WorkflowConfigMapper workflowConfigMapper;
    @Override
    public String uploadEvent(Integer caseId) {
@@ -192,4 +203,84 @@
        Integer value = 1;
        return illegalBuildingMapper.insert(illegalBuilding) == value ? true : false;
    }
    @Override
    public BaseCaseDetail baseCaseDetail(String code) {
        BaseCaseDetail bcd = new BaseCaseDetail();
        //1.查询案件基本信息
        QueryWrapper<BaseCase> wrapper = new QueryWrapper<>();
        wrapper.lambda().eq(BaseCase::getCode, code);
        BaseCase baseCase = baseCaseMapper.selectOne(wrapper);
        bcd.setBaseCase(baseCase);
        //2.查询办理经过信息
        //2.1查询处置流程配置
        HandlePassVo handlePassVo = new HandlePassVo();
        QueryWrapper<WorkflowConfig> wrapperWc = new QueryWrapper<>();
        wrapperWc.lambda().eq(WorkflowConfig::getCode, "ddlc").or().eq(WorkflowConfig::getCode, "wtcllc");
        List<WorkflowConfig> wcs = workflowConfigMapper.selectList(wrapperWc);
        Integer ddlcId=0,wtcllcId=0;
        for (WorkflowConfig wc : wcs) {
            if ("ddlc".equals(wc.getCode())) {
                ddlcId = wc.getId();
            }
            if ("wtcllc".equals(wc.getCode())) {
                wtcllcId = wc.getId();
            }
        }
        //2.2查询处置流程环节配置
        QueryWrapper<WorkflowConfigStep> wrapperWcs = new QueryWrapper<>();
        wrapperWcs.lambda().eq(WorkflowConfigStep::getWorkflowConfigId, ddlcId);
        List<WorkflowConfigStep> listWcs = workflowConfigStepMapper.selectList(wrapperWcs);
        //2.3设置调度流程
        handlePassVo.setWorkflowConfigSteps(listWcs);
        bcd.setHandlePassVo(handlePassVo);
        //3.查询案卷图片信息
        //4.查询问题处理信息
        ProblemProVo problemProVo = new ProblemProVo();
        //4.2查询处置流程环节配置
        QueryWrapper<WorkflowConfigStep> wrapperWcsPp = new QueryWrapper<>();
        wrapperWcsPp.lambda().eq(WorkflowConfigStep::getWorkflowConfigId, wtcllcId);
        List<WorkflowConfigStep> listWcsPp = workflowConfigStepMapper.selectList(wrapperWcsPp);
        //4.3设置调度流程
        problemProVo.setWorkflowConfigSteps(listWcsPp);
        bcd.setProblemProVo(problemProVo);
        //5.查询现场情况信息
        CurrentSitVo currentSitVo = new CurrentSitVo();
        QueryWrapper<ArrivalSituation> wrapperAs = new QueryWrapper<>();
        //设置到达现场情况
        ArrivalSituation as = arrivalSituationMapper.selectOne(wrapperAs);
        currentSitVo.setArrivalSituation(as);
        //设置调查取证
        QueryWrapper<Investigation> wrapperI = new QueryWrapper<>();
        wrapperI.lambda().eq(Investigation::getBaseCaseId, baseCase.getId());
        Investigation investigation = investigationMapper.selectOne(wrapperI);
        currentSitVo.setInvestigation(investigation);
        //设置告知违法
        QueryWrapper<Writ> wrapperW = new QueryWrapper<>();
        wrapperW.lambda().eq(Writ::getBaseCaseId, baseCase.getId());
        Writ writ = writMapper.selectOne(wrapperW);
        currentSitVo.setWrit(writ);
        bcd.setCurrentSitVo(currentSitVo);
        return bcd;
    }
    @Override
    public ArrayList<String> listCaseImages(Integer id, Integer type) {
        Integer illegalBuildingType = 02;
        ArrayList<String> caseImages = new ArrayList<>();
        caseImages.add(investigationMapper
                .selectOne(new LambdaQueryWrapper<Investigation>()
                        .eq(Investigation::getBaseCaseId, id)).getPic());
        caseImages.add(arrivalSituationMapper
                .selectOne(new LambdaQueryWrapper<ArrivalSituation>()
                        .eq(ArrivalSituation::getBaseCaseId, id)).getSituationPic());
        if (type == illegalBuildingType) {
            Writ writ = writMapper.selectOne(new LambdaQueryWrapper<Writ>().eq(Writ::getBaseCaseId, id));
            caseImages.add(writ.getWritPic());
            caseImages.add(writ.getOriginalPic());
            caseImages.add(writ.getOtherPic());
            caseImages.add(writ.getRectifiedPic());
        }
        return caseImages;
    }
}