Commit c73a85f8 authored by 李腾威's avatar 李腾威

任务3857开发机场单位消防安全报告

parent 90c4671a
package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 机场单位消防安全报告
*
* @author litw
* @date 2021-10-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="OrgUsrSafeReportDto", description="机场单位消防安全报告")
public class OrgUsrSafeReportDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "报告名称")
private String name;
@ApiModelProperty(value = "报告类型")
private String type;
@ApiModelProperty(value = "报告类型code")
private String typeCode;
@ApiModelProperty(value = "生效年份")
private Date takeEffectYear;
@ApiModelProperty(value = "签订时间")
private Date signedDate;
@ApiModelProperty(value = "机构代码用于权限过滤")
private String orgCode;
@ApiModelProperty(value = "所属机场单位名称")
private String company;
@ApiModelProperty(value = "所属机场单位id")
private Long companyId;
@ApiModelProperty(value = "单位类型(1机场单位,0机场部门)")
private String companyType;
@ApiModelProperty(value = "责任人")
private String dutyPerson;
@ApiModelProperty(value = "责任人Id")
private String dutyPersonId;
@ApiModelProperty(value = "附件")
private Map<String, List<AttachmentDto>> attachments;
@ApiModelProperty(value = "合同附件")
private String attachment;
}
package com.yeejoin.amos.boot.module.jcs.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 机场单位消防安全报告
*
* @author litw
* @date 2021-10-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_org_usr_safe_report")
public class OrgUsrSafeReport extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 报告名称
*/
@TableField("name")
private String name;
/**
* 报告类型
*/
@TableField("type")
private String type;
/**
* 报告类型code
*/
@TableField("type_code")
private String typeCode;
/**
* 生效年份
*/
@TableField("take_effect_year")
private Date takeEffectYear;
/**
* 签订时间
*/
@TableField("signed_date")
private Date signedDate;
/**
* 机构代码用于权限过滤
*/
@TableField("org_code")
private String orgCode;
/**
* 所属机场单位名称
*/
@TableField("company")
private String company;
/**
* 所属机场单位id
*/
@TableField("company_id")
private Long companyId;
/**
* 单位类型(1机场单位,0机场部门)
*/
@TableField("company_type")
private String companyType;
/**
* 责任人
*/
@TableField("duty_person")
private String dutyPerson;
/**
* 责任人Id
*/
@TableField("duty_person_id")
private String dutyPersonId;
@ApiModelProperty(value = "合同附件")
private String attachment;
}
package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsrSafeReport;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 机场单位消防安全报告 Mapper 接口
*
* @author litw
* @date 2021-10-09
*/
public interface OrgUsrSafeReportMapper extends BaseMapper<OrgUsrSafeReport> {
}
package com.yeejoin.amos.boot.module.jcs.api.service;
/**
* 机场单位消防安全报告接口类
*
* @author litw
* @date 2021-10-09
*/
public interface IOrgUsrSafeReportService {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jcs.api.mapper.OrgUsrSafeReportMapper">
</mapper>
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.dto.OrgUsrSafeReportDto;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.OrgUsrSafeReportServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* 机场单位消防安全报告
*
* @author litw
* @date 2021-10-09
*/
@RestController
@Api(tags = "机场单位消防安全报告Api")
@RequestMapping(value = "/org-usr-safe-report")
public class OrgUsrSafeReportController extends BaseController {
@Autowired
OrgUsrSafeReportServiceImpl orgUsrSafeReportServiceImpl;
@Autowired
SourceFileServiceImpl sourceFileService;
/**
* 新增机场单位消防安全报告
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增机场单位消防安全报告", notes = "新增机场单位消防安全报告")
public ResponseModel<OrgUsrSafeReportDto> save(@RequestBody OrgUsrSafeReportDto model) {
model = orgUsrSafeReportServiceImpl.createWithModel(model);
if (ObjectUtils.isNotEmpty(model.getAttachments())) {
saveAttachments(model);
}
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/updateById")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新机场单位消防安全报告", notes = "根据sequenceNbr更新机场单位消防安全报告")
public ResponseModel<OrgUsrSafeReportDto> updateBySequenceNbrOrgUsrSafeReport(@RequestBody OrgUsrSafeReportDto model) {
if (ObjectUtils.isNotEmpty(model.getAttachments())) {
saveAttachments(model);
}
return ResponseHelper.buildResponse(orgUsrSafeReportServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除机场单位消防安全报告", notes = "根据sequenceNbr删除机场单位消防安全报告")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(orgUsrSafeReportServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个机场单位消防安全报告", notes = "根据sequenceNbr查询单个机场单位消防安全报告")
public ResponseModel<OrgUsrSafeReportDto> selectOne(@PathVariable Long sequenceNbr) {
OrgUsrSafeReportDto dto = orgUsrSafeReportServiceImpl.queryBySeq(sequenceNbr);
dto.setAttachments(sourceFileService.getAttachments(sequenceNbr));
return ResponseHelper.buildResponse(dto);
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "机场单位消防安全报告分页查询", notes = "机场单位消防安全报告分页查询")
public ResponseModel<Page<OrgUsrSafeReportDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size, OrgUsrSafeReportDto orgUsrSafeReportDto) {
Page<OrgUsrSafeReportDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(orgUsrSafeReportServiceImpl.queryForOrgUsrSafeReportPage(page,
orgUsrSafeReportDto.getName(),
orgUsrSafeReportDto.getType(),
orgUsrSafeReportDto.getTakeEffectYear(),
orgUsrSafeReportDto.getCompanyId()));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "机场单位消防安全报告列表全部数据查询", notes = "机场单位消防安全报告列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<OrgUsrSafeReportDto>> selectForList() {
return ResponseHelper.buildResponse(orgUsrSafeReportServiceImpl.queryForOrgUsrSafeReportList());
}
public void saveAttachments(OrgUsrSafeReportDto orgUsrSafeReportDto) {
if (!ValidationUtil.isEmpty(orgUsrSafeReportDto.getAttachments())) {
List<SourceFile> sourceFiles = Lists.newArrayList();
Map<String, List<AttachmentDto>> attachmentMap = orgUsrSafeReportDto.getAttachments();
attachmentMap.entrySet().forEach(entry -> {
List<AttachmentDto> atts = entry.getValue();
sourceFiles.addAll(attachment2SourceFile(entry.getKey(), atts));
});
sourceFileService.saveSourceFile(orgUsrSafeReportDto.getSequenceNbr(), sourceFiles);
}
}
private List<SourceFile> attachment2SourceFile(String type, List<AttachmentDto> attachmentDtoList) {
List<SourceFile> sourceFiles = Lists.newArrayList();
if (!ValidationUtil.isEmpty(attachmentDtoList)) {
attachmentDtoList.forEach(a -> {
SourceFile s = new SourceFile();
s.setFilePath(a.getUrl());
s.setFileName(a.getName());
s.setFileCategory(type);
sourceFiles.add(s);
});
}
return sourceFiles;
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.dto.OrgUsrSafeReportDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsrSafeReport;
import com.yeejoin.amos.boot.module.jcs.api.mapper.OrgUsrSafeReportMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IOrgUsrSafeReportService;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.Date;
import java.util.List;
/**
* 机场单位消防安全报告服务实现类
*
* @author litw
* @date 2021-10-09
*/
@Service
public class OrgUsrSafeReportServiceImpl extends BaseService<OrgUsrSafeReportDto,OrgUsrSafeReport,OrgUsrSafeReportMapper> implements IOrgUsrSafeReportService {
/**
* 分页查询
*/
public Page<OrgUsrSafeReportDto> queryForOrgUsrSafeReportPage(Page<OrgUsrSafeReportDto> page,
@Condition(Operator.like) String name,
String type,
Date takeEffectYear,
Long companyId) {
return this.queryForPage(page, "rec_date", false, name,type,takeEffectYear,companyId);
}
/**
* 列表查询 示例
*/
public List<OrgUsrSafeReportDto> queryForOrgUsrSafeReportList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment