jinpengyong
2023-09-22 48bd10b213992dd416620e338cf732ee972110de
chore:测试提交
10 files added
7 files modified
1003 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/controller/AllocationController.java 110 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/entity/Allocation.java 159 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/entity/ApproveTable.java 69 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java 52 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java 8 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java 8 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java 8 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java 153 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/AllocationService.java 27 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java 254 ●●●●● patch | view | raw | blame | history
screen-common/src/main/java/com/moral/constant/Constants.java 10 ●●●●● patch | view | raw | blame | history
screen-common/src/main/java/com/moral/constant/RedisConstants.java 3 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/SystemController.java 12 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java 22 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/SysAreaService.java 8 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java 46 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java 54 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/AllocationController.java
New file
@@ -0,0 +1,110 @@
package com.moral.api.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.aspectj.apache.bcel.generic.RET;
import org.springframework.beans.factory.annotation.Autowired;
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.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
import com.moral.api.entity.Allocation;
import com.moral.api.entity.ResponsibilityUnit;
import com.moral.api.service.AllocationService;
import com.moral.constant.Constants;
import com.moral.constant.ResultMessage;
@Api(tags = {"立行立改"})
@RestController
@RequestMapping("allocation")
public class AllocationController {
    @Autowired
    private AllocationService allocationService;
    @ApiOperation(value = "污染类型", notes = "污染类型")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
    })
    @RequestMapping(value = "contaminate", method = RequestMethod.GET)
    public ResultMessage contaminate() {
        List<Map<String, Object>> professions = allocationService.sysDictData(Constants.WU_RAN_LEI_XING);
        return ResultMessage.ok(professions);
    }
    @ApiOperation(value = "整改类型", notes = "整改类型")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
    })
    @RequestMapping(value = "reform", method = RequestMethod.GET)
    public ResultMessage reform() {
        List<Map<String, Object>> professions = allocationService.sysDictData(Constants.ZHENG_GAI_LEI_XING);
        return ResultMessage.ok(professions);
    }
    @ApiOperation(value = "责任单位", notes = "责任单位")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
    })
    @RequestMapping(value = "unit", method = RequestMethod.GET)
    public ResultMessage unit() {
        List<ResponsibilityUnit> responsibilityUnits = allocationService.seleteUnit();
        return ResultMessage.ok(responsibilityUnits);
    }
    /**
     * 添加交办单
     * @return
     */
    @PostMapping("insert")
    public  ResultMessage insert(@RequestBody Allocation allocation){
        allocationService.insertAllocation(allocation);
        return ResultMessage.ok();
    }
    /**
     * 查看交办单
     * @return
     */
    @GetMapping("check")
    public ResultMessage check(Integer id){
        allocationService.check(id);
        return ResultMessage.ok();
    }
    /**
     * 修改表单
     * @param allocation
     * @return
     */
    @PostMapping("update")
    public ResultMessage update(@RequestBody Allocation allocation){
        allocationService.updateAll(allocation);
        return ResultMessage.ok();
    }
    /**
     * 根据条件查询
     * @return
     */
    @GetMapping("selectAll")
    public ResultMessage selectAll(Map<String,Object> map){
        allocationService.selectAll(map);
        return ResultMessage.ok();
    }
}
screen-api/src/main/java/com/moral/api/entity/Allocation.java
New file
@@ -0,0 +1,159 @@
package com.moral.api.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
@Data
@EqualsAndHashCode(callSuper = false)
public class Allocation extends Model<Allocation> {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @TableId(value = "allocation_id", type = IdType.AUTO)
    private Integer allocationId;
    /**
     *交办单号
     */
    private String allocationNum;
    /**
     * 自查or核查
     */
    private String escalationType;
    /**
     * 上报时间
     */
    private Date escalationTime;
    /**
     * 污染位置
     */
    private String pollutePosition;
    /**
     * 责任单位id
     */
    private Integer unitId;
    /**
     * 污染分类id
     */
    private Integer polluteType;
    /**
     * 整改类型id
     */
    private Integer changeType;
    /**
     * 期限天数
     */
    private Integer changeDay;
    /**
     * 上报单位id
     */
    private Integer escalationUnitId;
    /**
     * 上报人
     */
    private String escalationName;
    /**
     * 排查方式id
     */
    private Integer investigationType;
    /**
     * 问题描述
     */
    private String problemDescribe;
    /**
     * 是否整改
     */
    private Integer isChange;
    /**
     * 整改反馈
     */
    private String changeDescribe;
    /**
     * 整改人性名
     */
    private String changeName;
    /**
     * 整改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date changeTime;
    /**
     * 考核分值
     */
    private Integer checkScore;
    /**
     * 考核理由
     */
    private String checkDescribe;
    /**
     * 考核人
     */
    private String checkName;
    /**
     * 考核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date checkTime;
    /**
     * 状态 0 创建  1 整改 2审核 3 拒绝 4 通过
     */
    private String state;
    /**
     * 是否删除
     */
    private String isDel;
    /**
     * 是否作废
     */
    private String isInvalid;
    /**
     * 作废理由
     */
    private String invalidReason;
    private Integer createId;
    private String createName;
    private Date createTime;
    private Integer updateId;
    private String updateName;
    private Date updateTime;
}
screen-api/src/main/java/com/moral/api/entity/ApproveTable.java
New file
@@ -0,0 +1,69 @@
package com.moral.api.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
@Data
@EqualsAndHashCode(callSuper = false)
public class ApproveTable extends Model<ApproveTable> {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 模块类型
     */
    private Integer approveModule;
    /**
     * 关联id
     */
    private Integer relationId;
    /**
     * 状态
     */
    private  Integer state;
    /**
     * 状态名称
     */
    private String stateName;
    /**
     * 是否删除
     *
     */
    private Integer isDel;
    private Integer createId;
    private String createName;
    private Date createTime;
    private Integer updateId;
    private String updateName;
    private Date updateTime;
}
screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java
New file
@@ -0,0 +1,52 @@
package com.moral.api.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
@Data
@EqualsAndHashCode(callSuper = false)
public class ResponsibilityUnit extends Model<ResponsibilityUnit> {
    //责任单位id
    private Integer unitId;
    private String unitName;
    private Integer areaCode;
    private  Integer parentCode;
    //0是生效 1是失效
    private  Integer state;
    //0是未删 1是以删
    private  String isDel;
    //0是为作废 1是已作废
    private  Integer isInvalid;
    private String invalidReason;
    private  Integer createId;
    private  String createName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private  Date createTime;
    private Integer updateId;
    private String updateName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    @TableField(exist = false)
    private String areaName;
    @TableField(exist = false)
    private String parentName;
}
screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java
New file
@@ -0,0 +1,8 @@
package com.moral.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.moral.api.entity.Allocation;
public interface AllocationMapper extends BaseMapper<Allocation> {
}
screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java
New file
@@ -0,0 +1,8 @@
package com.moral.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.moral.api.entity.ApproveTable;
public interface ApproveTableMapper extends BaseMapper<ApproveTable> {
}
screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java
New file
@@ -0,0 +1,8 @@
package com.moral.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.moral.api.entity.ResponsibilityUnit;
public interface ResponsibilityUnitMapper extends BaseMapper<ResponsibilityUnit> {
}
screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java
New file
@@ -0,0 +1,153 @@
package com.moral.api.pojo.dto.allocation;
import lombok.Data;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
@Data
public class AllocationUnitDto {
    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer allocationId;
    /**
     *交办单号
     */
    private String allocationNum;
    /**
     * 自查or核查
     */
    private String escalationType;
    /**
     * 上报时间
     */
    private Date escalationTime;
    /**
     * 污染位置
     */
    private String pollutePosition;
    /**
     * 责任单位名字
     */
    private String unitName;
    /**
     * 污染分类名字
     */
    private String polluteTypeName;
    /**
     * 整改类型名字
     */
    private String changeTypeName;
    /**
     * 期限天数
     */
    private Integer changeDay;
    /**
     * 上报单位名字
     */
    private String escalationUnitName;
    /**
     * 上报人
     */
    private String escalationName;
    /**
     * 排查方式id
     */
    private String investigationTypeName;
    /**
     * 问题描述
     */
    private String problemDescribe;
    /**
     * 是否整改
     */
    private Integer isChange;
    /**
     * 整改反馈
     */
    private String changeDescribe;
    /**
     * 整改人性名
     */
    private String changeName;
    /**
     * 整改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date changeTime;
    /**
     * 考核分值
     */
    private Integer checkScore;
    /**
     * 考核理由
     */
    private String checkDescribe;
    /**
     * 考核人
     */
    private String checkName;
    /**
     * 考核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date checkTime;
    /**
     * 状态 0 创建  1 整改 2
     */
    private String state;
    /**
     * 是否删除
     */
    private String isDel;
    /**
     * 是否作废
     */
    private String isInvalid;
    /**
     * 作废理由
     */
    private String invalidReason;
    private Integer createId;
    private String createName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    private Integer updateId;
    private String updateName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}
screen-api/src/main/java/com/moral/api/service/AllocationService.java
New file
@@ -0,0 +1,27 @@
package com.moral.api.service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moral.api.entity.Allocation;
import com.moral.api.entity.ResponsibilityUnit;
import com.moral.api.pojo.dto.allocation.AllocationUnitDto;
public interface AllocationService extends IService<Allocation> {
    List<Map<String, Object>> sysDictData(String code);
    List<ResponsibilityUnit> seleteUnit();
    Integer insertAllocation(Allocation allocation);
    AllocationUnitDto check(Integer id);
    void updateAll(Allocation allocation);
    List<Allocation> selectAll(Map<String,Object> map);
}
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
New file
@@ -0,0 +1,254 @@
package com.moral.api.service.impl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.swing.text.AbstractDocument;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.entity.Allocation;
import com.moral.api.entity.ApproveTable;
import com.moral.api.entity.ResponsibilityUnit;
import com.moral.api.entity.SysDictData;
import com.moral.api.entity.SysDictType;
import com.moral.api.mapper.AllocationMapper;
import com.moral.api.mapper.ApproveTableMapper;
import com.moral.api.mapper.ResponsibilityUnitMapper;
import com.moral.api.mapper.SysAreaMapper;
import com.moral.api.mapper.SysDictDataMapper;
import com.moral.api.mapper.SysDictTypeMapper;
import com.moral.api.pojo.dto.allocation.AllocationUnitDto;
import com.moral.api.service.AllocationService;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.util.DateUtils;
import com.moral.util.TokenUtils;
@Service
@Slf4j
public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocation> implements AllocationService {
    @Autowired
    private SysDictTypeMapper sysDictTypeMapper;
    @Autowired
    private SysDictDataMapper sysDictDataMapper;
    @Autowired
    private ResponsibilityUnitMapper responsibilityUnitMapper;
    @Autowired
    private RedisTemplate redisTemplate;
    @Autowired
    private AllocationMapper allocationMapper;
    @Autowired
    private ApproveTableMapper approveTableMapper;
    /**
     * 根据字典类型获取字典数据
     * @param dictType
     * @return
     */
    @Override
    public List<Map<String, Object>> sysDictData(String dictType) {
        QueryWrapper<SysDictType> typeQueryWrapper = new QueryWrapper<>();
        typeQueryWrapper.select("id").eq("name", dictType);
        SysDictType sysDictType = sysDictTypeMapper.selectOne(typeQueryWrapper);
        QueryWrapper<SysDictData> dataQueryWrapper = new QueryWrapper<>();
        dataQueryWrapper.select("dataKey", "dataValue").eq("dict_type_id", sysDictType.getId()).eq("is_delete", Constants.NOT_DELETE);
        return sysDictDataMapper.selectMaps(dataQueryWrapper);
    }
    /**
     * 查询责任主体
     * @return
     */
    @Override
    public List<ResponsibilityUnit> seleteUnit() {
        QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>();
        wrapper.select("unit_name","unit_id");
        wrapper.eq("is_del",Constants.NOT_DELETE);
        wrapper.eq("state",0);
        wrapper.eq("is_invalid",0);
        //获取用户信息
        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
        Object code = userInfo.get("code");
        if (!ObjectUtils.isEmpty(code)){
            wrapper.eq("area_code",code);
        }
        List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper);
        return responsibilityUnits;
    }
    /**
     * 添加交办单
     * @param allocation
     * @return
     */
    @Override
    @Transactional
    public Integer insertAllocation(Allocation allocation) {
        ApproveTable approveTable = new ApproveTable();
        //获取用户信息
        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
        String dateString = DateUtils.dateToDateString(new Date(), DateUtils.yyyyMMdd_EN);
        QueryWrapper<Allocation> wrapper = new QueryWrapper<>();
        Object o = redisTemplate.opsForValue().get(RedisConstants.JBD_DATA);
        int i;
        if (ObjectUtils.isEmpty(o)){
            wrapper.last("limit 1");
            Allocation selectOne = allocationMapper.selectOne(wrapper);
            String allocationNum = selectOne.getAllocationNum();
            String num = allocationNum.substring(10);
             i = Integer.parseInt(num)+1;
        }else {
             i = Integer.parseInt(o.toString()) + 1;
        }
        //单号
        String allocationNum = "JBD" + dateString + String.format("%04d", i);
        allocation.setAllocationNum(allocationNum);
        allocation.setIsDel("0");
        allocation.setIsInvalid("0");
        allocation.setCreateId(Integer.parseInt(userInfo.get("userId").toString()));
        allocation.setCreateTime(new Date());
        allocation.setCreateName(userInfo.get("account").toString());
        allocation.setUpdateId(Integer.parseInt(userInfo.get("userId").toString()));
        allocation.setUpdateTime(new Date());
        allocation.setUpdateName(userInfo.get("account").toString());
        //获取新建图片
        allocationMapper.insert(allocation);
        redisTemplate.opsForValue().set(RedisConstants.JBD_DATA,i);
        //添加流程数据
        approveTable.setRelationId(allocation.getAllocationId());
        approveTable.setState(Integer.parseInt(allocation.getState()));
        approveTable.setApproveModule(null);
        approveTable.setStateName(null);
        approveTable.setIsDel(0);
        approveTableMapper.insert(approveTable);
        return null;
    }
    /**
     * 查看表单
     * @param id
     * @return
     */
    @Override
    public AllocationUnitDto check(Integer id) {
        AllocationUnitDto allocationUnitDto = new AllocationUnitDto();
        Allocation allocation = allocationMapper.selectById(id);
        BeanUtils.copyProperties(allocation,allocationUnitDto);
        ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(allocation.getUnitId());
        allocationUnitDto.setUnitName(responsibilityUnit.getUnitName());
        allocationUnitDto.setEscalationUnitName(responsibilityUnit.getUnitName());
        Map<String, List<SysDictData>> map = (Map<String, List<SysDictData>>) redisTemplate.opsForValue().get(RedisConstants.DICT_DATA_KEY);
        List<SysDictData> contaminate = map.get("contaminate");
        for (SysDictData sysDictData : contaminate) {
            if (sysDictData.getDataKey().equals(allocation.getPolluteType().toString())){
                allocationUnitDto.setPolluteTypeName(sysDictData.getDataValue());
                break;
            }
        }
        allocationUnitDto.setChangeTypeName(allocation.getChangeType()==0?"限期整改":"立即整改");
        allocationUnitDto.setInvestigationTypeName(allocation.getChangeType()==0?"现场":"无人机");
        //获取图片
        return allocationUnitDto;
    }
    /**
     * 修改交办单
     * @param allocation
     */
    @Override
    public void updateAll(Allocation allocation) {
        //获取用户信息
        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
        if (allocation.getState().equals("1")){
            //获取整改图片
            allocation.setChangeTime(new Date());
        }else {
            //获取审核图片
            allocation.setCheckTime(new Date());
        }
        allocation.setUpdateId(Integer.parseInt(userInfo.get("userId").toString()));
        allocation.setUpdateTime(new Date());
        allocation.setUpdateName(userInfo.get("account").toString());
        allocationMapper.updateById(allocation);
    }
    /**
     * 根据条件查询
     * @param map
     * @return
     */
    @Override
    public List<Allocation> selectAll(Map<String, Object> map) {
        Object unitId = map.get("unitId");
        Object state = map.get("state");
        Object polluteType = map.get("polluteType");
        Object investigationType = map.get("investigationType");
        Object changeType = map.get("changeType");
        Object escalationTime = map.get("escalationTime");
        Object isInvalid = map.get("isInvalid");
//        int page = Integer.parseInt(map.get("page").toString());
//        int size = Integer.parseInt(map.get("size").toString());
        QueryWrapper<Allocation> wrapper = new QueryWrapper<>();
        //责任主体
        if (!ObjectUtils.isEmpty(unitId)){
            wrapper.eq("unit_id",Integer.parseInt(unitId.toString()));
        }
        //流程状态
        if (!ObjectUtils.isEmpty(state)){
            wrapper.eq("state",Integer.parseInt(state.toString()));
        }
        //污染分类
        if (!ObjectUtils.isEmpty(polluteType)){
            wrapper.eq("pollute_type",Integer.parseInt(polluteType.toString()));
        }
        //排查方式
        if (!ObjectUtils.isEmpty(investigationType)){
            wrapper.eq("investigation_type",Integer.parseInt(investigationType.toString()));
        }
        //整改类型
        if (!ObjectUtils.isEmpty(changeType)){
            wrapper.eq("change_type",Integer.parseInt(changeType.toString()));
        }
        //是否作废
        if (!ObjectUtils.isEmpty(isInvalid)){
            wrapper.eq("is_invalid",Integer.parseInt(isInvalid.toString()));
        }
        if (!ObjectUtils.isEmpty(escalationTime)){
//            wrapper.eq("is_invalid",Integer.parseInt(isInvalid.toString()));
        }
        List<Allocation> allocations = allocationMapper.selectList(wrapper);
        ArrayList<AllocationUnitDto> rsList = new ArrayList<>();
        for (Allocation allocation : allocations) {
            AllocationUnitDto allocationUnitDto = new AllocationUnitDto();
            BeanUtils.copyProperties(allocation,allocationUnitDto);
            allocation.getEscalationTime();
            Date dateOfDay = DateUtils.getDateOfDay(allocation.getEscalationTime(), allocation.getChangeDay());
            Date date = new Date();
            //获取两个日期的天数
            int days = DateUtils.getDays(dateOfDay, date);
            allocationUnitDto.setChangeDay(days);
            rsList.add(allocationUnitDto);
        }
        return null;
    }
}
screen-common/src/main/java/com/moral/constant/Constants.java
@@ -114,6 +114,16 @@
     * */
    public static final String SYSTEM_DICT_TYPE_PURCHASER = "purchaser";
    /**
     * 污染字典类型
     */
    public static final  String WU_RAN_LEI_XING = "contaminate";
    /**
     * 整改字典类型
     */
    public static final  String ZHENG_GAI_LEI_XING = "reform";
    /*
     * 未校准数据表后缀
     * */
screen-common/src/main/java/com/moral/constant/RedisConstants.java
@@ -108,4 +108,7 @@
    public static final String DATE_COORDINATE="data_coordinate";
    public static final String JBD_DATA="allocation_num";
}
screen-manage/src/main/java/com/moral/api/controller/SystemController.java
@@ -50,6 +50,18 @@
        return ResultMessage.ok(sysAreas);
    }
    @GetMapping("area/queryCity")
    public ResultMessage queryCity(){
        List<SysArea> sysAreas = sysAreaService.queryCity();
        return ResultMessage.ok(sysAreas);
    }
    @GetMapping("area/code")
    public ResultMessage queryCode(Integer code){
        List<SysArea> sysAreas = sysAreaService.selectCode(code);
        return ResultMessage.ok(sysAreas);
    }
    /**
     * @Description: 查询日志接口
     * @Param: [form]
screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java
@@ -16,24 +16,30 @@
    //责任单位id
    private Integer unitId;
    /**
     * 单位名称
     */
    private String unitName;
    /**
     * 所属编码
     */
    private Integer areaCode;
    /**
     * 上级编码
     */
    private  Integer parentCode;
    //0是生效 1是失效
    private  Integer state;
    //0是未删 1是以删
    private  String isDel;
    //0是为作废 1是已作废
    private  Integer isInvalid;
    //作废理由
    private String invalidReason;
    private  Integer createId;
    private  String create_name;
    private  String createName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private  Date createTime;
screen-manage/src/main/java/com/moral/api/service/SysAreaService.java
@@ -27,5 +27,13 @@
    SysArea select(Integer code);
    /**
     * 查询除了乡镇以外的地区
     * @return
     */
    List<SysArea> queryCity();
    List<SysArea> selectCode(Integer code);
}
screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
@@ -4,21 +4,26 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
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.moral.api.entity.ResponsibilityUnit;
import com.moral.api.entity.SysArea;
import com.moral.api.mapper.ResponsibilityUnitMapper;
import com.moral.api.pojo.redisBean.AccountInfoDTO;
import com.moral.api.service.ResponsibilityUnitService;
import com.moral.api.service.SysAreaService;
import com.moral.constant.Constants;
import com.moral.util.TokenUtils;
@Service
public class ResponsibilityUnitServiceImpl extends ServiceImpl<ResponsibilityUnitMapper, ResponsibilityUnit> implements ResponsibilityUnitService {
@@ -37,6 +42,9 @@
     */
    @Override
    public Integer insert(ResponsibilityUnit responsibilityUnit) {
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        String token = request.getHeader("token");
        AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken(token);
        QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>();
        wrapper.eq("unit_name",responsibilityUnit.getUnitName());
@@ -46,6 +54,12 @@
            responsibilityUnit.setCreateTime(new Date());
            responsibilityUnit.setState(0);
            responsibilityUnit.setIsInvalid(0);
            responsibilityUnit.setCreateId(accountInfoDTO.getAccount().getId());
            responsibilityUnit.setCreateName(accountInfoDTO.getAccount().getUserName());
            responsibilityUnit.setCreateTime(new Date());
            responsibilityUnit.setUpdateId(accountInfoDTO.getAccount().getId());
            responsibilityUnit.setUpdateName(accountInfoDTO.getAccount().getUserName());
            responsibilityUnit.setUpdateTime(new Date());
            responsibilityUnitMapper.insert(responsibilityUnit);
            return 200;
        }
@@ -63,9 +77,19 @@
        wrapper.eq("is_del",Constants.NOT_DELETE);
        int page = Integer.parseInt(parameters.get("page").toString());
        int size = Integer.parseInt(parameters.get("size").toString());
        Object parentName1 = parameters.get("parentCode");
        Object areaName1 = parameters.get("areaCode");
        //名称模糊查询
        if (!ObjectUtils.isEmpty(parameters.get("name"))){
            wrapper.like("unit_name",parameters.get("name").toString());
        }
        //上级区域查询
        if (!ObjectUtils.isEmpty(parentName1)){
            wrapper.eq("parent_code",Integer.parseInt(parentName1.toString()));
        }
        //所属区域查询
        if (!ObjectUtils.isEmpty(areaName1)){
            wrapper.eq("parent_code",Integer.parseInt(areaName1.toString()));
        }
        Page<ResponsibilityUnit> pageList = new Page<>(page, size);
        Page<ResponsibilityUnit> responsibilityUnitPage = responsibilityUnitMapper.selectPage(pageList, wrapper);
@@ -102,6 +126,10 @@
        wrapper.eq("unit_name",responsibilityUnit.getUnitName());
        List<ResponsibilityUnit> units = responsibilityUnitMapper.selectList(wrapper);
        if (ObjectUtils.isEmpty(units)){
            AccountInfoDTO account = getAccount();
            responsibilityUnit.setUpdateId(account.getAccount().getId());
            responsibilityUnit.setUpdateName(account.getAccount().getUserName());
            responsibilityUnit.setUpdateTime(new Date());
            responsibilityUnitMapper.updateById(responsibilityUnit);
            return 200;
        }
@@ -117,6 +145,10 @@
    public void updateState(Integer id) {
        ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(id);
        responsibilityUnit.setState(1);
        AccountInfoDTO account = getAccount();
        responsibilityUnit.setUpdateId(account.getAccount().getId());
        responsibilityUnit.setUpdateName(account.getAccount().getUserName());
        responsibilityUnit.setUpdateTime(new Date());
        responsibilityUnitMapper.updateById(responsibilityUnit);
    }
@@ -133,7 +165,19 @@
        if (!ObjectUtils.isEmpty(code)){
            responsibilityUnit.setInvalidReason(code);
        }
        AccountInfoDTO account = getAccount();
        responsibilityUnit.setUpdateId(account.getAccount().getId());
        responsibilityUnit.setUpdateName(account.getAccount().getUserName());
        responsibilityUnit.setUpdateTime(new Date());
        responsibilityUnitMapper.updateById(responsibilityUnit);
    }
    private AccountInfoDTO getAccount(){
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        String token = request.getHeader("token");
        AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken(token);
        return accountInfoDTO;
    }
}
screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
@@ -55,6 +55,60 @@
        return sysArea;
    }
    /**
     * 查询除了乡镇以外的地区
     *
     * @return
     */
    @Override
    public List<SysArea> queryCity() {
        //取出所有地区
        List<SysArea> sysAreas = sysAreaMapper.selectList(null);
        //创建Map key为地区码 value为地区对象 供组装使用
        Map<Integer, SysArea> areaMap = new HashMap<>();
        for (SysArea sysArea : sysAreas) {
            areaMap.put(sysArea.getAreaCode(), sysArea);
            sysArea.setChildren(new ArrayList<>());//初始化children集合
        }
        //遍历所有城市,判断是否有父城市,如果有则添加到父城市中。
        int i=0;
        for (SysArea sysArea : sysAreas) {
            Integer parentCode = sysArea.getParentCode();
            String s = sysArea.getAreaCode().toString();
            if (!parentCode.equals(0)) {
                if (s.length()>7){
                    continue;
                }
                SysArea parentArea = areaMap.get(parentCode);
                if (ObjectUtils.isEmpty(parentArea)){
                    continue;
                }
                List<SysArea> children = parentArea.getChildren();
                children.add(sysArea);
//                parentArea.getChildren().add(sysArea);
            }
        }
        //移除集合中非父顶级城市
        sysAreas.removeIf(new Predicate<SysArea>() {
            @Override
            public boolean test(SysArea sysArea) {
                if (sysArea.getParentCode().equals(0))
                    return false;
                return true;
            }
        });
        return sysAreas;
    }
    @Override
    public List<SysArea> selectCode(Integer code) {
        QueryWrapper<SysArea> wrapper = new QueryWrapper<>();
        wrapper.eq("parent_code",code);
        List<SysArea> sysAreas = sysAreaMapper.selectList(wrapper);
        return sysAreas;
    }
    private List<SysArea> querySysAreaFromDB() {
        //取出所有地区