Commit 565c3b13 authored by litengwei's avatar litengwei

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

# Conflicts: # amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgInstallationNotice.java # amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgInstallationNoticeServiceImpl.java
parents 5291848c 7154906a
...@@ -186,6 +186,23 @@ public class DataDictionaryController extends BaseController { ...@@ -186,6 +186,23 @@ public class DataDictionaryController extends BaseController {
} }
} }
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getDataDictionary/{type}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据字典类型查询字典", notes = "根据字典类型查询字典")
public ResponseModel<Object> getDataDictionary(@PathVariable String type) throws Exception {
// 数据字典生成树方法 原先通过getCode做主键 现修改为 getSequenceNbr 后期数据字典parent字段保存id 而不要保存code by
// kongfm 2021-09-08
// 数据字典还原 by kongfm 2021-09-09
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type);
queryWrapper.eq("is_delete", false);
queryWrapper.orderByAsc("sort_num");
Collection<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
return ResponseHelper.buildResponse(list);
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/dataDictionaryIdFillMenu", method = RequestMethod.GET) @RequestMapping(value = "/dataDictionaryIdFillMenu", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据字典类型查询字典,id为SequenceNbr", notes = "根据字典类型查询字典,id为SequenceNbr") @ApiOperation(httpMethod = "GET", value = "根据字典类型查询字典,id为SequenceNbr", notes = "根据字典类型查询字典,id为SequenceNbr")
......
package com.yeejoin.amos.boot.module.jg.api.dto;
import lombok.Getter;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.nio.file.Files;
@Getter
public class ByteArrayMultipartFile implements MultipartFile {
private byte[] bytes;
private String name;
private String originalFilename;
private String contentType;
public ByteArrayMultipartFile() {
}
public ByteArrayMultipartFile(String name, String originalFilename, String contentType, byte[] bytes) {
super();
this.name = name;
this.originalFilename = originalFilename;
this.contentType = contentType;
this.bytes = bytes;
}
@Override
public boolean isEmpty() {
return bytes.length == 0;
}
@Override
public long getSize() {
return bytes.length;
}
@Override
public InputStream getInputStream() {
return new ByteArrayInputStream(bytes);
}
@Override
public void transferTo(File destination) throws IOException {
try (OutputStream outputStream = Files.newOutputStream(destination.toPath())) {
outputStream.write(bytes);
}
}
}
...@@ -201,6 +201,9 @@ public class JgInstallationNoticeDto extends BaseDto { ...@@ -201,6 +201,9 @@ public class JgInstallationNoticeDto extends BaseDto {
@ApiModelProperty(value = "告知设备列表") @ApiModelProperty(value = "告知设备列表")
private List<Map<String, Object>> deviceList; private List<Map<String, Object>> deviceList;
@ApiModelProperty(value = "告知单PDF URL")
private String noticeReportUrl;
public String getFullAddress() { public String getFullAddress() {
return (StringUtils.isEmpty(this.provinceName) ? "" : this.provinceName) return (StringUtils.isEmpty(this.provinceName) ? "" : this.provinceName)
+ (StringUtils.isEmpty(this.cityName) ? "" : this.cityName) + (StringUtils.isEmpty(this.cityName) ? "" : this.cityName)
......
...@@ -336,6 +336,12 @@ public class JgInstallationNotice extends BaseEntity { ...@@ -336,6 +336,12 @@ public class JgInstallationNotice extends BaseEntity {
private String instanceId; private String instanceId;
/** /**
* 告知单PDF URL
*/
@TableField("notice_report_url")
private String noticeReportUrl;
/**
* 设备注册编码 * 设备注册编码
*/ */
@TableField("equ_register_code") @TableField("equ_register_code")
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.service; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
...@@ -13,7 +14,7 @@ import java.util.Map; ...@@ -13,7 +14,7 @@ import java.util.Map;
* @author system_generator * @author system_generator
* @date 2023-12-12 * @date 2023-12-12
*/ */
public interface IJgInstallationNoticeService { public interface IJgInstallationNoticeService extends IService<JgInstallationNotice> {
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -56,4 +57,12 @@ public interface IJgInstallationNoticeService { ...@@ -56,4 +57,12 @@ public interface IJgInstallationNoticeService {
* @param submitType 保存类型 * @param submitType 保存类型
*/ */
void saveNotice(String submitType, Map<String, JgInstallationNoticeDto> model); void saveNotice(String submitType, Map<String, JgInstallationNoticeDto> model);
/**
* 打印告知单
*
* @param sequenceNbr 主键
* @return pdf文件路径
*/
String generateInstallationNoticeReport(Long sequenceNbr);
} }
...@@ -49,6 +49,18 @@ ...@@ -49,6 +49,18 @@
<select id="queryEquipInformation" resultType="java.util.Map"> <select id="queryEquipInformation" resultType="java.util.Map">
select select
isn.sequence_nbr AS sequenceNbr, isn.sequence_nbr AS sequenceNbr,
isn.install_unit_name AS installUnitName,
isn.apply_no AS applyNo,
isn.province_name AS provinceName,
isn.city_name AS cityName,
isn.county_name AS countyName,
isn.address AS address,
isn.install_start_date AS installStartDate,
isn.install_license_no AS installLicenseNo,
isn.install_license_expiration_date AS installLicenseExpirationDate,
isn.install_leader_name AS installLeaderName,
isn.install_leader_phone AS installLeaderPhone,
isn.use_unit_name AS useUnitName,
ri.equ_list AS equList, ri.equ_list AS equList,
ri.equ_category AS equCategory, ri.equ_category AS equCategory,
ri.EQU_DEFINE AS equDefine, ri.EQU_DEFINE AS equDefine,
......
...@@ -31,6 +31,12 @@ ...@@ -31,6 +31,12 @@
<version>1.10.1</version> <version>1.10.1</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>19.5jdk</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import org.omg.PortableInterceptor.SUCCESSFUL;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil; import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgInstallationNoticeServiceImpl; import com.yeejoin.amos.boot.module.jg.api.service.IJgInstallationNoticeService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -24,8 +18,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper; ...@@ -24,8 +18,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
...@@ -41,7 +33,7 @@ import java.util.Objects; ...@@ -41,7 +33,7 @@ import java.util.Objects;
public class JgInstallationNoticeController extends BaseController { public class JgInstallationNoticeController extends BaseController {
@Autowired @Autowired
JgInstallationNoticeServiceImpl jgInstallationNoticeServiceImpl; private IJgInstallationNoticeService iJgInstallationNoticeService;
/** /**
* 新增 * 新增
...@@ -51,8 +43,8 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -51,8 +43,8 @@ public class JgInstallationNoticeController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增安装告知", notes = "新增安装告知") @ApiOperation(httpMethod = "POST", value = "新增安装告知", notes = "新增安装告知")
public ResponseModel<String> save(@RequestParam String submitType,@RequestBody Map<String, JgInstallationNoticeDto> model) { public ResponseModel<String> save(@RequestParam String submitType, @RequestBody Map<String, JgInstallationNoticeDto> model) {
jgInstallationNoticeServiceImpl.saveNotice(submitType, model); iJgInstallationNoticeService.saveNotice(submitType, model);
return ResponseHelper.buildResponse(""); return ResponseHelper.buildResponse("");
} }
...@@ -69,7 +61,7 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -69,7 +61,7 @@ public class JgInstallationNoticeController extends BaseController {
if (Objects.isNull(installationInfo)) { if (Objects.isNull(installationInfo)) {
throw new IllegalArgumentException("参数installationInfo不能为空"); throw new IllegalArgumentException("参数installationInfo不能为空");
} }
return ResponseHelper.buildResponse(jgInstallationNoticeServiceImpl.updateInstallationNotice(installationInfo, op)); return ResponseHelper.buildResponse(iJgInstallationNoticeService.updateInstallationNotice(installationInfo, op));
} }
/** /**
...@@ -81,7 +73,7 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -81,7 +73,7 @@ public class JgInstallationNoticeController extends BaseController {
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除安装告知", notes = "根据sequenceNbr删除安装告知") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除安装告知", notes = "根据sequenceNbr删除安装告知")
public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbr") Long[] sequenceNbr) { public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbr") Long[] sequenceNbr) {
return ResponseHelper.buildResponse(jgInstallationNoticeServiceImpl.removeById(sequenceNbr)); return ResponseHelper.buildResponse(iJgInstallationNoticeService.removeById(sequenceNbr));
} }
/** /**
...@@ -94,7 +86,7 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -94,7 +86,7 @@ public class JgInstallationNoticeController extends BaseController {
@ApiOperation(value = "根据sequenceNbr删除维保合同备案", notes = "根据sequenceNbr删除维保合同备案") @ApiOperation(value = "根据sequenceNbr删除维保合同备案", notes = "根据sequenceNbr删除维保合同备案")
public ResponseModel<Boolean> deleteForBatch(@RequestParam("sequenceNbrs") Long[] sequenceNbrs) { public ResponseModel<Boolean> deleteForBatch(@RequestParam("sequenceNbrs") Long[] sequenceNbrs) {
try { try {
return ResponseHelper.buildResponse(jgInstallationNoticeServiceImpl.deleteForBatch(sequenceNbrs)); return ResponseHelper.buildResponse(iJgInstallationNoticeService.deleteForBatch(sequenceNbrs));
} catch (Exception e) { } catch (Exception e) {
return CommonResponseUtil.failure(e.getMessage()); return CommonResponseUtil.failure(e.getMessage());
} }
...@@ -110,7 +102,7 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -110,7 +102,7 @@ public class JgInstallationNoticeController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个安装告知", notes = "根据sequenceNbr查询单个安装告知") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个安装告知", notes = "根据sequenceNbr查询单个安装告知")
public ResponseModel<Map<String, public ResponseModel<Map<String,
Map<String, Object>>> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) { Map<String, Object>>> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgInstallationNoticeServiceImpl.queryBySequenceNbr(sequenceNbr)); return ResponseHelper.buildResponse(iJgInstallationNoticeService.queryBySequenceNbr(sequenceNbr));
} }
...@@ -131,18 +123,16 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -131,18 +123,16 @@ public class JgInstallationNoticeController extends BaseController {
@RequestBody(required = false) JgInstallationNoticeDto model @RequestBody(required = false) JgInstallationNoticeDto model
) { ) {
Page<JgInstallationNotice> page = new Page<>(current, size); Page<JgInstallationNotice> page = new Page<>(current, size);
return ResponseHelper.buildResponse(jgInstallationNoticeServiceImpl.queryForJgInstallationNoticePage(page, model, type)); return ResponseHelper.buildResponse(iJgInstallationNoticeService.queryForJgInstallationNoticePage(page, model, type));
} }
/** /**
* 列表全部数据查询 * 生成告知单
*
* @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "安装告知列表全部数据查询", notes = "安装告知列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "安装告知列表全部数据查询", notes = "安装告知列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/generate-report")
public ResponseModel<List<JgInstallationNoticeDto>> selectForList() { public ResponseModel<String> generateReport(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgInstallationNoticeServiceImpl.queryForJgInstallationNoticeList()); return ResponseHelper.buildResponse(iJgInstallationNoticeService.generateInstallationNoticeReport(sequenceNbr));
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.aspose.words.SaveFormat;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils; import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.ByteArrayMultipartFile;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRelationEquip; import com.yeejoin.amos.boot.module.jg.api.entity.JgRelationEquip;
...@@ -18,10 +19,14 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; ...@@ -18,10 +19,14 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils; import com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.OtherInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.OtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils;
import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.service.ICreateCodeService; import com.yeejoin.amos.boot.module.ymt.api.service.ICreateCodeService;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult; import com.yeejoin.amos.feign.workflow.model.AjaxResult;
...@@ -35,12 +40,21 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -35,12 +40,21 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.text.ParseException; import java.text.ParseException;
...@@ -72,7 +86,6 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -72,7 +86,6 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
@Autowired @Autowired
private JgInstallationNoticeMapper jgInstallationNoticeMapper; private JgInstallationNoticeMapper jgInstallationNoticeMapper;
@Autowired @Autowired
private ICreateCodeService iCreateCodeService; private ICreateCodeService iCreateCodeService;
// @Autowired // @Autowired
...@@ -86,6 +99,20 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -86,6 +99,20 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
public static byte[] file2byte(File file) {
try {
FileInputStream in = new FileInputStream(file);
//当文件没有结束时,每次读取一个字节显示
byte[] data = new byte[in.available()];
in.read(data);
in.close();
return data;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
* *
...@@ -96,6 +123,9 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -96,6 +123,9 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
public Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr) { public Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr) {
// 安装告知信息 // 安装告知信息
JgInstallationNotice notice = jgInstallationNoticeMapper.selectById(sequenceNbr); JgInstallationNotice notice = jgInstallationNoticeMapper.selectById(sequenceNbr);
if (Objects.isNull(notice)) {
return null;
}
Map<String, Object> installationInfo = BeanUtil.beanToMap(notice); Map<String, Object> installationInfo = BeanUtil.beanToMap(notice);
installationInfo.put("province", notice.getProvince() + "_" + notice.getProvinceName()); installationInfo.put("province", notice.getProvince() + "_" + notice.getProvinceName());
...@@ -178,6 +208,17 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -178,6 +208,17 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
} catch (Exception e) { } catch (Exception e) {
log.error("提交失败:{}", e); log.error("提交失败:{}", e);
} }
// 生成告知单
JgInstallationNotice jgInstallationNotice = this.getById(noticeDto.getSequenceNbr());
if (String.valueOf(FlowStatusEnum.SUBMITTED.getCode()).equals(jgInstallationNotice.getNoticeStatus())) {
String reportUrl = this.generateInstallationNoticeReport(jgInstallationNotice.getSequenceNbr());
if (StringUtils.hasText(reportUrl)) {
jgInstallationNotice.setNoticeReportUrl(reportUrl);
jgInstallationNoticeMapper.updateById(jgInstallationNotice);
}
}
return noticeDto; return noticeDto;
} }
...@@ -241,6 +282,113 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -241,6 +282,113 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
return this.updateBatchById(jgInstallationNotices); return this.updateBatchById(jgInstallationNotices);
} }
/**
* 打印安装告知单
*
* @param sequenceNbr 主键
* @return pdf文件路径
*/
@Override
public String generateInstallationNoticeReport(Long sequenceNbr) {
if (Objects.isNull(sequenceNbr)) {
throw new IllegalArgumentException("参数不能为空");
}
JgInstallationNotice jgInstallationNotice = this.getById(sequenceNbr);
List<Map<String, Object>> informationList = jgInstallationNoticeMapper.queryEquipInformation(sequenceNbr);
if (Objects.isNull(jgInstallationNotice) || CollectionUtils.isEmpty(informationList)) {
throw new IllegalArgumentException("安装告知单不存在");
}
Map<String, Object> installation = informationList.get(0);
Function<String, String> getValue = key -> installation.getOrDefault(key, "").toString();
// 组装模板变量
Map<String, Object> placeholders = new HashMap<>();
placeholders.put("sequenceNbr", getValue.apply("sequenceNbr"));
placeholders.put("installUnitName", getValue.apply("installUnitName"));
placeholders.put("applyNo", getValue.apply("applyNo"));
placeholders.put("productName", getValue.apply("productName"));
placeholders.put("equipType", getValue.apply("equType"));
placeholders.put("equipCode", getValue.apply("equipCode")); // TODO: 设备代码
placeholders.put("produceCode", getValue.apply("produceCode")); // TODO: 制造编号
placeholders.put("produceUnitName", getValue.apply("produceUnitName"));
placeholders.put("produceLicenseNum", getValue.apply("produceLicenseNum"));
placeholders.put("fullAddress", getValue.apply("provinceName") + getValue.apply("cityName") + getValue.apply("countyName") + getValue.apply("address"));
placeholders.put("installStartDate", getValue.apply("installStartDate"));
placeholders.put("installType", getValue.apply("installType")); // TODO: 施工类别
placeholders.put("installLicenseNo", getValue.apply("installLicenseNo"));
placeholders.put("installLicenseExpirationDate", getValue.apply("installLicenseExpirationDate"));
placeholders.put("installLeaderName", getValue.apply("installLeaderName"));
placeholders.put("installLeaderPhone", getValue.apply("installLeaderPhone"));
placeholders.put("installUnitAddress", getValue.apply("useUnitName")); // TODO: 施工单位地址
placeholders.put("useUnitName", getValue.apply("useUnitName"));
placeholders.put("useUnitLeaderName", getValue.apply("useUnitLeaderName")); // TODO: 使用单位联系人
placeholders.put("useUnitLeaderPhone", getValue.apply("useUnitLeaderPhone")); // TODO: 使用单位联系人电话
placeholders.put("useUnitLeaderAddress", getValue.apply("useUnitLeaderAddress")); // TODO: 使用单位联系人地址
// 生成二维码
String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300);
placeholders.put("qrCode", qrCode);
// word转pdf
File pdfFile;
try {
pdfFile = this.wordToPdf("installation-notification-report.ftl", placeholders);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 上传pdf至文件服务器
String url = this.uploadFile(pdfFile);
// 删除临时文件
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (IOException e) {
log.error("删除临时文件失败:{}", e);
}
// 更新到数据库
jgInstallationNotice.setNoticeReportUrl(url);
this.updateById(jgInstallationNotice);
return url;
}
/**
* word 转 pdf
*
* @param wordPath word文件路径
*/
private File wordToPdf(String wordPath, Map<String, Object> placeholders) throws Exception {
Assert.hasText(wordPath, "word文件路径不能为空");
String tempFileName = "安装告知单_" + System.currentTimeMillis() + "_temp.pdf";
WordTemplateUtils instance = WordTemplateUtils.getInstance();
return instance.fillAndConvertDocFile(wordPath, tempFileName, placeholders, SaveFormat.PDF);
}
/**
* 上传文件至文件服务器
*
* @param file 文件
*/
private String uploadFile(File file) {
Assert.notNull(file, "文件不能为空");
MultipartFile multipartFile = new ByteArrayMultipartFile("file", "file.pdf", "application/pdf", file2byte(file));
FeignClientResult<Map<String, String>> result = Systemctl.fileStorageClient.updateCommonFile(multipartFile);
String urlString = "";
if (result != null) {
for (String s : result.getResult().keySet()) {
urlString = s;
}
}
return urlString;
}
@Override @Override
@SuppressWarnings({"Duplicates", "rawtypes"}) @SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
......
...@@ -12,6 +12,7 @@ import java.awt.*; ...@@ -12,6 +12,7 @@ import java.awt.*;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.*; import java.io.*;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Base64;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -302,4 +303,35 @@ public class ImageUtils { ...@@ -302,4 +303,35 @@ public class ImageUtils {
} }
} }
/**
* 生成二维码(白色背景),并将其转换成base64
*
* @param text 二维码内容
* @param width 二维码宽度
* @param height 二维码高度
* @return base64
*/
public static String generateQRCode(String text, int width, int height) {
try {
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
BitMatrix bm = multiFormatWriter.encode(text, BarcodeFormat.QR_CODE, width, height, hints);
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// 二维码颜色:黑色
int QRCOLOR = 0x201f1f;
//二维码背景颜色:白色
int BGWHITE = 0xFFFFFF;
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
image.setRGB(x, y, bm.get(x, y) ? QRCOLOR : BGWHITE);
}
}
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(image, "png", outputStream);
return Base64.getEncoder().encodeToString(outputStream.toByteArray());
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
} }
package com.yeejoin.amos.boot.module.jg.biz.utils;
import com.aspose.words.Document;
import com.aspose.words.License;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@Slf4j
public class WordTemplateUtils {
public static final String BASE_PACKAGE_PATH = "/templates";
private static WordTemplateUtils wordTemplateUtils;
private final Configuration configuration;
private WordTemplateUtils() {
configuration = new Configuration(Configuration.VERSION_2_3_23);
}
public static synchronized WordTemplateUtils getInstance() {
if (wordTemplateUtils == null) {
wordTemplateUtils = new WordTemplateUtils();
}
return wordTemplateUtils;
}
/**
* 创建doc并写入内容
*
* @param templatePath doc模板文件路径
* @param dataMap 内容
* @param template 模板
* @return doc文件
*/
private File createDoc(String templatePath, Map<String, ?> dataMap, Template template) throws TemplateException, IOException {
// templatePath在后缀之前加上UUID是为了防止并发时多个线程使用同一个模板文件而导致生成的Word文档内容不一致
int i = templatePath.lastIndexOf(".");
templatePath = UUID.randomUUID() + templatePath.substring(i);
if (templatePath.endsWith(".ftl")) {
templatePath = templatePath.replace(".ftl", ".doc");
}
File docFile = new File(templatePath);
try (
// 这个地方不能使用FileWriter因为需要指定编码类型否则生成的Word文档会因为有无法识别的编码而无法打开
Writer writer = new OutputStreamWriter(Files.newOutputStream(docFile.toPath()), StandardCharsets.UTF_8)
) {
template.process(dataMap, writer);
}
return docFile;
}
public File fillAndConvertDocFile(String templatePath, String targetFileName, Map<String, ?> map, int saveFormat) throws Exception {
// 指定模板所在包路径
configuration.setClassForTemplateLoading(this.getClass(), BASE_PACKAGE_PATH);
// 获取模板, 生成Word文档
Template freemarkerTemplate = configuration.getTemplate(templatePath, "UTF-8");
map = new HashMap<>(map);
File docFile = createDoc(templatePath, map, freemarkerTemplate);
// 转换Word文档
File converedFile = converDocFile(docFile.getAbsolutePath(), targetFileName, saveFormat);
// 删除临时文件
Files.deleteIfExists(docFile.toPath());
return converedFile;
}
/**
* word转换
*
* @param docPath word文件路径
* @param targetPath 转换后文件路径
* @param saveFormat 目标文件类型 取自 com.aspose.words.SaveFormat
*/
private File converDocFile(String docPath, String targetPath, int saveFormat) throws Exception {
// 验证License 若不验证则转化出的pdf文档会有水印产生
if (!getLicense()) {
throw new RuntimeException("验证License失败");
}
if (StringUtils.isEmpty(docPath)) {
throw new FileNotFoundException("文档文件不存在");
}
try (
InputStream inputStream = Files.newInputStream(Paths.get(docPath));
OutputStream outputStream = Files.newOutputStream(Paths.get(targetPath));
) {
File targetFile = new File(targetPath);
Document doc = new Document(inputStream);
doc.save(outputStream, saveFormat);
return targetFile;
}
}
/**
* 获取License
*
* @return boolean
*/
private boolean getLicense() {
boolean result = false;
try {
String s = "<License><Data><Products><Product>Aspose.Total for Java</Product><Product>Aspose.Words for Java</Product></Products><EditionType>Enterprise</EditionType><SubscriptionExpiry>20991231</SubscriptionExpiry><LicenseExpiry>20991231</LicenseExpiry><SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber></Data><Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature></License>";
ByteArrayInputStream is = new ByteArrayInputStream(s.getBytes());
License license = new License();
license.setLicense(is);
result = true;
} catch (Exception e) {
log.error("获取License失败", e);
}
return result;
}
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<pkg:package xmlns:pkg="http://schemas.microsoft.com/office/2006/xmlPackage"><pkg:part pkg:name="/_rels/.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml"><pkg:xmlData><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties" Target="docProps/custom.xml"/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/_rels/document.xml.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml"><pkg:xmlData><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.png"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/document.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"><pkg:xmlData><w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" xmlns:wpsCustomData="http://www.wps.cn/officeDocument/2013/wpsCustomData" mc:Ignorable="w14 w15 wp14"><w:body><w:p><w:pPr><w:keepNext w:val="0"/><w:keepLines w:val="0"/><w:pageBreakBefore w:val="0"/><w:widowControl w:val="0"/><w:kinsoku/><w:wordWrap/><w:overflowPunct/><w:topLinePunct w:val="0"/><w:autoSpaceDE/><w:autoSpaceDN/><w:bidi w:val="0"/><w:adjustRightInd/><w:snapToGrid/><w:spacing w:line="300" w:lineRule="auto"/><w:textAlignment w:val="auto"/><w:rPr><w:rFonts w:hint="default"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>ID: ${sequenceNbr}</w:t></w:r></w:p><w:p><w:pPr><w:keepNext w:val="0"/><w:keepLines w:val="0"/><w:pageBreakBefore w:val="0"/><w:widowControl w:val="0"/><w:kinsoku/><w:wordWrap/><w:overflowPunct/><w:topLinePunct w:val="0"/><w:autoSpaceDE/><w:autoSpaceDN/><w:bidi w:val="0"/><w:adjustRightInd/><w:snapToGrid/><w:spacing w:line="300" w:lineRule="auto"/><w:textAlignment w:val="auto"/><w:rPr><w:rFonts w:hint="default"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>附件</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:line="360" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="52"/><w:szCs w:val="52"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:drawing><wp:anchor distT="0" distB="0" distL="114300" distR="114300" simplePos="0" relativeHeight="251659264" behindDoc="0" locked="0" layoutInCell="1" allowOverlap="1"><wp:simplePos x="0" y="0"/><wp:positionH relativeFrom="column"><wp:posOffset>4432300</wp:posOffset></wp:positionH><wp:positionV relativeFrom="paragraph"><wp:posOffset>545465</wp:posOffset></wp:positionV><wp:extent cx="921385" cy="921385"/><wp:effectExtent l="0" t="0" r="12065" b="12065"/><wp:wrapNone/><wp:docPr id="1" name="图片 1"/><wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"/></wp:cNvGraphicFramePr><a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:nvPicPr><pic:cNvPr id="1" name="图片 1"/><pic:cNvPicPr><a:picLocks noChangeAspect="1"/></pic:cNvPicPr></pic:nvPicPr><pic:blipFill><a:blip r:embed="rId4"/><a:stretch><a:fillRect/></a:stretch></pic:blipFill><pic:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="921385" cy="921385"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/><a:ln><a:noFill/></a:ln></pic:spPr></pic:pic></a:graphicData></a:graphic></wp:anchor></w:drawing></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="52"/><w:szCs w:val="52"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>特种设备安装改造维修告知书</w:t></w:r></w:p><w:p><w:pPr><w:keepNext w:val="0"/><w:keepLines w:val="0"/><w:pageBreakBefore w:val="0"/><w:widowControl w:val="0"/><w:kinsoku/><w:wordWrap/><w:overflowPunct/><w:topLinePunct w:val="0"/><w:autoSpaceDE/><w:autoSpaceDN/><w:bidi w:val="0"/><w:adjustRightInd/><w:snapToGrid/><w:spacing w:line="240" w:lineRule="auto"/><w:textAlignment w:val="auto"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t xml:space="preserve">施工单位: </w:t></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="28"/><w:szCs w:val="28"/><w:u w:val="single"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>${installUnitName}</w:t></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>(加盖公章)</w:t></w:r></w:p><w:p><w:pPr><w:keepNext w:val="0"/><w:keepLines w:val="0"/><w:pageBreakBefore w:val="0"/><w:widowControl w:val="0"/><w:kinsoku/><w:wordWrap/><w:overflowPunct/><w:topLinePunct w:val="0"/><w:autoSpaceDE/><w:autoSpaceDN/><w:bidi w:val="0"/><w:adjustRightInd/><w:snapToGrid/><w:spacing w:line="720" w:lineRule="auto"/><w:textAlignment w:val="auto"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="10"/><w:szCs w:val="10"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>告知书编号:</w:t></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="28"/><w:szCs w:val="28"/><w:u w:val="single"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>${applyNo}</w:t></w:r><w:bookmarkStart w:id="0" w:name="_GoBack"/><w:bookmarkEnd w:id="0"/></w:p><w:tbl><w:tblPr><w:tblStyle w:val="8"/><w:tblW w:w="4998" w:type="pct"/><w:jc w:val="center"/><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblLayout w:type="fixed"/><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr><w:tblGrid><w:gridCol w:w="1736"/><w:gridCol w:w="1253"/><w:gridCol w:w="1256"/><w:gridCol w:w="1765"/><w:gridCol w:w="1253"/><w:gridCol w:w="1256"/></w:tblGrid><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>设备名称</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1472" w:type="pct"/><w:gridSpan w:val="2"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${productName}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1036" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>型号(参数)</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1471" w:type="pct"/><w:gridSpan w:val="2"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="720" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${equipType}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>设备代码</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1472" w:type="pct"/><w:gridSpan w:val="2"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${equipCode}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1036" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>制造编号</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1471" w:type="pct"/><w:gridSpan w:val="2"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="720" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${produceCode}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>设备制造单位全称</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1472" w:type="pct"/><w:gridSpan w:val="2"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${produceUnitName}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1036" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>制造许可证编号</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1471" w:type="pct"/><w:gridSpan w:val="2"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="720" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${produceLicenseNum}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>设备地点</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1472" w:type="pct"/><w:gridSpan w:val="2"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${fillAddress}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1036" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>安装改造维修日期</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1471" w:type="pct"/><w:gridSpan w:val="2"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${installStartDate}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>施工单位全称</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="3980" w:type="pct"/><w:gridSpan w:val="5"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="720" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${installUnitName}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>施工类别</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="735" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${installType}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="736" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>许可证编号</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1036" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${installLicenseNo}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="735" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>许可证有效期</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="736" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${installLicenseExpirationDate}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>联系人</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1472" w:type="pct"/><w:gridSpan w:val="2"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${installLeaderName}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1036" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>电话</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1471" w:type="pct"/><w:gridSpan w:val="2"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${installLeaderPhone}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>地址</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="3980" w:type="pct"/><w:gridSpan w:val="5"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${installUnitAddress}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>使用单位全称</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="3980" w:type="pct"/><w:gridSpan w:val="5"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${useUnitName}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>联系人</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1472" w:type="pct"/><w:gridSpan w:val="2"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${useUnitLeaderName}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1036" w:type="pct"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>电话</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="1471" w:type="pct"/><w:gridSpan w:val="2"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${useUnitLeaderPhone}</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tblPrEx><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPrEx><w:trPr><w:trHeight w:val="794" w:hRule="exact"/><w:jc w:val="center"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="1019" w:type="pct"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>地址</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="3980" w:type="pct"/><w:gridSpan w:val="5"/><w:shd w:val="clear" w:color="auto" w:fill="FFFFFF"/><w:noWrap w:val="0"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="BEBEBE"/><w:kern w:val="0"/><w:sz w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体"/><w:b/><w:bCs/><w:i w:val="0"/><w:iCs w:val="0"/><w:color w:val="262626" w:themeColor="text1" w:themeTint="D9"/><w:kern w:val="0"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="85000"/><w14:lumOff w14:val="15000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>${useUnitLeaderAddress}</w:t></w:r></w:p></w:tc></w:tr></w:tbl><w:p><w:pPr><w:spacing w:line="360" w:lineRule="auto"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>注:1、告知单按每台设备填写。</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:line="240" w:lineRule="auto"/><w:ind w:firstLine="480" w:firstLineChars="200"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="黑体" w:hAnsi="黑体" w:eastAsia="黑体" w:cs="黑体"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>2、施工单位应提供特种设备许可证书复印件(加盖单位公章)。</w:t></w:r></w:p><w:p><w:pPr><w:keepNext w:val="0"/><w:keepLines w:val="0"/><w:pageBreakBefore w:val="0"/><w:widowControl w:val="0"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="0"/></w:numPr><w:kinsoku/><w:wordWrap/><w:overflowPunct/><w:topLinePunct w:val="0"/><w:autoSpaceDE/><w:autoSpaceDN/><w:bidi w:val="0"/><w:adjustRightInd/><w:snapToGrid/><w:spacing w:line="300" w:lineRule="auto"/><w:textAlignment w:val="auto"/><w:rPr><w:sz w:val="28"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="等线" w:hAnsi="等线" w:eastAsia="等线" w:cs="等线"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>按照市委政府关于“四改两拆”三年攻坚行动实施方案要求,市域范围内的建筑物和建设项目,须符合城乡建设规划要求和《土地管理法》之要求并须取得合法手续,按要求,特种设备不允许装于不符合相关法规的建筑物之内。据此要求。</w:t></w:r></w:p><w:sectPr><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="851" w:footer="992" w:gutter="0"/><w:cols w:space="0" w:num="1"/><w:rtlGutter w:val="0"/><w:docGrid w:type="lines" w:linePitch="312" w:charSpace="0"/></w:sectPr></w:body></w:document></pkg:xmlData></pkg:part><pkg:part pkg:name="/docProps/app.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"><pkg:xmlData><Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Template>Normal.dotm</Template><Company>Microsoft</Company><Pages>3</Pages><Words>262</Words><Characters>534</Characters><Lines>5</Lines><Paragraphs>1</Paragraphs><TotalTime>7</TotalTime><ScaleCrop>false</ScaleCrop><LinksUpToDate>false</LinksUpToDate><CharactersWithSpaces>552</CharactersWithSpaces><Application>WPS Office_12.1.0.16120_F1E327BC-269C-435d-A152-05C5408002CA</Application><DocSecurity>0</DocSecurity></Properties></pkg:xmlData></pkg:part><pkg:part pkg:name="/docProps/core.xml" pkg:contentType="application/vnd.openxmlformats-package.core-properties+xml"><pkg:xmlData><cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dcterms:created xsi:type="dcterms:W3CDTF">2021-04-07T06:02:00Z</dcterms:created><dc:creator>徐铁龙</dc:creator><cp:lastModifiedBy>DELL</cp:lastModifiedBy><cp:lastPrinted>2021-04-07T06:46:00Z</cp:lastPrinted><dcterms:modified xsi:type="dcterms:W3CDTF">2023-12-15T11:58:19Z</dcterms:modified><cp:revision>14</cp:revision></cp:coreProperties></pkg:xmlData></pkg:part><pkg:part pkg:name="/docProps/custom.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.custom-properties+xml"><pkg:xmlData><Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="2" name="KSOProductBuildVer"><vt:lpwstr>2052-12.1.0.16120</vt:lpwstr></property><property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="3" name="ICV"><vt:lpwstr>B40FDDD478184802856A4291EB47F93F_13</vt:lpwstr></property></Properties></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/fontTable.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"><pkg:xmlData><w:fonts xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" mc:Ignorable="w14"><w:font w:name="Times New Roman"><w:panose1 w:val="02020603050405020304"/><w:charset w:val="00"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="20007A87" w:usb1="80000000" w:usb2="00000008" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/></w:font><w:font w:name="宋体"><w:panose1 w:val="02010600030101010101"/><w:charset w:val="86"/><w:family w:val="auto"/><w:pitch w:val="default"/><w:sig w:usb0="00000203" w:usb1="288F0000" w:usb2="00000006" w:usb3="00000000" w:csb0="00040001" w:csb1="00000000"/></w:font><w:font w:name="Wingdings"><w:panose1 w:val="05000000000000000000"/><w:charset w:val="02"/><w:family w:val="auto"/><w:pitch w:val="default"/><w:sig w:usb0="00000000" w:usb1="00000000" w:usb2="00000000" w:usb3="00000000" w:csb0="80000000" w:csb1="00000000"/></w:font><w:font w:name="Arial"><w:panose1 w:val="020B0604020202020204"/><w:charset w:val="01"/><w:family w:val="swiss"/><w:pitch w:val="default"/><w:sig w:usb0="E0002EFF" w:usb1="C000785B" w:usb2="00000009" w:usb3="00000000" w:csb0="400001FF" w:csb1="FFFF0000"/></w:font><w:font w:name="黑体"><w:panose1 w:val="02010609060101010101"/><w:charset w:val="86"/><w:family w:val="auto"/><w:pitch w:val="default"/><w:sig w:usb0="800002BF" w:usb1="38CF7CFA" w:usb2="00000016" w:usb3="00000000" w:csb0="00040001" w:csb1="00000000"/></w:font><w:font w:name="Courier New"><w:panose1 w:val="02070309020205020404"/><w:charset w:val="01"/><w:family w:val="modern"/><w:pitch w:val="default"/><w:sig w:usb0="E0002EFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" w:csb0="400001FF" w:csb1="FFFF0000"/></w:font><w:font w:name="Symbol"><w:panose1 w:val="05050102010706020507"/><w:charset w:val="02"/><w:family w:val="roman"/><w:pitch w:val="default"/><w:sig w:usb0="00000000" w:usb1="00000000" w:usb2="00000000" w:usb3="00000000" w:csb0="80000000" w:csb1="00000000"/></w:font><w:font w:name="Calibri"><w:panose1 w:val="020F0502020204030204"/><w:charset w:val="00"/><w:family w:val="swiss"/><w:pitch w:val="default"/><w:sig w:usb0="E4002EFF" w:usb1="C000247B" w:usb2="00000009" w:usb3="00000000" w:csb0="200001FF" w:csb1="00000000"/></w:font><w:font w:name="等线"><w:panose1 w:val="02010600030101010101"/><w:charset w:val="86"/><w:family w:val="auto"/><w:pitch w:val="default"/><w:sig w:usb0="A00002BF" w:usb1="38CF7CFA" w:usb2="00000016" w:usb3="00000000" w:csb0="0004000F" w:csb1="00000000"/></w:font></w:fonts></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/media/image1.png" pkg:contentType="image/png"><pkg:binaryData>iVBORw0KGgoAAAANSUhEUgAAAJEAAACRCAIAAABMus10AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAL
mElEQVR4nO2da1BURxbH58k4M4CAgqDgC6IWAyiKIT4I+Cgkoqs7MSrvTZURgc3WRlzRuApW0ESj
frBWBqwy0RVFK2owiAuYGNzA4itb4iBSoGJRWGBRoqOjCCjsB6uYO90jt+cyA56t8/vk/DndfWb+
2DRN39Pi3t5eEQIKyVAngFgNegYPWd+/CgsLr1+7NoSp9LE+Pd3NzY2r6PX6kydOEGEpqaljxozh
Knfu3Dn8/fdE2J8+/dTPz09AGu3t7fv27hXQ0OaEzJy5fPnyvpcmz65euVJQUDAUKZGsTU4mPGtq
ajp27BgRtmr1asKz1tZWOizqo4+EeWY0GunehoSenh6uZzg3wgM9gwd6Bg/0DB6y/r8skdjX1N7e
XsG/1Pf09Lx+/ZpQWMIsIpFIxGIxb5hYLGYJGwgW3wWX/jxzdnauvnnTpvmQHD9+fMuXXwpru3zZ
MpawpMRElrB/HDgQHR3NG5a9Y0dsbCxLh4KZGhT09OnTfgJwboQHegYP9Awe6Bk80DN48Kz1aa5f
v16j1wsbLCY2VqFQCGsrmMjISK/Ro3nDxo8fL6z/zs7OguPHhbUNCAwMCQmxtpXVnv3y88+5ubnW
tnrDH7XawfcsITFx7ty59uv/5cuX27dvF9Z23bp1AjzDuREe6Bk80DN4oGfwQM/gYfW6cUgIDw//
5eJFQlyXnNzQ0MBVpk+f/u2ePUTY3j17tm3dyjvEtszMiIiIgaU5SMDwzNHR0dHRkRDpXxuUSuXE
iRMJ0WAwNDY28g7x/PnzgWQ4mODcCA/0DB7oGTzQM3jAWIO0tbXV1dURop+fn4uLC1fRaDR024CA
AOIEh9FovHHjhs2THDRgeHb16tU/p6UR4k9FRYGBgbxtN23eTCh6vf4PS5faLLlBB+dGeKBn8EDP
4IGewQM9g4fV60atVhs8fbqwwVQqlbCGM2bMyDt4kBDHjRvH0nbfvn11t29zlf5P6VqLSqWic2Nk
gqBDKFZ79t6kSe9NmiRgpIHg6enp6ekprO1/f/+9srLStvlwkcvlkZGR9uufBudGeKBn8EDP4IGe
waO/NUhPT09LS4tdhzcYDCxhHR0dT548IcSRI0fK5XKu0tnZ2d7eToSp1Wpi/dLd3f3o0SPrkxWJ
RCKDwWDvz2RAzwwajcbZs2bZNB+BXLx4kWWP+Nq1awnx8UTY0fx84hzxQPaId+/atXvXLmFtbQXO
jfBAz+CBnsEDPYMHegYP07px0aJFPj4+Q5hKH8OHDyeUyZMnb9y4kRBLSkrOnz/PVaRSKR12+fJl
Yr+xra2NMQ26tyHB39+f+1IMt07q0iVLampquMqcOXPyqUpw8XFxLHvEjPVB3gVwboQHegYP9Awe
6Bk80DN4mNaNWZmZp06d4n7Nycmp6vJlll4CLB26tjeHjxyZMmUKV5FKpUqlkgjr6OggagHW1tau
WrmSCFMoFDKZ2Y75mDFjSsvKeNMwGAxzZs8mxL9+8cWaNWsIUfCntGLFiixOOQtTll1dXcRzc1Kp
lLHTIXngTqFQ0A8S0tAu0opIJOrs7Ozs7OQqHR0djJnQb7+7u5sljJGuri7uS5wb4YGewQM9gwd6
Bg/TGiQ4OJj4ISyVyU6fPs3Si1artXFe5jQ/eHD1yhXesIcPH1ZUVBDi3LlzR40axdv2/dBQb/Nb
MRTDhtFvPzg4mC6NYFuWLF3qYH7OJTg4mPvS5NknK1d+Yr4CNhgM06ZOZRmm8f594TkyUFxczOJZ
Q0PDhvR0Qjyan8/iWWJiIrFH3NTUFP7hh0TYjp077e1ZdnY2/ZcNLjg3wgM9gwd6Bg/0DB7oGTxM
68acAweILdHXr17RDRISEz+mVvbLqGtAtFptUlIS7/AlJSU6nY4Q8/LyWJ42S1+/Xmn+EKLx2TPe
ViKRyNfXt7CwkBDHsT2+l5OTc/LkSa4yTKGgeyu7cIH+TGi0Wm0idTXK2s8+e2n+S9eiyMhUzjFq
k2fNzc03q6t5h/Hy8po6bRoh0g0ZD423t7fTbYkt0bdBFAJkR6VS0W+BkQfNzQ+am7mKs7Mz3VtJ
SQnLh+nh4UG3raurI55E1Zif4cG5ER7oGTzQM3igZ/AwrUG8vb2DzHcXX796devWLbsO7+bmFkRt
aTo4ONhwiLt37zqZ/zlbqVJNokov3L9/32D+WGL748d0bjRqtZoxE7o3iVRaTVW4470V0eRZalpa
qvlzeex7xIKJioqKioqy6xBZmZmEEhAQUHTuHCF+u3s3cZLcx8fn37/9ZsNMzp49Syg6nY578TQj
ODfCAz2DB3oGD/QMHugZPPqrNaFUKvfs3UuIAQEBdCQd1tzcnL5+PSF+lZ1NlJarqqo69cMPvFmO
GDGCHoKmvr7+YF4eIa5NTiZW9kTl6bfx6NEj+i0wMnbcOJaE58+f7+HhwRs2YcIE7kt7PTOo0+no
Oho3qquJkw6Md4ovXrz4QE4Ob1hFRQVLfRCLpKWmEmv9gbAxIyMlJcVWvRHg3AgP9Awe6Bk80DN4
2OseC7lczrJ5KpPJWMKkUqnRaOQN6+rqonvr6upiafvK0kEKwTAOahG1Wk1clkIAo9ZEcXExXVeO
ZiC1Jt4d6NU1Ac6N8EDP4IGewQM9gwd6Bg/TWv9SeXltbe0QptJHbFxc/wunN3y8YoW7uztXkUql
OmpbclpwcGBQEFdpa2s7bV5VwyJOTk5x1O7lpfLy2+Y3mVgkNDSUvqEllzoxbZHvDh0aNmwYV/H3
9w/n3J1t8qy0tLSgoIClU3sTvWQJi2dJSUlEDWnGPWK9Xs/imYuLS0ZGBiEanjxh8Sw8IoLeI2b0
bP/+/YQSExPD9QznRnigZ/BAz+CBnsEDPYNHf/v6jo6OZRcu2HX4wsJCG17lMXPmzP9UVRFiVmbm
3zZs4CoWC4h9lZ29YMECrtLa2jrrgw+IsHUpKcQQz549WyT0zrr4+PhUhr1v4hBNf55JJBIvLy9h
2TDCsqZnR6FQ0Ak/f/68tbWVt62rqyvRtru7m24ol8uJMMEXXopEIkdHRwGfMM6N8EDP4IGewQM9
g4fV50Ea6usFVySbN28ecTMgOGpra8vMK3K8ePFCcG+NjY1lDCWPvb29udePWO3ZmTNncnNzrW31
Bt6TDu8+x/Lzj+Xn26q30tLS0tJS3rCYmJidX3/d9xLnRnigZ/BAz+CBnsEDPYOHvc5+DwLbtm4l
7rHQaDSbNm+2Vf/u7u7/PHqUEL87dKi8vJyrqFSqXOpBxfFsVeqio6NXrV7NG0ZU2QPs2Q2qGopt
z7ErlcqwsDBC/Bf1XKFMJqPDGPHx8RHQFudGeKBn8EDP4IGewQPGGkStVhP1FixisYqxp6cnS1uj
0Xjv3j3eMAcHB6I3lUpFN3Rzc6MrWtBpSCQSlkGdnJy4J6ZheBYRERHBOUhrFSx1OkQiUVpq6ibq
1DDNjp07uVf+id5Sfc9irYmLv/5KKDqdbsH8+byD4h4xeNAzeKBn8EDP4IGewcPqdeOChQtZroCz
CPEo3ADJy8traWnhDUtISPD19bXVoOeKiurr67mKRCzOpEoeP378OCsri7c3vV5PixszMpTmHxRR
F89qz0JCQkJCQqxtZQ/OFRXV1NTwhi1cuNCGnlVVVVWZn/12dnauvnmTCNv1zTdHDh8WNkRsbCzW
B/l/Az2DB3oGD/QMHugZPPpbNz59+tTXzncxM54GKC4u/svnnxPimR9/JApaV1ZWJlHX9iUmJBCl
9TQazU9FRbyDent7l1+6RIh/37LlxIkTXMXip5S+YcOdu3cJ0c9Gy1eetX5PT49Nhhk4dCYSiUQq
lRIK3bC3t5f4zmD8RhGLxUT/b0SW3Cy2tRU4N8IDPYMHegYP9AwepjXI+6GhFn+GDz7E6WCRSDR2
7Ni4uDhCdHNzIxRPT086jGb06NG0GBYW5urqylWIl29g/JQ0Gg0tsuQmYrhmEUYNaYTLO/EfC7EK
9Awe/wNla5PurCXX1wAAAABJRU5ErkJggg==</pkg:binaryData></pkg:part><pkg:part pkg:name="/word/settings.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"><pkg:xmlData><w:settings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:wpsCustomData="http://www.wps.cn/officeDocument/2013/wpsCustomData" mc:Ignorable="w14"><w:zoom w:percent="120"/><w:bordersDoNotSurroundHeader w:val="0"/><w:bordersDoNotSurroundFooter w:val="0"/><w:documentProtection w:enforcement="0"/><w:defaultTabStop w:val="420"/><w:hyphenationZone w:val="360"/><w:drawingGridVerticalSpacing w:val="156"/><w:displayHorizontalDrawingGridEvery w:val="1"/><w:displayVerticalDrawingGridEvery w:val="1"/><w:noPunctuationKerning w:val="1"/><w:characterSpacingControl w:val="compressPunctuation"/><w:compat><w:spaceForUL/><w:balanceSingleByteDoubleByteWidth/><w:doNotLeaveBackslashAlone/><w:ulTrailSpace/><w:doNotExpandShiftReturn/><w:adjustLineHeightInTable/><w:doNotWrapTextWithPunct/><w:doNotUseEastAsianBreakRules/><w:useFELayout/><w:doNotUseIndentAsNumberingTabStop/><w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="14"/><w:compatSetting w:name="overrideTableStyleFontSizeAndJustification" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="enableOpenTypeFeatures" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="doNotFlipMirrorIndents" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/></w:compat><w:docVars><w:docVar w:name="commondata" w:val="eyJoZGlkIjoiOGU0YzRjY2I3ZDU5NmEwMWRmZmYzOWRiMjBhMjYyZjkifQ=="/></w:docVars><w:rsids><w:rsidRoot w:val="00050023"/><w:rsid w:val="00040667"/><w:rsid w:val="00040FF7"/><w:rsid w:val="00050023"/><w:rsid w:val="000A7947"/><w:rsid w:val="000D3739"/><w:rsid w:val="000E2155"/><w:rsid w:val="00101F20"/><w:rsid w:val="001D5AAB"/><w:rsid w:val="00201B95"/><w:rsid w:val="00235D10"/><w:rsid w:val="002A2B6C"/><w:rsid w:val="003C1840"/><w:rsid w:val="00400062"/><w:rsid w:val="004155AE"/><w:rsid w:val="00481C56"/><w:rsid w:val="004C0670"/><w:rsid w:val="004D5FAC"/><w:rsid w:val="00524BEE"/><w:rsid w:val="00553854"/><w:rsid w:val="005C34ED"/><w:rsid w:val="00755289"/><w:rsid w:val="00770422"/><w:rsid w:val="00776BF9"/><w:rsid w:val="00801102"/><w:rsid w:val="0081034C"/><w:rsid w:val="008D313A"/><w:rsid w:val="009A1196"/><w:rsid w:val="00AE60A3"/><w:rsid w:val="00B000D9"/><w:rsid w:val="00B4410D"/><w:rsid w:val="00B75F74"/><w:rsid w:val="00B92B3A"/><w:rsid w:val="00D10D3E"/><w:rsid w:val="00D601E6"/><w:rsid w:val="00D90FCE"/><w:rsid w:val="00DD6429"/><w:rsid w:val="00E049D7"/><w:rsid w:val="00E32872"/><w:rsid w:val="00E5277E"/><w:rsid w:val="00E95B7F"/><w:rsid w:val="00F06FB2"/><w:rsid w:val="00F33DF0"/><w:rsid w:val="00F836D8"/><w:rsid w:val="00F97947"/><w:rsid w:val="00FA2D4F"/><w:rsid w:val="00FB24F7"/><w:rsid w:val="00FB4EDF"/><w:rsid w:val="00FC6DCA"/><w:rsid w:val="038A570F"/><w:rsid w:val="03990047"/><w:rsid w:val="07E04497"/><w:rsid w:val="0D020A0B"/><w:rsid w:val="0DCB1711"/><w:rsid w:val="0E325320"/><w:rsid w:val="0EC17220"/><w:rsid w:val="0FBC66FE"/><w:rsid w:val="0FEB1C2B"/><w:rsid w:val="11BF511D"/><w:rsid w:val="11EA2C13"/><w:rsid w:val="124456EF"/><w:rsid w:val="12635AA8"/><w:rsid w:val="12F232D0"/><w:rsid w:val="13AE3F29"/><w:rsid w:val="13B30CB1"/><w:rsid w:val="1481490C"/><w:rsid w:val="15B825AF"/><w:rsid w:val="15E0735C"/><w:rsid w:val="163B6EDA"/><w:rsid w:val="174C6527"/><w:rsid w:val="191B532F"/><w:rsid w:val="19E25E4D"/><w:rsid w:val="1D491D3F"/><w:rsid w:val="1D725739"/><w:rsid w:val="1D8B05A9"/><w:rsid w:val="1DD441B5"/><w:rsid w:val="1DFE114D"/><w:rsid w:val="1EB464E5"/><w:rsid w:val="1EF4585E"/><w:rsid w:val="20270082"/><w:rsid w:val="20A559EA"/><w:rsid w:val="21091F11"/><w:rsid w:val="212E5E1B"/><w:rsid w:val="2138272D"/><w:rsid w:val="21B756EE"/><w:rsid w:val="21DB66AD"/><w:rsid w:val="222114DC"/><w:rsid w:val="228C7D76"/><w:rsid w:val="22A04AF7"/><w:rsid w:val="23153176"/><w:rsid w:val="251D5F8B"/><w:rsid w:val="256040C9"/><w:rsid w:val="25E46AA9"/><w:rsid w:val="2624159B"/><w:rsid w:val="278542BB"/><w:rsid w:val="28C9029D"/><w:rsid w:val="28E87731"/><w:rsid w:val="291C44C8"/><w:rsid w:val="2928331E"/><w:rsid w:val="2B966A97"/><w:rsid w:val="2C680039"/><w:rsid w:val="2DFB7085"/><w:rsid w:val="2F996B56"/><w:rsid w:val="2F9E416C"/><w:rsid w:val="30874C00"/><w:rsid w:val="32700042"/><w:rsid w:val="32B06690"/><w:rsid w:val="330E0A28"/><w:rsid w:val="333F7A14"/><w:rsid w:val="349F3341"/><w:rsid w:val="34A02734"/><w:rsid w:val="36BB55B0"/><w:rsid w:val="36D87F64"/><w:rsid w:val="380D00E1"/><w:rsid w:val="39E82BB3"/><w:rsid w:val="3AF630AE"/><w:rsid w:val="3C10082C"/><w:rsid w:val="3C461E13"/><w:rsid w:val="3C9506A5"/><w:rsid w:val="3CD016DD"/><w:rsid w:val="3FCA68B7"/><w:rsid w:val="41872CB2"/><w:rsid w:val="45DB537A"/><w:rsid w:val="46BF4C9C"/><w:rsid w:val="47394A4E"/><w:rsid w:val="47685334"/><w:rsid w:val="49415E3C"/><w:rsid w:val="4BA34B8C"/><w:rsid w:val="4D185106"/><w:rsid w:val="4E9C3B15"/><w:rsid w:val="4F22226C"/><w:rsid w:val="4F756840"/><w:rsid w:val="4F7800DE"/><w:rsid w:val="50C25AB5"/><w:rsid w:val="5212025B"/><w:rsid w:val="53D31D87"/><w:rsid w:val="547B2588"/><w:rsid w:val="58BF0636"/><w:rsid w:val="59A87812"/><w:rsid w:val="59B44408"/><w:rsid w:val="5A767910"/><w:rsid w:val="5CF74D38"/><w:rsid w:val="5D991BA9"/><w:rsid w:val="5DD12653"/><w:rsid w:val="5ED23951"/><w:rsid w:val="5F830B05"/><w:rsid w:val="5FFE63DD"/><w:rsid w:val="60C26EAD"/><w:rsid w:val="61202383"/><w:rsid w:val="614B5652"/><w:rsid w:val="62CF7BBD"/><w:rsid w:val="65C71020"/><w:rsid w:val="666B70B9"/><w:rsid w:val="671E44FE"/><w:rsid w:val="691E364C"/><w:rsid w:val="695678B8"/><w:rsid w:val="6A3273AF"/><w:rsid w:val="6CDE55CC"/><w:rsid w:val="6D336B24"/><w:rsid w:val="6DA71E62"/><w:rsid w:val="6E7F7922"/><w:rsid w:val="6E95615F"/><w:rsid w:val="6FA75643"/><w:rsid w:val="70BA270C"/><w:rsid w:val="71F907B3"/><w:rsid w:val="723B701D"/><w:rsid w:val="723E2669"/><w:rsid w:val="726C367A"/><w:rsid w:val="749747AF"/><w:rsid w:val="76004806"/><w:rsid w:val="76452637"/><w:rsid w:val="76EF6628"/><w:rsid w:val="77EB3B80"/><w:rsid w:val="7866291A"/><w:rsid w:val="79767E6F"/><w:rsid w:val="79BA2F1D"/><w:rsid w:val="7A0041B6"/><w:rsid w:val="7ADE49EA"/><w:rsid w:val="7BB16DAF"/><w:rsid w:val="7BE530CE"/><w:rsid w:val="7DC600E3"/><w:rsid w:val="7E9C4EDE"/><w:rsid w:val="7EC71F75"/><w:rsid w:val="7F1B445E"/></w:rsids><m:mathPr><m:brkBin m:val="before"/><m:brkBinSub m:val="--"/><m:smallFrac m:val="0"/><m:dispDef/><m:lMargin m:val="0"/><m:rMargin m:val="0"/><m:defJc m:val="centerGroup"/><m:wrapIndent m:val="1440"/><m:intLim m:val="subSup"/><m:naryLim m:val="undOvr"/></m:mathPr><w:themeFontLang w:val="en-US" w:eastAsia="zh-CN"/><w:clrSchemeMapping w:bg1="light1" w:t1="dark1" w:bg2="light2" w:t2="dark2" w:accent1="accent1" w:accent2="accent2" w:accent3="accent3" w:accent4="accent4" w:accent5="accent5" w:accent6="accent6" w:hyperlink="hyperlink" w:followedHyperlink="followedHyperlink"/><w:shapeDefaults><o:shapedefaults/><o:shapelayout v:ext="edit"><o:idmap v:ext="edit" data="1"/></o:shapelayout></w:shapeDefaults></w:settings></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/styles.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"><pkg:xmlData><w:styles xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:wpsCustomData="http://www.wps.cn/officeDocument/2013/wpsCustomData" mc:Ignorable="w14"><w:docDefaults><w:rPrDefault><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="宋体" w:cs="Times New Roman"/></w:rPr></w:rPrDefault><w:pPrDefault/></w:docDefaults><w:latentStyles w:count="260" w:defQFormat="0" w:defUnhideWhenUsed="1" w:defSemiHidden="1" w:defUIPriority="99" w:defLockedState="0"><w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="0" w:semiHidden="0" w:name="Normal"/><w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="9" w:semiHidden="0" w:name="heading 1"/><w:lsdException w:qFormat="1" w:uiPriority="9" w:name="heading 2"/><w:lsdException w:qFormat="1" w:uiPriority="9" w:name="heading 3"/><w:lsdException w:qFormat="1" w:uiPriority="9" w:name="heading 4"/><w:lsdException w:qFormat="1" w:uiPriority="9" w:name="heading 5"/><w:lsdException w:qFormat="1" w:uiPriority="9" w:name="heading 6"/><w:lsdException w:qFormat="1" w:uiPriority="9" w:name="heading 7"/><w:lsdException w:qFormat="1" w:uiPriority="9" w:name="heading 8"/><w:lsdException w:qFormat="1" w:uiPriority="9" w:name="heading 9"/><w:lsdException w:uiPriority="99" w:name="index 1"/><w:lsdException w:uiPriority="99" w:name="index 2"/><w:lsdException w:uiPriority="99" w:name="index 3"/><w:lsdException w:uiPriority="99" w:name="index 4"/><w:lsdException w:uiPriority="99" w:name="index 5"/><w:lsdException w:uiPriority="99" w:name="index 6"/><w:lsdException w:uiPriority="99" w:name="index 7"/><w:lsdException w:uiPriority="99" w:name="index 8"/><w:lsdException w:uiPriority="99" w:name="index 9"/><w:lsdException w:uiPriority="39" w:name="toc 1"/><w:lsdException w:uiPriority="39" w:name="toc 2"/><w:lsdException w:uiPriority="39" w:name="toc 3"/><w:lsdException w:uiPriority="39" w:name="toc 4"/><w:lsdException w:uiPriority="39" w:name="toc 5"/><w:lsdException w:uiPriority="39" w:name="toc 6"/><w:lsdException w:uiPriority="39" w:name="toc 7"/><w:lsdException w:uiPriority="39" w:name="toc 8"/><w:lsdException w:uiPriority="39" w:name="toc 9"/><w:lsdException w:uiPriority="99" w:name="Normal Indent"/><w:lsdException w:uiPriority="99" w:name="footnote text"/><w:lsdException w:qFormat="1" w:uiPriority="99" w:semiHidden="0" w:name="annotation text"/><w:lsdException w:qFormat="1" w:uiPriority="99" w:semiHidden="0" w:name="header"/><w:lsdException w:qFormat="1" w:uiPriority="99" w:semiHidden="0" w:name="footer"/><w:lsdException w:uiPriority="99" w:name="index heading"/><w:lsdException w:qFormat="1" w:uiPriority="35" w:name="caption"/><w:lsdException w:uiPriority="99" w:name="table of figures"/><w:lsdException w:uiPriority="99" w:name="envelope address"/><w:lsdException w:uiPriority="99" w:name="envelope return"/><w:lsdException w:uiPriority="99" w:name="footnote reference"/><w:lsdException w:qFormat="1" w:uiPriority="99" w:semiHidden="0" w:name="annotation reference"/><w:lsdException w:uiPriority="99" w:name="line number"/><w:lsdException w:uiPriority="99" w:name="page number"/><w:lsdException w:uiPriority="99" w:name="endnote reference"/><w:lsdException w:uiPriority="99" w:name="endnote text"/><w:lsdException w:uiPriority="99" w:name="table of authorities"/><w:lsdException w:uiPriority="99" w:name="macro"/><w:lsdException w:uiPriority="99" w:name="toa heading"/><w:lsdException w:uiPriority="99" w:name="List"/><w:lsdException w:uiPriority="99" w:name="List Bullet"/><w:lsdException w:uiPriority="99" w:name="List Number"/><w:lsdException w:uiPriority="99" w:name="List 2"/><w:lsdException w:uiPriority="99" w:name="List 3"/><w:lsdException w:uiPriority="99" w:name="List 4"/><w:lsdException w:uiPriority="99" w:name="List 5"/><w:lsdException w:uiPriority="99" w:name="List Bullet 2"/><w:lsdException w:uiPriority="99" w:name="List Bullet 3"/><w:lsdException w:uiPriority="99" w:name="List Bullet 4"/><w:lsdException w:uiPriority="99" w:name="List Bullet 5"/><w:lsdException w:uiPriority="99" w:name="List Number 2"/><w:lsdException w:uiPriority="99" w:name="List Number 3"/><w:lsdException w:uiPriority="99" w:name="List Number 4"/><w:lsdException w:uiPriority="99" w:name="List Number 5"/><w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="10" w:semiHidden="0" w:name="Title"/><w:lsdException w:uiPriority="99" w:name="Closing"/><w:lsdException w:uiPriority="99" w:name="Signature"/><w:lsdException w:qFormat="1" w:uiPriority="1" w:semiHidden="0" w:name="Default Paragraph Font"/><w:lsdException w:uiPriority="99" w:name="Body Text"/><w:lsdException w:uiPriority="99" w:name="Body Text Indent"/><w:lsdException w:uiPriority="99" w:name="List Continue"/><w:lsdException w:uiPriority="99" w:name="List Continue 2"/><w:lsdException w:uiPriority="99" w:name="List Continue 3"/><w:lsdException w:uiPriority="99" w:name="List Continue 4"/><w:lsdException w:uiPriority="99" w:name="List Continue 5"/><w:lsdException w:uiPriority="99" w:name="Message Header"/><w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="11" w:semiHidden="0" w:name="Subtitle"/><w:lsdException w:uiPriority="99" w:name="Salutation"/><w:lsdException w:uiPriority="99" w:name="Date"/><w:lsdException w:uiPriority="99" w:name="Body Text First Indent"/><w:lsdException w:uiPriority="99" w:name="Body Text First Indent 2"/><w:lsdException w:uiPriority="99" w:name="Note Heading"/><w:lsdException w:uiPriority="99" w:name="Body Text 2"/><w:lsdException w:uiPriority="99" w:name="Body Text 3"/><w:lsdException w:uiPriority="99" w:name="Body Text Indent 2"/><w:lsdException w:uiPriority="99" w:name="Body Text Indent 3"/><w:lsdException w:uiPriority="99" w:name="Block Text"/><w:lsdException w:uiPriority="99" w:name="Hyperlink"/><w:lsdException w:uiPriority="99" w:name="FollowedHyperlink"/><w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="22" w:semiHidden="0" w:name="Strong"/><w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="20" w:semiHidden="0" w:name="Emphasis"/><w:lsdException w:uiPriority="99" w:name="Document Map"/><w:lsdException w:uiPriority="99" w:name="Plain Text"/><w:lsdException w:uiPriority="99" w:name="E-mail Signature"/><w:lsdException w:uiPriority="99" w:name="Normal (Web)"/><w:lsdException w:uiPriority="99" w:name="HTML Acronym"/><w:lsdException w:uiPriority="99" w:name="HTML Address"/><w:lsdException w:uiPriority="99" w:name="HTML Cite"/><w:lsdException w:uiPriority="99" w:name="HTML Code"/><w:lsdException w:uiPriority="99" w:name="HTML Definition"/><w:lsdException w:uiPriority="99" w:name="HTML Keyboard"/><w:lsdException w:uiPriority="99" w:name="HTML Preformatted"/><w:lsdException w:uiPriority="99" w:name="HTML Sample"/><w:lsdException w:uiPriority="99" w:name="HTML Typewriter"/><w:lsdException w:uiPriority="99" w:name="HTML Variable"/><w:lsdException w:qFormat="1" w:uiPriority="99" w:semiHidden="0" w:name="Normal Table"/><w:lsdException w:qFormat="1" w:uiPriority="99" w:semiHidden="0" w:name="annotation subject"/><w:lsdException w:uiPriority="99" w:name="Table Simple 1"/><w:lsdException w:uiPriority="99" w:name="Table Simple 2"/><w:lsdException w:uiPriority="99" w:name="Table Simple 3"/><w:lsdException w:uiPriority="99" w:name="Table Classic 1"/><w:lsdException w:uiPriority="99" w:name="Table Classic 2"/><w:lsdException w:uiPriority="99" w:name="Table Classic 3"/><w:lsdException w:uiPriority="99" w:name="Table Classic 4"/><w:lsdException w:uiPriority="99" w:name="Table Colorful 1"/><w:lsdException w:uiPriority="99" w:name="Table Colorful 2"/><w:lsdException w:uiPriority="99" w:name="Table Colorful 3"/><w:lsdException w:uiPriority="99" w:name="Table Columns 1"/><w:lsdException w:uiPriority="99" w:name="Table Columns 2"/><w:lsdException w:uiPriority="99" w:name="Table Columns 3"/><w:lsdException w:uiPriority="99" w:name="Table Columns 4"/><w:lsdException w:uiPriority="99" w:name="Table Columns 5"/><w:lsdException w:uiPriority="99" w:name="Table Grid 1"/><w:lsdException w:uiPriority="99" w:name="Table Grid 2"/><w:lsdException w:uiPriority="99" w:name="Table Grid 3"/><w:lsdException w:uiPriority="99" w:name="Table Grid 4"/><w:lsdException w:uiPriority="99" w:name="Table Grid 5"/><w:lsdException w:uiPriority="99" w:name="Table Grid 6"/><w:lsdException w:uiPriority="99" w:name="Table Grid 7"/><w:lsdException w:uiPriority="99" w:name="Table Grid 8"/><w:lsdException w:uiPriority="99" w:name="Table List 1"/><w:lsdException w:uiPriority="99" w:name="Table List 2"/><w:lsdException w:uiPriority="99" w:name="Table List 3"/><w:lsdException w:uiPriority="99" w:name="Table List 4"/><w:lsdException w:uiPriority="99" w:name="Table List 5"/><w:lsdException w:uiPriority="99" w:name="Table List 6"/><w:lsdException w:uiPriority="99" w:name="Table List 7"/><w:lsdException w:uiPriority="99" w:name="Table List 8"/><w:lsdException w:uiPriority="99" w:name="Table 3D effects 1"/><w:lsdException w:uiPriority="99" w:name="Table 3D effects 2"/><w:lsdException w:uiPriority="99" w:name="Table 3D effects 3"/><w:lsdException w:uiPriority="99" w:name="Table Contemporary"/><w:lsdException w:uiPriority="99" w:name="Table Elegant"/><w:lsdException w:uiPriority="99" w:name="Table Professional"/><w:lsdException w:uiPriority="99" w:name="Table Subtle 1"/><w:lsdException w:uiPriority="99" w:name="Table Subtle 2"/><w:lsdException w:uiPriority="99" w:name="Table Web 1"/><w:lsdException w:uiPriority="99" w:name="Table Web 2"/><w:lsdException w:uiPriority="99" w:name="Table Web 3"/><w:lsdException w:uiPriority="99" w:name="Balloon Text"/><w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="0" w:semiHidden="0" w:name="Table Grid"/><w:lsdException w:uiPriority="99" w:name="Table Theme"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="60" w:semiHidden="0" w:name="Light Shading"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="61" w:semiHidden="0" w:name="Light List"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="62" w:semiHidden="0" w:name="Light Grid"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="63" w:semiHidden="0" w:name="Medium Shading 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="64" w:semiHidden="0" w:name="Medium Shading 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="65" w:semiHidden="0" w:name="Medium List 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="66" w:semiHidden="0" w:name="Medium List 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="67" w:semiHidden="0" w:name="Medium Grid 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="68" w:semiHidden="0" w:name="Medium Grid 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="69" w:semiHidden="0" w:name="Medium Grid 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="70" w:semiHidden="0" w:name="Dark List"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="71" w:semiHidden="0" w:name="Colorful Shading"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="72" w:semiHidden="0" w:name="Colorful List"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="73" w:semiHidden="0" w:name="Colorful Grid"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="60" w:semiHidden="0" w:name="Light Shading Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="61" w:semiHidden="0" w:name="Light List Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="62" w:semiHidden="0" w:name="Light Grid Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="63" w:semiHidden="0" w:name="Medium Shading 1 Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="64" w:semiHidden="0" w:name="Medium Shading 2 Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="65" w:semiHidden="0" w:name="Medium List 1 Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="66" w:semiHidden="0" w:name="Medium List 2 Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="67" w:semiHidden="0" w:name="Medium Grid 1 Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="68" w:semiHidden="0" w:name="Medium Grid 2 Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="69" w:semiHidden="0" w:name="Medium Grid 3 Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="70" w:semiHidden="0" w:name="Dark List Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="71" w:semiHidden="0" w:name="Colorful Shading Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="72" w:semiHidden="0" w:name="Colorful List Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="73" w:semiHidden="0" w:name="Colorful Grid Accent 1"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="60" w:semiHidden="0" w:name="Light Shading Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="61" w:semiHidden="0" w:name="Light List Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="62" w:semiHidden="0" w:name="Light Grid Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="63" w:semiHidden="0" w:name="Medium Shading 1 Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="64" w:semiHidden="0" w:name="Medium Shading 2 Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="65" w:semiHidden="0" w:name="Medium List 1 Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="66" w:semiHidden="0" w:name="Medium List 2 Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="67" w:semiHidden="0" w:name="Medium Grid 1 Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="68" w:semiHidden="0" w:name="Medium Grid 2 Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="69" w:semiHidden="0" w:name="Medium Grid 3 Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="70" w:semiHidden="0" w:name="Dark List Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="71" w:semiHidden="0" w:name="Colorful Shading Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="72" w:semiHidden="0" w:name="Colorful List Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="73" w:semiHidden="0" w:name="Colorful Grid Accent 2"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="60" w:semiHidden="0" w:name="Light Shading Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="61" w:semiHidden="0" w:name="Light List Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="62" w:semiHidden="0" w:name="Light Grid Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="63" w:semiHidden="0" w:name="Medium Shading 1 Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="64" w:semiHidden="0" w:name="Medium Shading 2 Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="65" w:semiHidden="0" w:name="Medium List 1 Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="66" w:semiHidden="0" w:name="Medium List 2 Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="67" w:semiHidden="0" w:name="Medium Grid 1 Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="68" w:semiHidden="0" w:name="Medium Grid 2 Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="69" w:semiHidden="0" w:name="Medium Grid 3 Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="70" w:semiHidden="0" w:name="Dark List Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="71" w:semiHidden="0" w:name="Colorful Shading Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="72" w:semiHidden="0" w:name="Colorful List Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="73" w:semiHidden="0" w:name="Colorful Grid Accent 3"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="60" w:semiHidden="0" w:name="Light Shading Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="61" w:semiHidden="0" w:name="Light List Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="62" w:semiHidden="0" w:name="Light Grid Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="63" w:semiHidden="0" w:name="Medium Shading 1 Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="64" w:semiHidden="0" w:name="Medium Shading 2 Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="65" w:semiHidden="0" w:name="Medium List 1 Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="66" w:semiHidden="0" w:name="Medium List 2 Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="67" w:semiHidden="0" w:name="Medium Grid 1 Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="68" w:semiHidden="0" w:name="Medium Grid 2 Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="69" w:semiHidden="0" w:name="Medium Grid 3 Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="70" w:semiHidden="0" w:name="Dark List Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="71" w:semiHidden="0" w:name="Colorful Shading Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="72" w:semiHidden="0" w:name="Colorful List Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="73" w:semiHidden="0" w:name="Colorful Grid Accent 4"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="60" w:semiHidden="0" w:name="Light Shading Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="61" w:semiHidden="0" w:name="Light List Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="62" w:semiHidden="0" w:name="Light Grid Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="63" w:semiHidden="0" w:name="Medium Shading 1 Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="64" w:semiHidden="0" w:name="Medium Shading 2 Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="65" w:semiHidden="0" w:name="Medium List 1 Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="66" w:semiHidden="0" w:name="Medium List 2 Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="67" w:semiHidden="0" w:name="Medium Grid 1 Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="68" w:semiHidden="0" w:name="Medium Grid 2 Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="69" w:semiHidden="0" w:name="Medium Grid 3 Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="70" w:semiHidden="0" w:name="Dark List Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="71" w:semiHidden="0" w:name="Colorful Shading Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="72" w:semiHidden="0" w:name="Colorful List Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="73" w:semiHidden="0" w:name="Colorful Grid Accent 5"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="60" w:semiHidden="0" w:name="Light Shading Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="61" w:semiHidden="0" w:name="Light List Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="62" w:semiHidden="0" w:name="Light Grid Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="63" w:semiHidden="0" w:name="Medium Shading 1 Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="64" w:semiHidden="0" w:name="Medium Shading 2 Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="65" w:semiHidden="0" w:name="Medium List 1 Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="66" w:semiHidden="0" w:name="Medium List 2 Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="67" w:semiHidden="0" w:name="Medium Grid 1 Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="68" w:semiHidden="0" w:name="Medium Grid 2 Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="69" w:semiHidden="0" w:name="Medium Grid 3 Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="70" w:semiHidden="0" w:name="Dark List Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="71" w:semiHidden="0" w:name="Colorful Shading Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="72" w:semiHidden="0" w:name="Colorful List Accent 6"/><w:lsdException w:unhideWhenUsed="0" w:uiPriority="73" w:semiHidden="0" w:name="Colorful Grid Accent 6"/></w:latentStyles><w:style w:type="paragraph" w:default="1" w:styleId="1"><w:name w:val="Normal"/><w:autoRedefine/><w:qFormat/><w:uiPriority w:val="0"/><w:pPr><w:widowControl w:val="0"/><w:jc w:val="both"/></w:pPr><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="宋体" w:cs="Times New Roman"/><w:kern w:val="2"/><w:sz w:val="21"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN" w:bidi="ar-SA"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="2"><w:name w:val="heading 1"/><w:basedOn w:val="1"/><w:next w:val="1"/><w:autoRedefine/><w:qFormat/><w:uiPriority w:val="9"/><w:pPr><w:keepNext/><w:keepLines/><w:spacing w:before="340" w:beforeLines="0" w:beforeAutospacing="0" w:after="330" w:afterLines="0" w:afterAutospacing="0" w:line="576" w:lineRule="auto"/><w:outlineLvl w:val="0"/></w:pPr><w:rPr><w:b/><w:kern w:val="44"/><w:sz w:val="44"/></w:rPr></w:style><w:style w:type="character" w:default="1" w:styleId="9"><w:name w:val="Default Paragraph Font"/><w:unhideWhenUsed/><w:qFormat/><w:uiPriority w:val="1"/></w:style><w:style w:type="table" w:default="1" w:styleId="7"><w:name w:val="Normal Table"/><w:autoRedefine/><w:unhideWhenUsed/><w:qFormat/><w:uiPriority w:val="99"/><w:tblPr><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style><w:style w:type="paragraph" w:styleId="3"><w:name w:val="annotation text"/><w:basedOn w:val="1"/><w:link w:val="11"/><w:autoRedefine/><w:unhideWhenUsed/><w:qFormat/><w:uiPriority w:val="99"/><w:pPr><w:jc w:val="left"/></w:pPr></w:style><w:style w:type="paragraph" w:styleId="4"><w:name w:val="footer"/><w:basedOn w:val="1"/><w:link w:val="12"/><w:autoRedefine/><w:unhideWhenUsed/><w:qFormat/><w:uiPriority w:val="99"/><w:pPr><w:tabs><w:tab w:val="center" w:pos="4153"/><w:tab w:val="right" w:pos="8306"/></w:tabs><w:snapToGrid w:val="0"/><w:jc w:val="left"/></w:pPr><w:rPr><w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:eastAsia="宋体" w:cs="Times New Roman"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="5"><w:name w:val="header"/><w:basedOn w:val="1"/><w:link w:val="13"/><w:autoRedefine/><w:unhideWhenUsed/><w:qFormat/><w:uiPriority w:val="99"/><w:pPr><w:pBdr><w:bottom w:val="single" w:color="auto" w:sz="6" w:space="1"/></w:pBdr><w:tabs><w:tab w:val="center" w:pos="4153"/><w:tab w:val="right" w:pos="8306"/></w:tabs><w:snapToGrid w:val="0"/><w:jc w:val="center"/></w:pPr><w:rPr><w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:eastAsia="宋体" w:cs="Times New Roman"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="6"><w:name w:val="annotation subject"/><w:basedOn w:val="3"/><w:next w:val="3"/><w:link w:val="14"/><w:autoRedefine/><w:unhideWhenUsed/><w:qFormat/><w:uiPriority w:val="99"/><w:rPr><w:b/><w:bCs/></w:rPr></w:style><w:style w:type="table" w:styleId="8"><w:name w:val="Table Grid"/><w:basedOn w:val="7"/><w:autoRedefine/><w:qFormat/><w:uiPriority w:val="0"/><w:pPr><w:widowControl w:val="0"/><w:jc w:val="both"/></w:pPr><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="宋体" w:cs="Times New Roman"/><w:kern w:val="0"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tblPr><w:tblBorders><w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/><w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/></w:tblBorders></w:tblPr></w:style><w:style w:type="character" w:styleId="10"><w:name w:val="annotation reference"/><w:basedOn w:val="9"/><w:autoRedefine/><w:unhideWhenUsed/><w:qFormat/><w:uiPriority w:val="99"/><w:rPr><w:sz w:val="21"/><w:szCs w:val="21"/></w:rPr></w:style><w:style w:type="character" w:customStyle="1" w:styleId="11"><w:name w:val="批注文字 字符"/><w:basedOn w:val="9"/><w:link w:val="3"/><w:autoRedefine/><w:semiHidden/><w:qFormat/><w:uiPriority w:val="99"/><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="宋体" w:cs="Times New Roman"/><w:szCs w:val="24"/></w:rPr></w:style><w:style w:type="character" w:customStyle="1" w:styleId="12"><w:name w:val="页脚 字符"/><w:basedOn w:val="9"/><w:link w:val="4"/><w:autoRedefine/><w:semiHidden/><w:qFormat/><w:uiPriority w:val="99"/><w:rPr><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:style><w:style w:type="character" w:customStyle="1" w:styleId="13"><w:name w:val="页眉 字符"/><w:basedOn w:val="9"/><w:link w:val="5"/><w:autoRedefine/><w:semiHidden/><w:qFormat/><w:uiPriority w:val="99"/><w:rPr><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:style><w:style w:type="character" w:customStyle="1" w:styleId="14"><w:name w:val="批注主题 字符"/><w:basedOn w:val="11"/><w:link w:val="6"/><w:autoRedefine/><w:semiHidden/><w:qFormat/><w:uiPriority w:val="99"/><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="宋体" w:cs="Times New Roman"/><w:b/><w:bCs/><w:szCs w:val="24"/></w:rPr></w:style></w:styles></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/theme/theme1.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.theme+xml"><pkg:xmlData><a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="1F497D"/></a:dk2><a:lt2><a:srgbClr val="EEECE1"/></a:lt2><a:accent1><a:srgbClr val="4F81BD"/></a:accent1><a:accent2><a:srgbClr val="C0504D"/></a:accent2><a:accent3><a:srgbClr val="9BBB59"/></a:accent3><a:accent4><a:srgbClr val="8064A2"/></a:accent4><a:accent5><a:srgbClr val="4BACC6"/></a:accent5><a:accent6><a:srgbClr val="F79646"/></a:accent6><a:hlink><a:srgbClr val="0000FF"/></a:hlink><a:folHlink><a:srgbClr val="800080"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont><a:latin typeface="Cambria"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="MS ゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="宋体"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Angsana New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/></a:majorFont><a:minorFont><a:latin typeface="Calibri"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="MS 明朝"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="宋体"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Cordia New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="50000"/><a:satMod val="300000"/></a:schemeClr></a:gs><a:gs pos="35000"><a:schemeClr val="phClr"><a:tint val="37000"/><a:satMod val="300000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="15000"/><a:satMod val="350000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="16200000" scaled="1"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:shade val="51000"/><a:satMod val="130000"/></a:schemeClr></a:gs><a:gs pos="80000"><a:schemeClr val="phClr"><a:shade val="93000"/><a:satMod val="130000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="94000"/><a:satMod val="135000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="16200000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="9525" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"><a:shade val="95000"/><a:satMod val="105000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:ln w="25400" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/></a:ln><a:ln w="38100" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst><a:outerShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="38000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="35000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="35000"/></a:srgbClr></a:outerShdw></a:effectLst><a:scene3d><a:camera prst="orthographicFront"><a:rot lat="0" lon="0" rev="0"/></a:camera><a:lightRig rig="threePt" dir="t"><a:rot lat="0" lon="0" rev="1200000"/></a:lightRig></a:scene3d><a:sp3d><a:bevelT w="63500" h="25400"/></a:sp3d></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="40000"/><a:satMod val="350000"/></a:schemeClr></a:gs><a:gs pos="40000"><a:schemeClr val="phClr"><a:tint val="45000"/><a:satMod val="350000"/><a:shade val="99000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="20000"/><a:satMod val="255000"/></a:schemeClr></a:gs></a:gsLst><a:path path="circle"><a:fillToRect l="50000" t="-80000" r="50000" b="180000"/></a:path></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="80000"/><a:satMod val="300000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="30000"/><a:satMod val="200000"/></a:schemeClr></a:gs></a:gsLst><a:path path="circle"><a:fillToRect l="50000" t="50000" r="50000" b="50000"/></a:path></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/></a:theme></pkg:xmlData></pkg:part></pkg:package>
\ No newline at end of file
...@@ -3,6 +3,9 @@ package com.yeejoin.amos.boot.module.jyjc.api.mapper; ...@@ -3,6 +3,9 @@ package com.yeejoin.amos.boot.module.jyjc.api.mapper;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationAttachment; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationAttachment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/** /**
* Mapper 接口 * Mapper 接口
* *
...@@ -13,4 +16,6 @@ public interface JyjcInspectionApplicationAttachmentMapper extends BaseMapper<Jy ...@@ -13,4 +16,6 @@ public interface JyjcInspectionApplicationAttachmentMapper extends BaseMapper<Jy
public void deleteByApplicationSeq(Long applicationSeq); public void deleteByApplicationSeq(Long applicationSeq);
public List<Map<String,Object>> getDataByApplicationSeq(Long applicationSeq);
} }
package com.yeejoin.amos.boot.module.jyjc.api.mapper; package com.yeejoin.amos.boot.module.jyjc.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import org.springframework.data.repository.query.Param;
import java.util.List;
/** /**
* Mapper 接口 * Mapper 接口
...@@ -14,4 +18,6 @@ public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspecti ...@@ -14,4 +18,6 @@ public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspecti
public Page<JyjcInspectionApplication> queryForDataList( Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode,String applicationUnitName, String equipClassify, String inspectionUnitCode,String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status , String bizType); public Page<JyjcInspectionApplication> queryForDataList( Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode,String applicationUnitName, String equipClassify, String inspectionUnitCode,String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status , String bizType);
List<JyjcInspectionApplicationEquipModel> listByCategory(@Param("equipClassify") String equipClassify);
} }
...@@ -2,19 +2,19 @@ package com.yeejoin.amos.boot.module.jyjc.api.model; ...@@ -2,19 +2,19 @@ package com.yeejoin.amos.boot.module.jyjc.api.model;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import org.typroject.tyboot.core.rdbms.model.BaseModel;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.typroject.tyboot.core.rdbms.model.BaseModel;
import java.util.Date;
/** /**
*
*
* @author system_generator * @author system_generator
* @date 2023-12-14 * @date 2023-12-14
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="JyjcInspectionApplicationEquipModel", description="") @ApiModel(value = "JyjcInspectionApplicationEquipModel", description = "")
public class JyjcInspectionApplicationEquipModel extends BaseModel { public class JyjcInspectionApplicationEquipModel extends BaseModel {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -29,4 +29,60 @@ public class JyjcInspectionApplicationEquipModel extends BaseModel { ...@@ -29,4 +29,60 @@ public class JyjcInspectionApplicationEquipModel extends BaseModel {
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
@ApiModelProperty(value = "业务类型(与菜单对应拆表使用)")
private String bizType;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "设备类别名称")
private String equCategoryName;
@ApiModelProperty(value = "检验检测类型编码")
private String inspectionType;
@ApiModelProperty(value = "检验检测类型名称(冗余)")
private String inspectionTypeName;
@ApiModelProperty(value = "报检日期")
private Date applicationDate;
@ApiModelProperty("检验结果方式")
private String resultType;
@ApiModelProperty(value = "设备种类")
private String equList;
@ApiModelProperty(value = "设备种类名称")
private String equListName;
@ApiModelProperty(value = "使用登记证编号")
private String useOrgCode;
@ApiModelProperty(value = "单位内部编号")
private String useInnerCode;
@ApiModelProperty(value = "注册代码")
private String equCode;
@ApiModelProperty(value = "设备使用地点省")
private String provinceName;
@ApiModelProperty(value = "设备使用地点市")
private String cityName;
@ApiModelProperty(value = "设备使用地点区")
private String countyName;
@ApiModelProperty(value = "设备使用地点街道")
private String streetName;
@ApiModelProperty(value = "设备使用地点详细")
private String address;
@ApiModelProperty(value = "使用单位")
private String useUnitName;
@ApiModelProperty(value = "使用单位统一信用代码")
private String useUnitCreditCode;
} }
...@@ -97,22 +97,43 @@ public class JyjcInspectionApplicationModel extends BaseModel { ...@@ -97,22 +97,43 @@ public class JyjcInspectionApplicationModel extends BaseModel {
@ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存") @ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存")
private String workflowNode; private String workflowNode;
@ApiModelProperty(value = "告知书") @ApiModelProperty(value = "告知书")
private List<Map<String, Object>> gzs; private List<Map<String,Object>> gzs;
@ApiModelProperty(value = "产品质量证明书") @ApiModelProperty(value = "产品质量证明书")
private List<Map<String, Object>> cpzl; private List<Map<String,Object>> cpzl;
@ApiModelProperty(value = "施工自行检查报告") @ApiModelProperty(value = "施工自行检查报告")
private List<Map<String, Object>> sgzx; private List<Map<String,Object>> sgzx ;
@ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存") @ApiModelProperty(value = "施工合同或证明")
private List<Map<String, Object>> sght; private List<Map<String,Object>> sght;
@ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存") @ApiModelProperty(value = "施工方案/施工设计文件")
private List<Map<String, Object>> sgfa; private List<Map<String,Object>> sgfa;
@ApiModelProperty(value = "施工单位许可证书")
private List<Map<String,Object>> sgdwxk;
@ApiModelProperty(value = "型式试验证书")
private List<Map<String,Object>> xssy;
@ApiModelProperty(value = "限速器和渐进式安全钳的调试证书")
private List<Map<String,Object>> xsqts;
@ApiModelProperty(value = "土建声明")
private List<Map<String,Object>> tjsm;
@ApiModelProperty(value = "质量保证手册和程序文件")
private List<Map<String,Object>> zlbz;
@ApiModelProperty(value = "施工作业文件")
private List<Map<String,Object>> sgzy;
@ApiModelProperty(value = "施工人员、质量保证体系责任人、专业技术人员身份证、技术工人的身份证及资质证书")
private List<Map<String,Object>> sgry;
@ApiModelProperty(value = "产品技术文件")
private List<Map<String,Object>> cpjs;
@ApiModelProperty(value = "施工设计文件")
private List<Map<String,Object>> sgsj;
@ApiModelProperty(value = "施工分包方目录")
private List<Map<String,Object>> sgfb;
@ApiModelProperty(value = "分包方评价资料")
private List<Map<String,Object>> fbspj;
@ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存") @ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存")
private List<Map<String, Object>> sgdwxk; private List<Map<String,Object>> equip;
@ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存")
private List<Map<String, Object>> equip;
@ApiModelProperty("检验结果方式") @ApiModelProperty("检验结果方式")
private String resultType; private String resultType;
} }
package com.yeejoin.amos.boot.module.jyjc.api.service; package com.yeejoin.amos.boot.module.jyjc.api.service;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import java.util.List; import java.util.List;
/** /**
...@@ -10,4 +12,6 @@ import java.util.List; ...@@ -10,4 +12,6 @@ import java.util.List;
*/ */
public interface IJyjcInspectionApplicationService { public interface IJyjcInspectionApplicationService {
void deleteBatchData(List<Long> sequenceNbr); void deleteBatchData(List<Long> sequenceNbr);
List<JyjcInspectionApplicationEquipModel> listByCategory(String equipClassify);
} }
...@@ -8,8 +8,16 @@ ...@@ -8,8 +8,16 @@
from from
tz_jyjc_inspection_application_attachment tz_jyjc_inspection_application_attachment
where where
application_seq = #{applicationSeq} application_seq =
#{applicationSeq}
</delete> </delete>
<select id="getDataByApplicationSeq" resultType="map">
select *
from tz_jyjc_inspection_application_attachment
where application_seq = #{applicationSeq}
</select>
</mapper> </mapper>
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
select select
tzjia.application_no, tzjia.application_no,
tzjia.inspection_type, tzjia.inspection_type,
tzjia.inspection_classify, (select name from cb_data_dictionary where cb_data_dictionary.code = tzjia.inspection_classify and cb_data_dictionary.type = 'JYJCLB') as inspectionClassify,
tzjia.inspection_unit_code, tzjia.inspection_unit_code,
tzjia.equip_classify, (select name from cb_data_dictionary where cb_data_dictionary.code = tzjia.equip_classify and cb_data_dictionary.type = 'BJSBZL') as equipClassify,
tzjia.number_of_equip, tzjia.number_of_equip,
tzjia.inspection_unit_code, tzjia.inspection_unit_code,
tzjia.application_date, tzjia.application_date,
...@@ -59,4 +59,34 @@ ...@@ -59,4 +59,34 @@
</if> </if>
</where> </where>
</select> </select>
<select id="listByCategory"
resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel">
select
use_unit_name,
use_unit_credit_code,
province_name,
city_name,
county_name,
street_name,
address,
use_inner_code,
equ_list,
tec1.name equ_list_name,
equ_category,
tec.name equ_category_name,
use_org_code,
equ_code,
supervisory_code
from
idx_biz_jg_use_info ibjui
left join idx_biz_jg_register_info ibjri on ibjui.record = ibjri.record
left join idx_biz_jg_other_info ibjoi on ibjui.record = ibjoi.record
left join amos_tzs_biz.tz_equipment_category tec on ibjri.equ_category = tec.code
left join amos_tzs_biz.tz_equipment_category tec1 on ibjri.equ_list = tec1.code
<where>
<if test="equipClassify != null and equipClassify != ''">
and equ_list = #{equipClassify}
</if>
</where>
</select>
</mapper> </mapper>
...@@ -4,22 +4,54 @@ ...@@ -4,22 +4,54 @@
<select id="selectJyjcInspectionResultpPage" <select id="selectJyjcInspectionResultpPage"
resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel"> resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel">
SELECT sequence_nbr, inspection_unit_code, application_no, application_unit_code, equip_unicode, result_status, select res.sequence_nbr, res.inspection_unit_code, res.application_no, res.application_unit_code,
license_number, result_no, inspector, inner_person_code, inspection_conclusion, inspection_date, res.equip_unicode, res.result_status, res.license_number, res.result_no, res.inspector, res.inner_person_code,
next_inspection_date, inspection_start_date, inspection_end_date, inspection_result_summary, non_conformance, res.inspection_conclusion, res.inspection_date, res.next_inspection_date, res.inspection_start_date,
rectification, remark, rec_user_id, rec_date, biz_type res.inspection_end_date, res.inspection_result_summary, res.non_conformance, res.rectification, res.remark,
FROM tz_jyjc_inspection_result res.rec_user_id, res.rec_date, res.biz_type,res.equ_category, res.inspection_type, res.inspection_type_name,
res.application_date,use_unit_name, use_unit_credit_code, province_name, city_name, county_name, street_name,
address, equ_code, use_inner_code, equ_list, tec1.name equ_list_name, ibjri.equ_category, tec.name
equ_category_name, use_org_code
from tz_jyjc_inspection_result res
left join idx_biz_jg_other_info ibjoi on res.equip_unicode = ibjoi.supervisory_code
left join idx_biz_jg_use_info ibjui on ibjui.record = ibjoi.record
left join idx_biz_jg_register_info ibjri on ibjui.record = ibjri.record
left join tz_equipment_category tec on ibjri.equ_category = tec.code
left join tz_equipment_category tec1 on ibjri.equ_list = tec1.code
<where> <where>
<if test="jyjcInspectionResultModel.applicationNo != '' and jyjcInspectionResultModel.applicationNo != null"> <if test="jyjcInspectionResultModel.applicationNo != '' and jyjcInspectionResultModel.applicationNo != null">
and application_no like concat('%',#{jyjcInspectionResultModel.applicationNo},'%') and res.application_no like concat('%',#{jyjcInspectionResultModel.applicationNo},'%')
</if> </if>
<if test="jyjcInspectionResultModel.inspectionUnitCode != '' and jyjcInspectionResultModel.inspectionUnitCode != null"> <if test="jyjcInspectionResultModel.inspectionUnitCode != '' and jyjcInspectionResultModel.inspectionUnitCode != null">
and inspection_unit_code = #{jyjcInspectionResultModel.inspectionUnitCode} and res.inspection_unit_code = #{jyjcInspectionResultModel.inspectionUnitCode}
</if> </if>
<if test="jyjcInspectionResultModel.applicationUnitCode != '' and jyjcInspectionResultModel.applicationUnitCode != null"> <if test="jyjcInspectionResultModel.applicationUnitCode != '' and jyjcInspectionResultModel.applicationUnitCode != null">
and application_unit_code = #{jyjcInspectionResultModel.applicationUnitCode} and res.application_unit_code = #{jyjcInspectionResultModel.applicationUnitCode}
</if>
<if test="jyjcInspectionResultModel.useUnitCreditCode != '' and jyjcInspectionResultModel.useUnitCreditCode != null">
and use_unit_credit_code like concat('%',#{jyjcInspectionResultModel.useUnitCreditCode},'%')
</if>
<if test="jyjcInspectionResultModel.useInnerCode != '' and jyjcInspectionResultModel.useInnerCode != null">
and use_inner_code like concat('%',#{jyjcInspectionResultModel.useInnerCode},'%')
</if>
<if test="jyjcInspectionResultModel.equCode != '' and jyjcInspectionResultModel.equCode != null">
and equ_code like concat('%',#{jyjcInspectionResultModel.equCode},'%')
</if>
<if test="jyjcInspectionResultModel.useOrgCode != '' and jyjcInspectionResultModel.useOrgCode != null">
and use_org_code like concat('%',#{jyjcInspectionResultModel.useOrgCode},'%')
</if>
<if test="jyjcInspectionResultModel.equipUnicode != '' and jyjcInspectionResultModel.equipUnicode != null">
and res.equip_unicode like concat('%',#{jyjcInspectionResultModel.equipUnicode},'%')
</if>
<if test="jyjcInspectionResultModel.equCategory != '' and jyjcInspectionResultModel.equCategory != null">
and ibjri.equ_category = #{jyjcInspectionResultModel.equCategory}
</if>
<if test="jyjcInspectionResultModel.inspectionType != '' and jyjcInspectionResultModel.inspectionType != null">
and res.inspection_type = #{jyjcInspectionResultModel.inspectionType}
</if>
<if test="jyjcInspectionResultModel.applicationDate!=null">
AND TO_DAYS(res.application_date) = TO_DAYS(#{jyjcInspectionResultModel.applicationDate})
</if> </if>
</where> </where>
</select> </select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.jyjc.biz.controller; package com.yeejoin.amos.boot.module.jyjc.biz.controller;
import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.enums.WorkFlowEnum;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationAttachment;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationEquip;
import com.yeejoin.amos.boot.module.jyjc.api.enums.DocumentEnum;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationAttachmentModel;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationAttachmentServiceImpl;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationEquipServiceImpl;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationPushLogServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import java.util.ArrayList; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.Map;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationServiceImpl; import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationServiceImpl;
import org.typroject.tyboot.core.rdbms.annotation.Condition; import io.swagger.annotations.Api;
import org.typroject.tyboot.core.rdbms.annotation.Operator; import io.swagger.annotations.ApiOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
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 static com.yeejoin.amos.boot.biz.common.service.impl.WorkflowExcuteServiceImpl.buildOrderNo; import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* *
...@@ -136,10 +110,8 @@ public class JyjcInspectionApplicationController extends BaseController { ...@@ -136,10 +110,8 @@ public class JyjcInspectionApplicationController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个") @ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<JyjcInspectionApplicationModel> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<Map<String,Object>> selectOne(@PathVariable Long sequenceNbr) {
jyjcInspectionApplicationServiceImpl.selectBySeq(sequenceNbr); return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.selectBySeq(sequenceNbr));
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.queryBySeq(sequenceNbr));
} }
/** /**
...@@ -263,4 +235,15 @@ public class JyjcInspectionApplicationController extends BaseController { ...@@ -263,4 +235,15 @@ public class JyjcInspectionApplicationController extends BaseController {
public void doRollbackFlow(@RequestParam("instanceId") String instanceId) { public void doRollbackFlow(@RequestParam("instanceId") String instanceId) {
jyjcInspectionApplicationServiceImpl.doRollback(instanceId); jyjcInspectionApplicationServiceImpl.doRollback(instanceId);
} }
/**
* 查询指定设备种类的设备列表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "查询指定设备种类的设备列表", notes = "查询指定设备种类的设备列表")
@GetMapping(value = "/listByCategory")
public ResponseModel<List<JyjcInspectionApplicationEquipModel>> listByCategory(@RequestParam("equipClassify") String equipClassify) {
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.listByCategory(equipClassify));
}
} }
...@@ -18,8 +18,6 @@ import java.util.List; ...@@ -18,8 +18,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
*
*
* @author system_generator * @author system_generator
* @date 2023-12-14 * @date 2023-12-14
*/ */
...@@ -53,7 +51,7 @@ public class JyjcInspectionResultController extends BaseController { ...@@ -53,7 +51,7 @@ public class JyjcInspectionResultController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<JyjcInspectionResultModel> updateBySequenceNbrJyjcInspectionResult(@RequestBody JyjcInspectionResultModel model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<JyjcInspectionResultModel> updateBySequenceNbrJyjcInspectionResult(@RequestBody JyjcInspectionResultModel model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.updateWithModel(model)); return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.updateWithModel(model));
} }
...@@ -67,7 +65,7 @@ public class JyjcInspectionResultController extends BaseController { ...@@ -67,7 +65,7 @@ public class JyjcInspectionResultController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){ public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.removeById(sequenceNbr)); return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.removeById(sequenceNbr));
} }
...@@ -79,7 +77,7 @@ public class JyjcInspectionResultController extends BaseController { ...@@ -79,7 +77,7 @@ public class JyjcInspectionResultController extends BaseController {
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<Map<String, Object>> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<Map<String, Object>> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.queryDetailBySeq(sequenceNbr)); return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.queryDetailBySeq(sequenceNbr));
} }
...@@ -91,7 +89,7 @@ public class JyjcInspectionResultController extends BaseController { ...@@ -91,7 +89,7 @@ public class JyjcInspectionResultController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<JyjcInspectionResultModel>> selectForList() { public ResponseModel<List<JyjcInspectionResultModel>> selectForList() {
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.queryForJyjcInspectionResultList()); return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.queryForJyjcInspectionResultList());
...@@ -106,11 +104,11 @@ public class JyjcInspectionResultController extends BaseController { ...@@ -106,11 +104,11 @@ public class JyjcInspectionResultController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/applicationUnitPage") @PostMapping(value = "/applicationUnitPage")
@ApiOperation(httpMethod = "GET", value = "列表页面(报检单位)", notes = "列表页面(报检单位)") @ApiOperation(httpMethod = "Post", value = "列表页面(报检单位)", notes = "列表页面(报检单位)")
public ResponseModel<Page<JyjcInspectionResultModel>> applicationUnitQueryForPage( public ResponseModel<Page<JyjcInspectionResultModel>> applicationUnitQueryForPage(
@RequestParam(value = "current") int current, @RequestBody int current, @RequestBody int size,
@RequestParam(value = "size") int size, JyjcInspectionResultModel model) { @RequestBody JyjcInspectionResultModel model) {
Page<JyjcInspectionResultModel> page = new Page<>(); Page<JyjcInspectionResultModel> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
...@@ -126,17 +124,18 @@ public class JyjcInspectionResultController extends BaseController { ...@@ -126,17 +124,18 @@ public class JyjcInspectionResultController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/inspectionUnitPage") @PostMapping(value = "/inspectionUnitPage")
@ApiOperation(httpMethod = "GET", value = "列表页面(检验检测单位)", notes = "列表页面(检验检测单位)") @ApiOperation(httpMethod = "POST", value = "列表页面(检验检测单位)", notes = "列表页面(检验检测单位)")
public ResponseModel<Page<JyjcInspectionResultModel>> inspectionUnitQueryForPage( public ResponseModel<Page<JyjcInspectionResultModel>> inspectionUnitQueryForPage(
@RequestParam(value = "current") int current, @RequestBody int current, @RequestBody int size,
@RequestParam(value = "size") int size, JyjcInspectionResultModel model) { @RequestBody JyjcInspectionResultModel model) {
Page<JyjcInspectionResultModel> page = new Page<>(); Page<JyjcInspectionResultModel> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.queryForJyjcInspectionResultPage(page, model, true)); return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.queryForJyjcInspectionResultPage(page, model, true));
} }
/** /**
* 检验结果-上传结果和编辑结果 * 检验结果-上传结果和编辑结果
* *
...@@ -145,19 +144,21 @@ public class JyjcInspectionResultController extends BaseController { ...@@ -145,19 +144,21 @@ public class JyjcInspectionResultController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/updateResult") @PutMapping(value = "/updateResult")
@ApiOperation(httpMethod = "PUT", value = "检验结果-上传结果和编辑结果", notes = "检验结果-上传结果和编辑结果") @ApiOperation(httpMethod = "PUT", value = "检验结果-上传结果和编辑结果", notes = "检验结果-上传结果和编辑结果")
public ResponseModel<JyjcInspectionResultModel> updateJyjcInspectionResult(@RequestBody JyjcInspectionResultModel model) { public ResponseModel<JyjcInspectionResultModel> updateJyjcInspectionResult(@RequestBody Map<String, JyjcInspectionResultModel> model) {
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.updateJyjcInspectionResult(model)); JyjcInspectionResultModel inspectResult = model.get("inspectResult");
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.updateJyjcInspectionResult(inspectResult));
} }
/** /**
* 获取设备种类列表 * 获取设备种类列表
*
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "获取设备种类列表", notes = "获取设备种类列表") @ApiOperation(httpMethod = "GET", value = "获取设备种类列表", notes = "获取设备种类列表")
@GetMapping(value = "/equipTypeList") @GetMapping(value = "/equipTypeList")
public ResponseModel<List<Map<String,Object>>> equipTypeList(@RequestParam(required = false) String type, @RequestParam(required = false) String notNode) { public ResponseModel<List<Map<String, Object>>> equipTypeList(@RequestParam(required = false) String type, @RequestParam(required = false) String notNode) {
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.equipList(type, notNode)); return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.equipList(type, notNode));
} }
......
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl; package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapBuilder; import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.enums.WorkFlowEnum; import com.yeejoin.amos.boot.biz.common.enums.WorkFlowEnum;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService; import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
...@@ -14,14 +14,10 @@ import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResult; ...@@ -14,14 +14,10 @@ import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResult;
import com.yeejoin.amos.boot.module.jyjc.api.enums.DocumentEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.DocumentEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationMapper; import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationAttachmentModel; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationAttachmentModel;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionApplicationService; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import org.springframework.beans.factory.annotation.Autowired; import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionApplicationService;
import org.springframework.web.bind.annotation.RequestBody;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.handler.JyjcInspectionApplicationHandlerFactory; import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.handler.JyjcInspectionApplicationHandlerFactory;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.service.ICreateCodeService; import com.yeejoin.amos.boot.module.ymt.api.service.ICreateCodeService;
...@@ -33,26 +29,16 @@ import lombok.extern.slf4j.Slf4j; ...@@ -33,26 +29,16 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.yeejoin.amos.boot.biz.common.service.impl.WorkflowExcuteServiceImpl.buildOrderNo; import static com.yeejoin.amos.boot.biz.common.service.impl.WorkflowExcuteServiceImpl.buildOrderNo;
import java.util.Map;
import java.util.Optional;
/** /**
* 服务实现类 * 服务实现类
...@@ -190,6 +176,11 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -190,6 +176,11 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
} }
@Override
public List<JyjcInspectionApplicationEquipModel> listByCategory(String equipClassify) {
return getBaseMapper().listByCategory(equipClassify);
}
public Page<JyjcInspectionApplication> queryForJyjcInspectionApplicationPage(Page<JyjcInspectionApplication> page, public Page<JyjcInspectionApplication> queryForJyjcInspectionApplicationPage(Page<JyjcInspectionApplication> page,
String applicationNo, String applicationNo,
...@@ -215,9 +206,16 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -215,9 +206,16 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
return this.queryForList("", false); return this.queryForList("", false);
} }
public JyjcInspectionApplicationModel selectBySeq(Long sequenceNbr) { public Map<String,Object> selectBySeq(Long sequenceNbr) {
JyjcInspectionApplicationModel model = this.selectBySeq(sequenceNbr); JyjcInspectionApplicationModel model = this.queryBySeq(sequenceNbr);
return model; Map<String, Object> map = BeanUtil.beanToMap(model);
List<Map<String, Object>> dataByApplicationSeq = jyjcInspectionApplicationAttachmentService.getBaseMapper().getDataByApplicationSeq(sequenceNbr);
Map<String, Object> attMap = new HashMap<>();
for (Map<String, Object> maps : dataByApplicationSeq) {
attMap.put(maps.get("attachment_type").toString(),maps.get("attachment_url"));
}
map.putAll(attMap);
return map;
} }
......
...@@ -7,8 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -7,8 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResult; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResult;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResultAttachment; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResultAttachment;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResultParam; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResultParam;
...@@ -18,14 +16,9 @@ import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel; ...@@ -18,14 +16,9 @@ import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultAttachmentService; import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultAttachmentService;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultParamService; import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultParamService;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultService; import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultService;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel;
import com.yeejoin.amos.boot.module.jyjc.biz.utils.JsonUtils; import com.yeejoin.amos.boot.module.jyjc.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
import com.yeejoin.amos.boot.module.ymt.flc.api.feign.PrivilegeFeginService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -79,6 +72,9 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR ...@@ -79,6 +72,9 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
public Page<JyjcInspectionResultModel> queryForJyjcInspectionResultPage(Page<JyjcInspectionResultModel> page, JyjcInspectionResultModel model, boolean type) { public Page<JyjcInspectionResultModel> queryForJyjcInspectionResultPage(Page<JyjcInspectionResultModel> page, JyjcInspectionResultModel model, boolean type) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(),
RequestContext.getToken())).toString(), ReginParams.class); RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(model)) {
model = new JyjcInspectionResultModel();
}
if (type) { if (type) {
//检验检测单位分页查询 //检验检测单位分页查询
model.setInspectionUnitCode(reginParams.getCompany().getCompanyCode()); model.setInspectionUnitCode(reginParams.getCompany().getCompanyCode());
...@@ -141,7 +137,9 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR ...@@ -141,7 +137,9 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
map.put("paramJson", mapParam); map.put("paramJson", mapParam);
} }
} }
return map; Map<String, Object> resultMap = new HashMap<>();
resultMap.put("inspectResult", map);
return resultMap;
} }
@Override @Override
......
...@@ -123,7 +123,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -123,7 +123,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
if (model.getSequenceNbr() == null) { if (model.getSequenceNbr() == null) {
CompanyBo companyBo = commonserviceImpl.getReginParamsOfCurrentUser().getCompany(); CompanyBo companyBo = commonserviceImpl.getReginParamsOfCurrentUser().getCompany();
model.setUnitCode(companyBo.getCompanyCode()); model.setUnitCode(companyBo.getCompanyCode());
model.setUnitCode("91611103MAC4Q1EG7B");
model.setUnitCodeName(companyBo.getCompanyName()); model.setUnitCodeName(companyBo.getCompanyName());
model.setApplicationSeq(createCodeService.createDeviceRegistrationCode(ApplicationFormTypeEnum.JY.getCode())); model.setApplicationSeq(createCodeService.createDeviceRegistrationCode(ApplicationFormTypeEnum.JY.getCode()));
return this.createWithModel(model); return this.createWithModel(model);
...@@ -228,7 +227,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -228,7 +227,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel(); jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel();
} }
String unitCode = reginParams.getCompany().getCompanyCode(); String unitCode = reginParams.getCompany().getCompanyCode();
unitCode = "91611103MAC4Q1EG7B"; // 测试用,之后务必删除!!! // unitCode = "91611103MAC4Q1EG7B"; // 测试用,之后务必删除!!!
QueryWrapper enterpriseInfoQueryWrapper = new QueryWrapper<>(); QueryWrapper enterpriseInfoQueryWrapper = new QueryWrapper<>();
enterpriseInfoQueryWrapper.eq("use_code", unitCode); enterpriseInfoQueryWrapper.eq("use_code", unitCode);
TzBaseEnterpriseInfo baseUnitLicenceEntity = enterpriseInfoMapper.selectOne(enterpriseInfoQueryWrapper); TzBaseEnterpriseInfo baseUnitLicenceEntity = enterpriseInfoMapper.selectOne(enterpriseInfoQueryWrapper);
...@@ -255,10 +254,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -255,10 +254,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// unitLicenceQueryWrapper.eq("licence_type", LicenceTypeEnum.JYJC.getCode()); // unitLicenceQueryWrapper.eq("licence_type", LicenceTypeEnum.JYJC.getCode());
// List<TzBaseUnitLicenceDto> baseUnitLicences = Bean.toModels(unitLicenceMapper.selectList(unitLicenceQueryWrapper), TzBaseUnitLicenceDto.class ); // List<TzBaseUnitLicenceDto> baseUnitLicences = Bean.toModels(unitLicenceMapper.selectList(unitLicenceQueryWrapper), TzBaseUnitLicenceDto.class );
// //
List<TzBaseUnitLicenceDto> baseUnitLicences = baseMapper.selectBaseUnitLicenceList(MapBuilder.<String, Object>create() List<TzBaseUnitLicenceDto> baseUnitLicences = baseMapper.selectBaseUnitLicenceList(MapBuilder.<String, Object>create().put("unitCode", unitCode).put("licenceType", "jyjc").build());
.put("unitCode", unitCode)
// .put("licenceType", LicenceTypeEnum.JYJC.getCode())
.build());
jyjcOpeningApplicationModel.setBaseUnitLicences(baseUnitLicences); jyjcOpeningApplicationModel.setBaseUnitLicences(baseUnitLicences);
// 获取检验人员信息 // 获取检验人员信息
QueryWrapper userInfoQueryWrapper = new QueryWrapper<>(); QueryWrapper userInfoQueryWrapper = new QueryWrapper<>();
...@@ -294,7 +290,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -294,7 +290,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
dto.setBusinessKey(StringUtils.defaultString(businessKey, "1")); dto.setBusinessKey(StringUtils.defaultString(businessKey, "1"));
// dto.setCompleteFirstTask(true); // dto.setCompleteFirstTask(true);
FeignClientResult ajaxResult = Workflow.taskV2Client.startByVariable(dto); FeignClientResult ajaxResult = Workflow.taskV2Client.startByVariable(dto);
// AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("开启工作流结果:{}", ajaxResult); log.debug("开启工作流结果:{}", ajaxResult);
} }
......
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