forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-09-24 516b72eb08a931d97dcfaf154d1761e6b4ec7b28
态势分析-区域选择更换
4 files deleted
1 files added
10 files modified
776 ■■■■ changed files
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/QueAreaDTO.java 23 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAreaWebController.java 171 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java 43 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAreaMapper.java 64 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAreaMapper.xml 139 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml 13 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeExcelDTO.java 23 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java 25 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseStatisticsAreaDTO.java 1 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAreaService.java 137 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java 70 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java 9 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java 21 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java 18 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java 19 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/QueAreaDTO.java
New file
@@ -0,0 +1,23 @@
package cn.huge.module.sys.dto;
import lombok.Data;
/**
 * @author zhouxiantao
 * @create 2024-09-24 17:59
 */
@Data
public class QueAreaDTO {
    /**
     * 区域编码
     */
    private String areaCode;
    /**
     * 区域名称
     */
    private String areaName;
    /**
     * 父级区域编码
     */
    private String parentId;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAreaWebController.java
File was deleted
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
@@ -104,18 +104,27 @@
        String peopleNum = request.getParameter("peopleNum");
        if (StringUtils.isNotBlank(peopleNum)){
            String[] split = peopleNum.split("-");
            terms.put("peopleNumStart", split[0]);
            if(split.length>1){
                terms.put("peopleNumEnd", split[1]);
            String number = split[0];
            if(number.equals("0") && split.length==1){
                terms.put("peopleNumEnd", split[0]);
            }else{
                terms.put("peopleNumStart", split[0]);
                if(split.length>1){
                    terms.put("peopleNumEnd", split[1]);
                }
            }
        }
        String amount = request.getParameter("amount");
        if (StringUtils.isNotBlank(amount)){
            String[] split = amount.split("-");
            terms.put("amountStart", split[0]);
            if(split.length>1){
                terms.put("amountEnd", split[1]);
            String number = split[0];
            if(number.equals("0") && split.length==1){
                terms.put("amountEnd", split[0]);
            }else{
                terms.put("amountStart", split[0]);
                if(split.length>1){
                    terms.put("amountEnd", split[1]);
                }
            }
        }
        return terms;
@@ -647,24 +656,8 @@
                    CaseInfoWeExcelDTO caseInfoWeExcelDTO = new CaseInfoWeExcelDTO();
                    BeanUtils.copyProperties(casePageDTO,caseInfoWeExcelDTO);
                    caseInfoWeExcelDTO.setCloseTime(DateUtils.DateToString(casePageDTO.getCloseTime(), DateUtils.YYYY_MM_DD));
                    if(ObjectUtils.isNotEmpty(casePageDTO.getPlaintiffList())){
                        StringBuffer sb = new StringBuffer();
                        for (CasePersonWeDTO casePersonWeDTO : casePageDTO.getPlaintiffList()) {
                            sb.append(casePersonWeDTO.getTrueName()).append(",");
                        }
                        if(ObjectUtils.isNotEmpty(sb)){
                            caseInfoWeExcelDTO.setPlaintiffStr(sb.substring(0,sb.length()-1));
                        }
                    }
                    if(ObjectUtils.isNotEmpty(casePageDTO.getDefendantList())){
                        StringBuffer sb = new StringBuffer();
                        for (CasePersonWeDTO casePersonWeDTO : casePageDTO.getDefendantList()) {
                            sb.append(casePersonWeDTO.getTrueName()).append(",");
                        }
                        if(ObjectUtils.isNotEmpty(sb)){
                            caseInfoWeExcelDTO.setDefendantStr(sb.substring(0,sb.length()-1));
                        }
                    }
                    caseInfoWeExcelDTO.setCreateTime(DateUtils.DateToString(casePageDTO.getCreateTime(), DateUtils.YYYY_MM_DD));
                    caseInfoWeExcelDTO.setCaseTypeName(casePageDTO.getCaseTypeFirstName()+"/"+casePageDTO.getCaseTypeName());
                    excelList.add(caseInfoWeExcelDTO);
                }
            }
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseAreaMapper.java
File was deleted
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAreaMapper.xml
File was deleted
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -105,6 +105,11 @@
        <result property="createTime" column="create_time"/>
        <result property="plaintiffs" column="plaintiffs"/>
        <result property="defendants" column="defendants"/>
        <result property="queCityName" column="que_city_name"/>
        <result property="queAreaName" column="que_area_name"/>
        <result property="queRoadName" column="que_road_name"/>
        <result property="caseTypeFirst" column="case_type_first"/>
        <result property="caseTypeFirstName" column="case_type_first_name"/>
    </resultMap>
    <!-- 表 -->
    <sql id='table-name'>dyh_case_info</sql>
@@ -122,6 +127,11 @@
        a.create_time,
        a.plaintiffs,
        a.defendants,
        a.que_city_name,
        a.que_area_name,
        a.que_road_name,
        a.case_type_first,
        a.case_type_first_name,
        b.medi_result,
        b.medi_result_name,
        b.mediate_unit_id,
@@ -804,7 +814,8 @@
        count(1) as caseNum,
        sum(case when b.medi_result = '22_00025-1' then 1 else 0 end) as resolveNum,
        sum(case when b.medi_result is null and a.info_process <![CDATA[ < ]]> 4 then 1 else 0 end) as resolveingNum,
        sum(case when b.medi_result = '22_00025-2' then 1 else 0 end) as unResolveNum
        sum(case when b.medi_result = '22_00025-2' then 1 else 0 end) as unResolveNum,
        sum(case when a.info_process = 4 then 1 else 0 end) as rejectNum
        FROM
        dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id
        <include refid="where-part-all"/>
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoWeExcelDTO.java
@@ -9,8 +9,12 @@
 */
@Data
public class CaseInfoWeExcelDTO {
    @ExcelProperty(value="事项状态")
    private String statusName;
    @ExcelProperty(value="登记时间")
    private String createTime;
    @ExcelProperty(value="登记机构")
    private String inputUnitName;
    @ExcelProperty(value="问题归属地")
    private String areaName;
    @ExcelProperty(value="事项来源")
    private String canalName;
    @ExcelProperty(value="事项等级")
@@ -19,16 +23,15 @@
    private String caseTypeName;
    @ExcelProperty(value="承办部门")
    private String mediateUnitName;
    @ExcelProperty(value="配合部门")
    private String assistUnitName;
    @ExcelProperty(value="化解结果")
    private String mediResultName;
    @ExcelProperty(value="事项状态")
    private String statusName;
    @ExcelProperty(value="办结时间")
    private String closeTime;
    @ExcelProperty(value="化解结果")
    private String mediResultName;
    @ExcelProperty(value="申请人")
    private String plaintiffStr;
    private String plaintiffs;
    @ExcelProperty(value="被申请人")
    private String defendantStr;
    @ExcelProperty(value="登记机构")
    private String inputUnitName;
    private String defendants;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
@@ -48,6 +48,15 @@
     * 纠纷类型名称
     */
    private String caseTypeName;
    /**
     * 纠纷一级类型
     */
    private String caseTypeFirst;
    /**
     * 纠纷一级类型名称
     */
    private String caseTypeFirstName;
    /**
     * 调解结果
@@ -127,4 +136,20 @@
     * 被申请方当事人名称
     */
    private String defendants;
    /**
     * 问题归属地
     * */
    private String areaName;
    /**
     * 问题属地市名称
     */
    private String queCityName;
    /**
     * 问题属地区名称
     */
    private String queAreaName;
    /**
     * 问题属地街道名称
     */
    private String queRoadName;
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseStatisticsAreaDTO.java
@@ -14,4 +14,5 @@
    private Integer resolveNum=0;//化解成功数量
    private Integer resolveingNum=0;//化解中数量
    private Integer unResolveNum=0;//化解不成功数量
    private Integer rejectNum=0;//不予受理数量
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAreaService.java
File was deleted
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -19,6 +19,7 @@
import cn.huge.module.mediate.dto.WechatBindCaseDTO;
import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
import cn.huge.module.sys.dto.QueAddrBaseDTO;
import cn.huge.module.sys.dto.QueAreaDTO;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -84,9 +85,6 @@
    @Autowired
    private CaseEvaluateService caseEvaluateService;
    @Autowired
    private CaseAreaService caseAreaService;
    /**
@@ -911,6 +909,26 @@
        List<CasePageDTO> content = mapper.pageTermsAll(page, terms);
        if (ObjectUtils.isNotEmpty(content)) {
            for (CasePageDTO casePageDTO : content) {
                if(ObjectUtils.isNotEmpty(casePageDTO.getQueRoadName())){
                    casePageDTO.setAreaName(casePageDTO.getQueRoadName());
                }else if(ObjectUtils.isNotEmpty(casePageDTO.getAreaName())){
                    casePageDTO.setAreaName(casePageDTO.getAreaName());
                }else if(ObjectUtils.isNotEmpty(casePageDTO.getQueCityName())){
                    casePageDTO.setAreaName(casePageDTO.getQueCityName());
                }
                if(ObjectUtils.isNotEmpty(casePageDTO.getCaseLevel())){
                    switch (casePageDTO.getCaseLevel()){
                        case 1:
                            casePageDTO.setCanalName("一级");
                            break;
                        case 2:
                            casePageDTO.setCanalName("二级");
                            break;
                        case 3:
                            casePageDTO.setCanalName("三级");
                            break;
                    }
                }
                QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>();
                personWrapper1.eq("case_id", casePageDTO.getId());
                List<CasePerson> casePersonList1 = personService.list(personWrapper1);
@@ -963,9 +981,9 @@
            areaCodeList.add(caseStatisticsAreaDTO.getAreaCode());
        }
        caseStatisticsAreaDTOS.add(allArea);
        List<CaseArea> queArea = listAreaByType(terms.get("areaType"), terms.get("queArea"));
        List<QueAreaDTO> queArea = listAreaByType(terms.get("queArea"));
        log.info("listAreaByType {}", JSON.toJSONString(queArea));
        for (CaseArea caseAreaDTO : queArea) {
        for (QueAreaDTO caseAreaDTO : queArea) {
            if (!areaCodeList.contains(caseAreaDTO.getAreaCode())) {
                CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO();
                areaChild.setAreaCode(caseAreaDTO.getAreaCode());
@@ -1071,8 +1089,24 @@
    }
    public List<CaseStatisticsAreaDTO> sortArea(List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS) {
        Map<String, String> map = new HashMap<>();
        map.put("越秀区","2");
        map.put("海珠区","3");
        map.put("荔湾区","4");
        map.put("天河区","5");
        map.put("白云区","6");
        map.put("黄埔区","7");
        map.put("花都区","8");
        map.put("番禺区","9");
        map.put("南沙区","10");
        map.put("从化区","11");
        map.put("增城区","12");
        for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) {
            if(map.containsKey(caseStatisticsAreaDTO.getAreaName())){
                caseStatisticsAreaDTO.setAreaCode(map.get(caseStatisticsAreaDTO.getAreaName()));
            }
        }
        caseStatisticsAreaDTOS.sort((o1, o2) -> {
            log.info("xsd:{},{}",o1,o2);
            Integer totalScore1 = Integer.valueOf(o1.getAreaCode());
            Integer totalScore2 = Integer.valueOf(o2.getAreaCode());
            if (totalScore1 > totalScore2) {
@@ -1096,24 +1130,14 @@
    /**
     * 根据不同的等级获取不同区域子集合
     *
     * @param areaType 1-市级 2-区
     */
    public List<CaseArea> listAreaByType(Object areaType, Object areaCode) throws IOException {
        log.info("listAreaByType {},{}", areaType, areaCode);
        if (ObjectUtils.isEmpty(areaType) || areaType.equals("") || areaType.equals("1")) {
            QueryWrapper<CaseArea> caseAreaWrapper = new QueryWrapper<>();
            caseAreaWrapper.eq("parent_code","1601");
            List<CaseArea> list = caseAreaService.list(caseAreaWrapper);
            return list;
    public List<QueAreaDTO> listAreaByType(Object areaCode) {
        log.info("listAreaByType {},{}", areaCode);
        String parentId = "1601";
        if (ObjectUtils.isNotEmpty(areaCode)) {
            parentId = String.valueOf(areaCode);
        }
        if (areaType.equals("2")) {
            QueryWrapper<CaseArea> caseAreaWrapper = new QueryWrapper<>();
            caseAreaWrapper.eq("parent_code",areaCode);
            List<CaseArea> list = caseAreaService.list(caseAreaWrapper);
            return list;
        }
        return new ArrayList<>();
        List<QueAreaDTO> queAreaDTOS = sysClient.listByParentId(parentId);
        return queAreaDTOS;
    }
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
@@ -83,4 +83,13 @@
     */
    @PostMapping("/api/client/fileRelate/saveFileRelateList")
    ReturnBO saveFileRelateList(@RequestBody List<FileRelateDTO> fileRelateList);
    /**
     * 根据父类ID获取区域列表
     * @url {ctx}/api/web/syRegion/listByParentId
     * @param parentId 条件
     * @return Object
     */
    @GetMapping("/api/web/syRegion/listByParentId")
    ReturnBO listByParentId(@RequestParam(value = "parentId") String parentId);
}
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -90,7 +90,6 @@
    /**
     * 获取时限
     * @param limitTable 表名
     * @param limitType  时限类型
     * @return List
     */
@@ -246,4 +245,24 @@
            log.error("service方法[SysClientImpl.saveFileRelateList]请求异常:"+e, e);
        }
    }
    public List<QueAreaDTO> listByParentId(String parentId){
        List<QueAreaDTO> queAreaDTOList = new ArrayList<>();
        try{
            ReturnBO returnBo = sysClient.listByParentId(parentId);
            if (ReturnConsts.OK == returnBo.getCode()){
                if (ObjectUtils.isNotEmpty(returnBo.getData())){
                    List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
                    for (LinkedHashMap map : list) {
                        QueAreaDTO queAreaDTO = JSON.parseObject(JSON.toJSONString(map), QueAreaDTO.class);
                        queAreaDTOList.add(queAreaDTO);
                    }
                }
            }
        }catch (Exception e){
            log.error("service方法[SysClientImpl.listFileRelateByOwnerId]调用异常:"+e, e);
        }
        return queAreaDTOList;
    }
}
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java
@@ -8,6 +8,7 @@
import cn.huge.module.kind.domain.po.SyRegion;
import cn.huge.module.kind.service.SyRegionService;
import cn.huge.module.sys.dto.QueAddrBaseDTO;
import cn.huge.module.sys.dto.QueAreaDTO;
import cn.huge.module.utils.BaiduMapAddrDTO;
import cn.huge.module.utils.BaiduMapUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -21,6 +22,7 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -207,4 +209,20 @@
        }
    }
    /**
     * 根据父类ID获取列表
     * @url {ctx}/api/web/syRegion/listByParentId
     * @return
     */
    @GetMapping("/listByParentId")
    public Object listByParentId(@RequestParam(value = "parentId") String parentId) {
        try {
            List<QueAreaDTO> list = service.listByParentId(parentId);
            return ReturnSucUtils.getRepInfo(list);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
}
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java
@@ -9,6 +9,7 @@
import cn.huge.module.kind.domain.dto.RegionSelectJSDTO;
import cn.huge.module.kind.domain.po.SyRegion;
import cn.huge.module.sys.dto.QueAddrBaseDTO;
import cn.huge.module.sys.dto.QueAreaDTO;
import cn.huge.module.utils.BaiduMapAddrDTO;
import cn.huge.module.utils.BaiduMapUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -25,6 +26,7 @@
import javax.annotation.PostConstruct;
import javax.swing.plaf.synth.Region;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -209,6 +211,21 @@
    }
    public List<QueAreaDTO> listByParentId(String parentId){
        List<QueAreaDTO> list = new ArrayList<>();
        QueryWrapper<SyRegion> queryWrapper = new QueryWrapper();
        queryWrapper.eq("parent_id", parentId);
        List<SyRegion> syRegions = mapper.selectList(queryWrapper);
        if(ObjectUtils.isNotEmpty(syRegions)){
            for (SyRegion syRegion : syRegions) {
                QueAreaDTO queAreaDTO = new QueAreaDTO();
                queAreaDTO.setAreaCode(syRegion.getId());
                queAreaDTO.setAreaName(syRegion.getName());
                queAreaDTO.setParentId(syRegion.getParentId());
                list.add(queAreaDTO);
            }
        }
        return list;
    }
}