Browse Source

Merge remote-tracking branch 'origin/dev_tripreport' into dev_tripreport

dev
sunyuchao 3 years ago
parent
commit
0c7bb59509
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 12
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcDangerAreaDTO.java
  3. 19
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DangerAreaListFormDTO.java
  4. 102
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcDangerAreaController.java
  5. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcDangerAreaEntity.java
  6. 55
      epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DangerLevelEnum.java
  7. 22
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcDangerAreaResultExcel.java
  8. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcDangerAreaService.java
  9. 65
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcDangerAreaServiceImpl.java
  10. BIN
      epmet-user/epmet-user-server/src/main/resources/excel/ic_danger_area_template.xlsx

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -268,6 +268,8 @@ public enum EpmetErrorCode {
SAMPLE_TIME_IS_NULL_ERROR(8933,"采样时间不能为空"),
SAMPLE_TIME_AND_RESULT_IS_NULL_ERROR(8934,"检测时间或结果不能为空"),
DANGER_AREA_ERROR(8937,"风险地区已存在"),
MISMATCH(10086,"人员与房屋信息不匹配,请与工作人员联系。"),
//通用错误码 start

12
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcDangerAreaDTO.java

@ -2,8 +2,13 @@ package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 疫情风险地区
@ -29,28 +34,35 @@ public class IcDangerAreaDTO implements Serializable {
/**
* 风险等级
*/
// @NotBlank(message = "dangerLevel不能为空",groups = {AddGroup.class})
private String dangerLevel;
/**
*
*/
// @NotBlank(message = "province不能为空",groups = {AddGroup.class})
private String province;
/**
*
*/
// @NotBlank(message = "city不能为空",groups = {AddGroup.class})
private String city;
/**
*
*/
// @NotBlank(message = "district不能为空",groups = {AddGroup.class})
private String district;
/**
* --
*/
@NotBlank(message = "allName不能为空",groups = {AddGroup.class})
private String allName;
private String allNameCode;
/**
*
*/

19
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DangerAreaListFormDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/10/31 16:59
*/
@Data
public class DangerAreaListFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 8868052895161162655L;
private String name;
private String dangerLevel;
private String customerId;
}

102
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcDangerAreaController.java

@ -1,20 +1,42 @@
package com.epmet.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcDangerAreaDTO;
import com.epmet.dto.form.DangerAreaListFormDTO;
import com.epmet.dto.result.NatListCommonExcelResultDTO;
import com.epmet.dto.result.NatListResultDTO;
import com.epmet.enums.DangerLevelEnum;
import com.epmet.excel.IcDangerAreaResultExcel;
import com.epmet.service.IcDangerAreaService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
@ -26,6 +48,7 @@ import java.util.Map;
* @since v1.0.0 2022-10-31
*/
@RestController
@Slf4j
@RequestMapping("icDangerArea")
public class IcDangerAreaController {
@ -44,11 +67,18 @@ public class IcDangerAreaController {
return new Result<IcDangerAreaDTO>().ok(data);
}
/**
* @Description 新增
* @param dto
* @param tokenDto
* @Author zxc
* @Date 2022/11/1 09:09
*/
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcDangerAreaDTO dto){
//效验数据
public Result save(@RequestBody IcDangerAreaDTO dto, @LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
dto.setCustomerId(tokenDto.getCustomerId());
icDangerAreaService.save(dto);
return new Result();
}
@ -63,10 +93,70 @@ public class IcDangerAreaController {
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icDangerAreaService.delete(ids);
public Result delete(@RequestBody List<String> ids,@LoginUser TokenDto tokenDto){
icDangerAreaService.delete(ids,tokenDto.getUserId());
return new Result();
}
@RequestMapping("list")
public Result<PageData<IcDangerAreaDTO>> list(@RequestBody DangerAreaListFormDTO formDTO,@LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<PageData<IcDangerAreaDTO>>().ok(icDangerAreaService.list(formDTO));
}
@RequestMapping("export")
public void export(@LoginUser TokenDto tokenDto,@RequestBody DangerAreaListFormDTO formDTO,HttpServletResponse response){
formDTO.setCustomerId(tokenDto.getCustomerId());
ExcelWriter excelWriter = null;
int pageNo = NumConstant.ONE;
formDTO.setPageSize(NumConstant.ONE_THOUSAND);
try {
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("风险地区", response), IcDangerAreaResultExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
Integer size;
do {
PageData<IcDangerAreaDTO> list = icDangerAreaService.list(formDTO);
List<IcDangerAreaDTO> data = list.getList();
if (CollectionUtils.isNotEmpty(data)){
data.forEach(d -> {
d.setDangerLevel(DangerLevelEnum.getNameByCode(d.getDangerLevel()));
});
}
excelWriter.write(ConvertUtils.sourceToTarget(data,IcDangerAreaResultExcel.class), writeSheet);
formDTO.setPageNo(pageNo++);
size = data.size();
} while (size == NumConstant.ONE_THOUSAND);
}catch (Exception e){
log.error("export exception", e);
}finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
/**
* @Description 模板下载
* @param response
* @Author zxc
* @Date 2022/11/1 09:52
*/
@PostMapping("downloadTemplate")
public void downloadTemplate(HttpServletResponse response) throws IOException{
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("风险地区导入模板", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_danger_area_template.xlsx");
try {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
} finally {
if (is != null) {
is.close();
}
}
}
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcDangerAreaEntity.java

@ -51,4 +51,6 @@ public class IcDangerAreaEntity extends BaseEpmetEntity {
*/
private String allName;
private String allNameCode;
}

55
epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DangerLevelEnum.java

@ -0,0 +1,55 @@
package com.epmet.enums;
/**
* desc:数据同步配置枚举 对应data_sync_config中的DATA_CODE
* @author Administrator
*/
public enum DangerLevelEnum {
LOW("0", "低风险"),
MIDDLE("1", "中风险"),
HIGH("2", "高风险"),
OTHER("3", "无风险"),
;
private final String code;
private final String name;
DangerLevelEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static DangerLevelEnum getEnum(String code) {
DangerLevelEnum[] values = DangerLevelEnum.values();
for (DangerLevelEnum value : values) {
if (value.getCode().equals(code)) {
return value;
}
}
return DangerLevelEnum.OTHER;
}
public static String getNameByCode(String code) {
DangerLevelEnum[] values = DangerLevelEnum.values();
for (DangerLevelEnum value : values) {
if (value.getCode().equals(code)) {
return value.getName();
}
}
return DangerLevelEnum.OTHER.getName();
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}

22
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcDangerAreaResultExcel.java

@ -0,0 +1,22 @@
package com.epmet.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
/**
* @Author zxc
* @DateTime 2022/11/1 10:26
*/
@Data
public class IcDangerAreaResultExcel {
@ColumnWidth(40)
@ExcelProperty(value = "风险地区")
private String allName;
@ColumnWidth(20)
@ExcelProperty(value = "风险等级")
private String dangerLevel;
}

5
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcDangerAreaService.java

@ -3,6 +3,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcDangerAreaDTO;
import com.epmet.dto.form.DangerAreaListFormDTO;
import com.epmet.entity.IcDangerAreaEntity;
import java.util.List;
@ -36,6 +37,8 @@ public interface IcDangerAreaService extends BaseService<IcDangerAreaEntity> {
*/
List<IcDangerAreaDTO> list(Map<String, Object> params);
PageData<IcDangerAreaDTO> list(DangerAreaListFormDTO formDTO);
/**
* 单条查询
*
@ -74,5 +77,5 @@ public interface IcDangerAreaService extends BaseService<IcDangerAreaEntity> {
* @author generator
* @date 2022-10-31
*/
void delete(String[] ids);
void delete(List<String> ids,String staffId);
}

65
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcDangerAreaServiceImpl.java

@ -1,21 +1,30 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcDangerAreaDao;
import com.epmet.dto.IcDangerAreaDTO;
import com.epmet.dto.form.DangerAreaListFormDTO;
import com.epmet.entity.IcDangerAreaEntity;
import com.epmet.service.IcDangerAreaService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -44,6 +53,24 @@ public class IcDangerAreaServiceImpl extends BaseServiceImpl<IcDangerAreaDao, Ic
return ConvertUtils.sourceToTarget(entityList, IcDangerAreaDTO.class);
}
@Override
public PageData<IcDangerAreaDTO> list(DangerAreaListFormDTO formDTO) {
PageData<IcDangerAreaDTO> result = new PageData<>();
LambdaQueryWrapper<IcDangerAreaEntity> qr = new LambdaQueryWrapper<>();
qr.like(StringUtils.isNotBlank(formDTO.getName()),IcDangerAreaEntity::getAllName,formDTO.getName())
.eq(StringUtils.isNotBlank(formDTO.getDangerLevel()),IcDangerAreaEntity::getDangerLevel,formDTO.getDangerLevel());
if (formDTO.getIsPage()){
PageInfo<IcDangerAreaEntity> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectList(qr));
result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
result.setList(ConvertUtils.sourceToTarget(pageInfo.getList(),IcDangerAreaDTO.class));
}else {
List<IcDangerAreaEntity> entities = baseDao.selectList(qr);
result.setTotal(entities.size());
result.setList(ConvertUtils.sourceToTarget(entities,IcDangerAreaDTO.class));
}
return result;
}
private QueryWrapper<IcDangerAreaEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
@ -59,10 +86,38 @@ public class IcDangerAreaServiceImpl extends BaseServiceImpl<IcDangerAreaDao, Ic
return ConvertUtils.sourceToTarget(entity, IcDangerAreaDTO.class);
}
/**
* @Description 新增
* @param dto
* @Author zxc
* @Date 2022/11/1 09:09
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcDangerAreaDTO dto) {
LambdaQueryWrapper<IcDangerAreaEntity> qw = new LambdaQueryWrapper<>();
qw.eq(IcDangerAreaEntity::getAllName,dto.getAllName());
IcDangerAreaEntity icDangerAreaEntity = baseDao.selectOne(qw);
if (null != icDangerAreaEntity){
throw new EpmetException(EpmetErrorCode.DANGER_AREA_ERROR.getCode());
}
IcDangerAreaEntity entity = ConvertUtils.sourceToTarget(dto, IcDangerAreaEntity.class);
String[] split = dto.getAllName().split("-");
for (int i = NumConstant.ZERO; i < split.length; i++) {
switch (i){
case NumConstant.ZERO:
entity.setProvince(split[i]);
break;
case NumConstant.ONE:
entity.setCity(split[i]);
break;
case NumConstant.TWO:
entity.setDistrict(split[i]);
break;
default:
break;
}
}
insert(entity);
}
@ -75,9 +130,13 @@ public class IcDangerAreaServiceImpl extends BaseServiceImpl<IcDangerAreaDao, Ic
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
public void delete(List<String> ids,String staffId) {
LambdaUpdateWrapper<IcDangerAreaEntity> updateWrapper=new LambdaUpdateWrapper<>();
updateWrapper.in(IcDangerAreaEntity::getId,ids)
.set(IcDangerAreaEntity::getUpdatedBy,staffId)
.set(IcDangerAreaEntity::getUpdatedTime,new Date())
.set(IcDangerAreaEntity::getDelFlag, NumConstant.ONE_STR);
baseDao.update(null,updateWrapper);
}
}

BIN
epmet-user/epmet-user-server/src/main/resources/excel/ic_danger_area_template.xlsx

Binary file not shown.
Loading…
Cancel
Save