From 48bd10b213992dd416620e338cf732ee972110de Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 22 Sep 2023 15:44:12 +0800
Subject: [PATCH] chore:测试提交

---
 screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java                       |    8 
 screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java         |  153 +++++++++
 screen-api/src/main/java/com/moral/api/service/AllocationService.java                     |   27 +
 screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java               |    8 
 screen-api/src/main/java/com/moral/api/entity/ApproveTable.java                           |   69 ++++
 screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java            |  254 ++++++++++++++
 screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java |   46 ++
 screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java                  |   22 
 screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java                     |    8 
 screen-manage/src/main/java/com/moral/api/controller/SystemController.java                |   12 
 screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java            |   54 +++
 screen-api/src/main/java/com/moral/api/entity/Allocation.java                             |  159 +++++++++
 screen-api/src/main/java/com/moral/api/controller/AllocationController.java               |  110 ++++++
 screen-common/src/main/java/com/moral/constant/Constants.java                             |   10 
 screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java                     |   52 +++
 screen-common/src/main/java/com/moral/constant/RedisConstants.java                        |    3 
 screen-manage/src/main/java/com/moral/api/service/SysAreaService.java                     |    8 
 17 files changed, 994 insertions(+), 9 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/AllocationController.java b/screen-api/src/main/java/com/moral/api/controller/AllocationController.java
new file mode 100644
index 0000000..a576d1a
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/controller/AllocationController.java
@@ -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();
+    }
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/entity/Allocation.java b/screen-api/src/main/java/com/moral/api/entity/Allocation.java
new file mode 100644
index 0000000..7a23920
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/entity/Allocation.java
@@ -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;
+
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/entity/ApproveTable.java b/screen-api/src/main/java/com/moral/api/entity/ApproveTable.java
new file mode 100644
index 0000000..c5e38e8
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/entity/ApproveTable.java
@@ -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;
+
+
+
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java b/screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java
new file mode 100644
index 0000000..d733fbd
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java
@@ -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;
+}
diff --git a/screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java b/screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java
new file mode 100644
index 0000000..b5864d2
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java
@@ -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> {
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java b/screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java
new file mode 100644
index 0000000..cfd2ce2
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java
@@ -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> {
+}
diff --git a/screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java b/screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java
new file mode 100644
index 0000000..424b762
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java
@@ -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> {
+}
diff --git a/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java b/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java
new file mode 100644
index 0000000..ed7eb66
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java
@@ -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;
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/AllocationService.java b/screen-api/src/main/java/com/moral/api/service/AllocationService.java
new file mode 100644
index 0000000..934a467
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/service/AllocationService.java
@@ -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);
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
new file mode 100644
index 0000000..71a45aa
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -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;
+    }
+}
diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java
index 37f82fb..6e416dd 100644
--- a/screen-common/src/main/java/com/moral/constant/Constants.java
+++ b/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";
+
     /*
      * ������������������������
      * */
diff --git a/screen-common/src/main/java/com/moral/constant/RedisConstants.java b/screen-common/src/main/java/com/moral/constant/RedisConstants.java
index 7a08d47..d8a4884 100644
--- a/screen-common/src/main/java/com/moral/constant/RedisConstants.java
+++ b/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";
 }
diff --git a/screen-manage/src/main/java/com/moral/api/controller/SystemController.java b/screen-manage/src/main/java/com/moral/api/controller/SystemController.java
index 78b959c..a25c8be 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/SystemController.java
+++ b/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]
diff --git a/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java b/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java
index e39e045..11ea7f0 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java
+++ b/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;
diff --git a/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java b/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java
index 2bdbdb1..f166197 100644
--- a/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java
+++ b/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);
 
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
index c44af22..8c018ed 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
+++ b/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;
+    }
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
index baef017..434226e 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
+++ b/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() {
         //������������������

--
Gitblit v1.8.0