From 9ca0dc6e7833715b875cc9b6b91d5c497b2bae8b Mon Sep 17 00:00:00 2001 From: zf <1603559716@qq.com> Date: 星期三, 30 八月 2023 09:05:45 +0800 Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/hazardInvestigationSystem into zf --- src/main/java/com/gk/hotwork/Controller/Base/BaseController.java | 7 src/main/java/com/gk/hotwork/Domain/SafetyFacilityProcessflow.java | 186 ++ src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityProcessflowImpl.java | 71 src/main/resources/docxTemplate/ReviewHtml.ftl | 276 +++ src/main/java/com/gk/hotwork/Mapper/mybatis/SafetyFacilityProcessflowMapper.xml | 215 ++ src/main/resources/application-prod.yml | 2 src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityInspectionImpl.java | 159 ++ pom.xml | 5 src/main/java/com/gk/hotwork/Mapper/SafetyFacilityInspectionMapper.java | 29 src/main/java/com/gk/hotwork/Domain/SafetyFacilityInspection.java | 280 +++ src/main/java/com/gk/hotwork/Mapper/SafetyFacilityProcessflowMapper.java | 33 src/main/java/com/gk/hotwork/Controller/UserController.java | 251 +++ src/main/java/com/gk/hotwork/Service/SafetyFacilityInspectionService.java | 39 src/main/java/com/gk/hotwork/Service/SafetyFacilityProcessflowService.java | 48 src/main/java/com/gk/hotwork/Controller/SafetyFacilityInspectionController.java | 801 ++++++++++ src/main/resources/application-dev.yml | 4 src/main/java/com/gk/hotwork/Mapper/mybatis/SafetyFacilityInspectionMapper.xml | 302 +++ src/main/resources/docxTemplate/ReviewOpinion.ftl | 1880 ++++++++++++++++++++++++ 18 files changed, 4,587 insertions(+), 1 deletions(-) diff --git a/pom.xml b/pom.xml index 9cf499c..d19412c 100644 --- a/pom.xml +++ b/pom.xml @@ -104,6 +104,11 @@ </exclusions> </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-freemarker</artifactId> + </dependency> + <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> diff --git a/src/main/java/com/gk/hotwork/Controller/Base/BaseController.java b/src/main/java/com/gk/hotwork/Controller/Base/BaseController.java index 4facf08..c2d141f 100644 --- a/src/main/java/com/gk/hotwork/Controller/Base/BaseController.java +++ b/src/main/java/com/gk/hotwork/Controller/Base/BaseController.java @@ -115,6 +115,13 @@ msg.setMessage("success"); return msg; } + + public Msg failed(String errorMsg) { + Msg msg = new Msg(); + msg.setCode("500"); + msg.setMessage(errorMsg); + return msg; + } public Msg success(Object object) { Msg msg = new Msg(); diff --git a/src/main/java/com/gk/hotwork/Controller/SafetyFacilityInspectionController.java b/src/main/java/com/gk/hotwork/Controller/SafetyFacilityInspectionController.java new file mode 100644 index 0000000..741f2c3 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Controller/SafetyFacilityInspectionController.java @@ -0,0 +1,801 @@ +package com.gk.hotwork.Controller; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gk.hotwork.Config.attachment.FilePathConfig; +import com.gk.hotwork.Controller.Base.BaseController; +import com.gk.hotwork.Domain.CompanyInfo; +import com.gk.hotwork.Domain.SafetyFacilityInspection; +import com.gk.hotwork.Domain.SafetyFacilityProcessflow; +import com.gk.hotwork.Domain.Enum.ResultCodes; +import com.gk.hotwork.Domain.Exception.BusinessException; +import com.gk.hotwork.Domain.Utils.FilterObject; +import com.gk.hotwork.Domain.Utils.Msg; +import com.gk.hotwork.Domain.Utils.PageInfo; +import com.gk.hotwork.Domain.Utils.StringUtils; +import com.gk.hotwork.Domain.query.CompanyQuery; +import com.gk.hotwork.Service.CompanyService; +import com.gk.hotwork.Service.SafetyFacilityInspectionService; +import com.gk.hotwork.Service.SafetyFacilityProcessflowService; +import com.gk.hotwork.Service.UserService; +import freemarker.template.Template; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; + +@Api(tags = "②安全设施审查流程") +@RestController +@RequestMapping("/safetyFacilityInspection") +public class SafetyFacilityInspectionController extends BaseController { + + @Autowired + private SafetyFacilityInspectionService safetyFacilityInspectionService; + + @Autowired + private SafetyFacilityProcessflowService safetyFacilityProcessflowService; + + @Autowired + private UserService userService; + + @Resource + private FilePathConfig filePathConfig; + + @Autowired + private CompanyService companyService; + + @Autowired + private FreeMarkerConfigurer freeMarkerConfigurer; + + @ApiOperation("审查项目分页列表") + @PostMapping("/page") + @ApiImplicitParams({ @ApiImplicitParam(name = "pageIndex", value = "当前页码"), + @ApiImplicitParam(name = "pageSize", value = "每页行数"), + @ApiImplicitParam(name = "progress", value = "进度进度(0:待受理,1:已受理,10:待评审,11:评审中,12:评审否决,19:待企业反馈,20:待审查,21:审查中,29:待企业补正,22:审查否决,30:完成)"), + @ApiImplicitParam(name = "expert", value = "审查专家"), + @ApiImplicitParam(name = "createBy", value = "企业用户姓名"), + @ApiImplicitParam(name = "type", value = "类别(1:安全设施设计审查,2:安全条件审查)"), + @ApiImplicitParam(name = "submitDateStartTime", value = "开始时间"), + @ApiImplicitParam(name = "submitDateEndTime", value = "结束时间") }) + public Msg selectPage(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex() == null ? 1 : filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize() == null ? 10 : filterObject.getPageSize(); + Map<String, Object> map = filterObject.getFilter(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + try { + if (map.get("submitDateStartTime") != null && StringUtils.isNotBlank(map.get("submitDateStartTime").toString())) + map.put("submitDateStartTime", simpleDateFormat.format(simpleDateFormat.parse(map.get("submitDateStartTime").toString()))); + + if (map.get("submitDateEndTime") != null && StringUtils.isNotBlank(map.get("submitDateEndTime").toString())) + map.put("submitDateEndTime", simpleDateFormat.format(simpleDateFormat.parse(map.get("submitDateEndTime").toString()))); + + if (map.get("progress") != null && StringUtils.isNotBlank(map.get("progress").toString())) + map.put("progress", Integer.valueOf(map.get("progress").toString())); + else + map.put("progress", null); + + IPage<SafetyFacilityInspection> page = safetyFacilityInspectionService.selectPage(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + return success(page); + } catch (ParseException e) { + return failed(e.getMessage()); + } + + } + + @ApiOperation("业务处理历史详情") + @PostMapping("/dealFlow") + @ApiImplicitParams({ @ApiImplicitParam(name = "pageIndex", value = "当前页码"), + @ApiImplicitParam(name = "pageSize", value = "每页行数"), + @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public Msg dealFlow(@RequestBody FilterObject filterObject) { + Integer pageIndex = filterObject.getPageIndex() == null ? 1 : filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize() == null ? 100 : filterObject.getPageSize(); + + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId,this.getUser()); + int progress = inspection.getProgress(); + + IPage<SafetyFacilityProcessflow> page = safetyFacilityProcessflowService.processflowPages(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); + List<SafetyFacilityProcessflow> list = new ArrayList<SafetyFacilityProcessflow>(); + List<SafetyFacilityProcessflow> review = new ArrayList<SafetyFacilityProcessflow>(); + List<SafetyFacilityProcessflow> examine = new ArrayList<SafetyFacilityProcessflow>(); + + String reviewFinalResolution = ""; + String examineFinalResolution = ""; + + for (SafetyFacilityProcessflow flow : page.getRecords()) { + if ("资料提交".equals(flow.getProgressName()) || "待评审".equals(flow.getProgressName()) || "已受理".equals(flow.getProgressName()) || "待受理".equals(flow.getProgressName())) + list.add(flow); + } + + if (progress > 20) { // 构建审查全流程 + SafetyFacilityProcessflow inner = new SafetyFacilityProcessflow(); + inner.setProgressName("审查开始"); + inner.setCheckTime(inspection.getExamineTime()); + examine.add(inner); + + for (SafetyFacilityProcessflow flow : page.getRecords()) { + if ("通知补正".equals(flow.getProgressName()) || "企业补正".equals(flow.getProgressName()) || "审查通过".equals(flow.getProgressName()) || "审查否决".equals(flow.getProgressName())) { + examine.add(flow); + } + if ("审查否决".equals(flow.getProgressName()) || "审查通过".equals(flow.getProgressName())) { + examineFinalResolution = flow.getResolution(); + } + } + } + + if (progress > 10) { // 构建评审全流程 + SafetyFacilityProcessflow inner = new SafetyFacilityProcessflow(); + inner.setProgressName("评审开始"); + inner.setCheckTime(inspection.getReviewTime()); + review.add(inner); + + for (SafetyFacilityProcessflow flow : page.getRecords()) { + if ("评审反馈".equals(flow.getProgressName()) || "企业反馈".equals(flow.getProgressName()) || "评审通过".equals(flow.getProgressName()) || "评审否决".equals(flow.getProgressName())) { + review.add(flow); + } + if ("评审通过".equals(flow.getProgressName()) || "评审否决".equals(flow.getProgressName())) { + reviewFinalResolution = flow.getResolution(); + } + } + } + + if (progress == 30) { + if (inspection.getType() == 1) { + SafetyFacilityProcessflow f1 = new SafetyFacilityProcessflow(); + f1.setProgressName("评审通过"); + f1.setResult("评审通过"); + f1.setResolution(reviewFinalResolution); + f1.setChildFlow(review); + f1.setLinkInspectionId(inspectionId); + list.add(f1); + } + + SafetyFacilityProcessflow f = new SafetyFacilityProcessflow(); + f.setProgressName("审查通过"); + f.setResult("耗时:" + inspection.getExamineTaketime()); + f.setResolution("详情查看审查意见书"); + f.setChildFlow(examine); + f.setLinkInspectionId(inspectionId); + list.add(f); + + SafetyFacilityProcessflow ff = new SafetyFacilityProcessflow(); + ff.setProgressName("已完成"); + ff.setLinkInspectionId(inspectionId); + list.add(ff); + } + if (progress >= 20 && progress < 30) { + if (inspection.getType() == 1) { + SafetyFacilityProcessflow f1 = new SafetyFacilityProcessflow(); + f1.setProgressName("评审通过"); + f1.setResult("评审通过"); + f1.setLinkInspectionId(inspectionId); + f1.setResolution(reviewFinalResolution); + f1.setChildFlow(review); + list.add(f1); + } + + SafetyFacilityProcessflow f = new SafetyFacilityProcessflow(); + if (progress == 20) + f.setProgressName("待审查"); + if (progress == 21) + f.setProgressName("审查中"); + if (progress == 29) + f.setProgressName("待企业补正"); + if (progress == 22){ + f.setProgressName("审查否决"); + f.setResolution(examineFinalResolution); + } + f.setChildFlow(examine); + list.add(f); + } + + if (progress > 10 && progress < 20) { + SafetyFacilityProcessflow f = new SafetyFacilityProcessflow(); + + if (progress == 11) + f.setProgressName("评审中"); + if (progress == 19) + f.setProgressName("待企业反馈"); + if (progress == 12){ + f.setProgressName("评审否决"); + f.setResolution(reviewFinalResolution); + } + f.setChildFlow(review); + list.add(f); + } + + page.setRecords(list); + return success(page); + } + + @ApiOperation("企业新增审查") + @PostMapping("/add") + @ApiImplicitParams({ @ApiImplicitParam(name = "submitDate", value = "提交日期(可为空默认当前时间)", required = false), + @ApiImplicitParam(name = "type", value = "类别(1:安全设施设计审查,2:安全条件审查)"), + @ApiImplicitParam(name = "projectName", value = "项目名称"), + @ApiImplicitParam(name = "progress", required = false, value = "进度(0:待受理,1:已受理,10:待评审,11:评审中,12:评审否决,19:待企业反馈,20:待审查,21:审查中,29:待企业补正,22:审查否决,30:完成)"), + @ApiImplicitParam(name = "expert", value = "审查专家", required = false), + @ApiImplicitParam(name = "contact", value = "联系人", required = false), + @ApiImplicitParam(name = "telephone", value = "联系电话", required = false), + @ApiImplicitParam(name = "company", value = "企业名称", required = false) }) + public Msg add(@RequestBody SafetyFacilityInspection param) { + String genId = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli() + "" + (int) (Math.random() * 900 + 100); + param.setId(Long.valueOf(genId)); + Date date = new Date(); + safetyFacilityInspectionService.addOne(param, this.getUser()); + + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(date); + flow.setProgressName("资料提交"); + flow.setResult("资料提交"); + flow.setResolution("开始"); + flow.setLinkInspectionId(Long.valueOf(genId)); + flow.setProcessBy(this.getUser().getRealname()); + safetyFacilityProcessflowService.addOne(flow, this.getUser()); + + SafetyFacilityProcessflow flowd = new SafetyFacilityProcessflow(); + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.add(Calendar.SECOND, 1); + + flowd.setCheckTime(c.getTime()); + flowd.setProgressName("待受理"); + flowd.setLinkInspectionId(Long.valueOf(genId)); + safetyFacilityProcessflowService.addOne(flowd, this.getUser()); + + return success(); + } + + + @ApiOperation("删除审查项目") + @PostMapping("/delete") + @ApiImplicitParams({ @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public Msg delete(@RequestBody FilterObject filterObject) { + if (filterObject.getFilter().get("linkInspectionId") == null) + return failed("安全审查项目ID不能为空"); + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + safetyFacilityInspectionService.delOne(inspectionId, this.getUser()); + safetyFacilityProcessflowService.deleteBylinkInspectionId(inspectionId, this.getUser()); + return success(); + } + + @ApiOperation("获取审查专家列表") + @PostMapping("/expert") + @ApiImplicitParams({ @ApiImplicitParam(name = "pageIndex", value = "当前页码"), + @ApiImplicitParam(name = "pageSize", value = "每页行数") }) + public Msg getExpert(@RequestParam(defaultValue = "0") Integer pageIndex,@RequestParam(defaultValue = "10") Integer pageSize, String realname) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("success"); + PageInfo pageInfo = new PageInfo(pageIndex, pageSize); + HashMap<String, Object> condition = new HashMap<String, Object>(); + condition.put("job", "审查"); + condition.put("company", "危化处"); + if (StringUtils.isNotBlank(realname)) { + condition.put("realname", realname.trim()); + } + + pageInfo.setCondition(condition); + userService.selectExpertUserDataGrid(pageInfo); + msg.setResult(pageInfo); + return msg; + } + + @ApiOperation("危化处业务处理") + @PostMapping("/dealCheck") + @ApiImplicitParams({ @ApiImplicitParam(name = "acceptTime", value = "选择受理时间(默认当前时间)", required = false), + @ApiImplicitParam(name = "reviewTime", value = "自定义评审开始时间", required = false), + @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public Msg dealCheck(@RequestBody FilterObject filterObject) throws ParseException { + if (filterObject.getFilter().get("linkInspectionId") == null) + return failed("安全审查项目ID不能为空"); + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId,this.getUser()); + String acceptTimeString = null; + if (inspection.getProgress() == 0) { + if (inspection.getType() == 1) { + if (filterObject.getFilter().get("acceptTime") != null && StringUtils.isNotBlank(filterObject.getFilter().get("acceptTime").toString())) { + acceptTimeString = filterObject.getFilter().get("acceptTime").toString(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + inspection.setAcceptTime(simpleDateFormat.parse(acceptTimeString)); + } else + inspection.setAcceptTime(new Date()); + inspection.setProgress(1); + + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(new Date()); + flow.setProgressName("已受理"); + flow.setResult("选择受理时间"); + flow.setLinkInspectionId(inspectionId); + flow.setProcessBy(this.getUser().getRealname()); + safetyFacilityProcessflowService.addOne(flow, this.getUser()); + safetyFacilityInspectionService.modOne(inspection, getUser()); + safetyFacilityProcessflowService.modPending(inspectionId, this.getUser()); // 删除待处理流程记录 + } + if (inspection.getType() == 2) { + Date date = new Date(); + if (filterObject.getFilter().get("acceptTime") != null && StringUtils.isNotBlank(filterObject.getFilter().get("acceptTime").toString())) { + acceptTimeString = filterObject.getFilter().get("acceptTime").toString(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + inspection.setAcceptTime(simpleDateFormat.parse(acceptTimeString)); + } else + inspection.setAcceptTime(date); + inspection.setProgress(20); + + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(date); + flow.setProgressName("已受理"); + flow.setResult("选择受理时间"); + flow.setLinkInspectionId(inspectionId); + flow.setProcessBy(this.getUser().getRealname()); + safetyFacilityProcessflowService.addOne(flow, this.getUser()); + safetyFacilityProcessflowService.modPending(inspectionId, this.getUser()); // 删除待处理流程记录 + + SafetyFacilityProcessflow flow1 = new SafetyFacilityProcessflow(); + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.add(Calendar.SECOND, 1); + flow1.setProgressName("待审查"); + flow1.setCheckTime(c.getTime()); + flow1.setLinkInspectionId(inspectionId); + flow1.setProcessBy(this.getUser().getRealname()); + safetyFacilityProcessflowService.addOne(flow1, this.getUser()); + safetyFacilityInspectionService.modOne(inspection, getUser()); + } + return success(); + } + if (inspection.getProgress() == 1) { + if (filterObject.getFilter().get("reviewTime") != null && StringUtils.isNotBlank(filterObject.getFilter().get("reviewTime").toString())) { + acceptTimeString = filterObject.getFilter().get("reviewTime").toString(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + inspection.setReviewTime(simpleDateFormat.parse(acceptTimeString)); + } else + inspection.setReviewTime(new Date()); + inspection.setProgress(10); + + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(new Date()); + flow.setProgressName("待评审"); + flow.setResult("业务流转"); + flow.setLinkInspectionId(inspectionId); + flow.setProcessBy(this.getUser().getRealname()); + safetyFacilityProcessflowService.addOne(flow, this.getUser()); + + safetyFacilityInspectionService.modOne(inspection, getUser()); + + return success(); + + } + return failed("处理失败!"); + } + + @ApiOperation("业务处分配审查专家") + @PostMapping("/dealExamine") + @ApiImplicitParams({ @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true), + @ApiImplicitParam(name = "expert", value = "审查专家ID(多个ID中间逗号分隔)"), + @ApiImplicitParam(name = "examineTime", value = "审查开始时间") }) + public Msg dealExamine(@RequestBody FilterObject filterObject) throws ParseException { + if (filterObject.getFilter().get("linkInspectionId") == null) + return failed("安全审查项目ID不能为空"); + + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId,this.getUser()); + + int currentprocess = inspection.getProgress(); + if (currentprocess == 20) { + + inspection.setProgress(21); + inspection.setExpert(filterObject.getFilter().get("expert") == null ? "" : filterObject.getFilter().get("expert").toString()); + + if (filterObject.getFilter().get("examineTime") != null && StringUtils.isNotBlank(filterObject.getFilter().get("examineTime").toString())) { + String examineTimeString = filterObject.getFilter().get("examineTime").toString(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + inspection.setExamineTime(simpleDateFormat.parse(examineTimeString)); + } else + inspection.setExamineTime(new Date()); + + safetyFacilityInspectionService.modOne(inspection, this.getUser()); + return success(); + } else { + return failed("当前项目不在待审查状态,无法进行专家分配!"); + } + + } + + @ApiOperation("专家审查") + @PostMapping("/expertExamine") + @ApiImplicitParams({ @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true), + @ApiImplicitParam(name = "result", required = true, value = "评审反馈结果(9:否决驳回,2:需补正,1:审查通过)"), + @ApiImplicitParam(name = "correctNo", required = false, value = "补正告知书编号"), + @ApiImplicitParam(name = "correctPDFPath", required = false, value = "补正告知书路径"), + @ApiImplicitParam(name = "emergency", value = "应急局通知人(多个ID中间逗号分隔)"), + @ApiImplicitParam(name = "resolution", value = "反馈意见") }) + public Msg expertExamine(@RequestBody FilterObject filterObject) { + if (filterObject.getFilter().get("linkInspectionId") == null) + return failed("安全审查项目ID不能为空"); + + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId, this.getUser()); + int res = Integer.valueOf(filterObject.getFilter().get("result").toString()); + int currentprocess = inspection.getProgress(); + if (currentprocess == 20 || currentprocess == 21) { + + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(new Date()); + flow.setLinkInspectionId(inspectionId); + flow.setProcessBy(this.getUser().getRealname()); + flow.setResolution(filterObject.getFilter().get("resolution") == null ? "" : filterObject.getFilter().get("resolution").toString()); + if (res == 9) { + flow.setProgressName("审查否决"); + flow.setResult("否决驳回"); + inspection.setProgress(22); + } + if (res == 2) { + flow.setProgressName("通知补正"); + inspection.setProgress(29); + String correctNo = filterObject.getFilter().get("correctNo") == null ? "" : filterObject.getFilter().get("correctNo").toString(); + String newFilePath = filterObject.getFilter().get("correctPDFPath") == null ? "" : filterObject.getFilter().get("correctPDFPath").toString(); + flow.setResolution(newFilePath); + flow.setResult(correctNo); + inspection.setCorrectpdf(newFilePath); + } + if (res == 1) { + flow.setProgressName("审查通过"); + flow.setResult("审查通过完成"); + inspection.setProgress(30); + + Date begin = inspection.getExamineTime(); + + Calendar cal1 = Calendar.getInstance(); + cal1.setTime(begin); + Calendar cal2 = Calendar.getInstance(); + cal2.setTime(new Date()); + + Long diff = (cal2.getTimeInMillis() - cal1.getTimeInMillis()) / 60000; + int day = diff.intValue() / 1440; + int hour = (diff.intValue() % 1440) / 60; + int min = (diff.intValue() % 1440) % 60; + inspection.setExamineTaketime(day + "天" + hour + "小时" + min + "分钟"); + + SimpleDateFormat pageno = new SimpleDateFormat("MMdd"); + int dateno = Integer.valueOf(pageno.format(new Date())) / 2; + if (dateno < 100) + inspection.setExaminePageno("0" + dateno); + else + inspection.setExaminePageno("" + dateno); + } + + safetyFacilityProcessflowService.addOne(flow, this.getUser()); + safetyFacilityInspectionService.modOne(inspection, this.getUser()); + + return success(); + } else { + return failed("当前项目状态异常无法进行审查!"); + } + + } + + @ApiOperation("专家审查上传补正告知书") + @PostMapping("/uploadCorrectPDF") + @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "上传补正告知书(PDF)文件") }) + public Msg uploadCorrectPDF(HttpServletRequest request, @RequestParam("file") MultipartFile file) { + if (file.getSize() > 1024 * 1024 * 2) { + return failed("文件超过2M无法上传"); + } + + String path = filePathConfig.getModule().get("correctPDF"); + String dcPath = filePathConfig.getDcPath(); + String originalFilename = file.getOriginalFilename(); + LocalDateTime now = LocalDateTime.now(); + File newFile = null; + + try { + String key = UUID.randomUUID().toString().replace("-", ""); + String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase(); + path = path.replace("/", File.separator); + String modulePath = now.getYear() + path + now.format(DateTimeFormatter.ofPattern("MMdd")); + String newFilePath = modulePath + File.separator + key + suffix; + String localPath = dcPath + newFilePath; + newFile = new File(localPath); + if (!newFile.exists() && !newFile.mkdirs()) { + return failed("文件上传路径不存在!"); + } + file.transferTo(newFile); + return success(newFilePath); + } catch (IOException e) { + if (newFile != null && newFile.exists()) { + newFile.delete(); + } + return failed("文件上传异常!"); + } + } + + @ApiOperation("补正告知书下载") + @PostMapping("/downCorrectPDF") + @ApiImplicitParams({ @ApiImplicitParam(name = "filename", value = "补正告知书文件名", required = true), + @ApiImplicitParam(name = "correctNo", value = "补正告知书编号") }) + public void downCorrectPDF(@RequestBody FilterObject filterObject, HttpServletResponse response) throws Exception { + if (filterObject.getFilter().get("filename") == null) + return; + String filepath = filterObject.getFilter().get("filename").toString(); + String correctNo = filterObject.getFilter().get("correctNo") == null ? "" : filterObject.getFilter().get("correctNo").toString(); + response.reset(); + response.addHeader("Access-Control-Allow-Origin", "*"); + response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE"); + response.setContentType("application/octet-stream; charset=UTF-8"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("补正告知书" + correctNo + ".pdf", StandardCharsets.UTF_8.name())); + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + String dcPath = filePathConfig.getDcPath(); + File file = new File(dcPath + filepath); + if (!file.exists()) { + throw new BusinessException(ResultCodes.FILE_NOT_EXISIST); + } + response.addHeader("Content-Length", "" + file.length()); + FileInputStream inputStream = new FileInputStream(file); + byte[] b = new byte[inputStream.available()]; + inputStream.read(b); + ServletOutputStream outputStream = response.getOutputStream(); + outputStream.write(b); + outputStream.flush(); + inputStream.close(); + } + + @ApiOperation("审查意见书预览") + @PostMapping("/viewExamineFile") + @ApiImplicitParams({ @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public void viewExamineFile(@RequestBody FilterObject filterObject, HttpServletResponse response) throws Exception { + if (filterObject.getFilter().get("linkInspectionId") == null) + return; + Template template = freeMarkerConfigurer.getConfiguration().getTemplate("ReviewHtml.ftl", "UTF-8"); + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId,this.getUser()); + Map<String, Object> map = new HashMap<String, Object>(); + map.put("year", String.valueOf(LocalDate.now().getYear())); + map.put("pageno", "0001"); + map.put("company", inspection.getCompany()); + map.put("projectName", inspection.getProjectName()); + map.put("contact", inspection.getContact()); + map.put("telephone", inspection.getTelephone()); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); + map.put("submitDate", simpleDateFormat.format(new Date())); + + String duplicate = ""; + if (inspection.getCompany() != null) { + duplicate = companyService.selectByName(inspection.getCompany()).getCity(); + } + map.put("duplicate", duplicate + "应急管理局"); + response.setContentType("text/html;charset=utf-8"); + template.process(map, response.getWriter()); + } + + @ApiOperation("审查意见书下载") + @PostMapping("/downExamineFile") + @ApiImplicitParams({ @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public void downExamineFile(@RequestBody FilterObject filterObject, HttpServletResponse response) throws Exception { + if (filterObject.getFilter().get("linkInspectionId") == null) + return; + Template template = freeMarkerConfigurer.getConfiguration().getTemplate("ReviewHtml.ftl", "UTF-8"); + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId, this.getUser()); + + Map<String, Object> map = new HashMap<String, Object>(); + SimpleDateFormat year = new SimpleDateFormat("yyyy"); + map.put("year", year.format(inspection.getCreateTime())); + map.put("pageno", inspection.getExaminePageno()); + map.put("company", inspection.getCompany()); + map.put("projectName", inspection.getProjectName()); + map.put("contact", inspection.getContact()); + map.put("telephone", inspection.getTelephone()); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); + map.put("submitDate", simpleDateFormat.format(new Date())); + + String duplicate = ""; + if (inspection.getCompany() != null) { + duplicate = companyService.selectByName(inspection.getCompany()).getCity(); + } + map.put("duplicate", duplicate + "应急管理局"); + response.setHeader("content-Type", "application/msword"); + String fileName = URLEncoder.encode("审查意见书", "UTF-8"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".doc"); + template.process(map, response.getWriter()); + } + + @ApiOperation("安科院评审反馈") + @PostMapping("/reviewFeedback") + @ApiImplicitParams({ + @ApiImplicitParam(name = "result", required = true, value = "评审反馈结果(9:否决驳回,2:需问题反馈,1:通过并流转到业务处室)"), + @ApiImplicitParam(name = "resolution", value = "反馈意见"), + @ApiImplicitParam(name = "reviewTime", value = "评审开始时间", required = true), + @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public Msg reviewFeedback(@RequestBody FilterObject filterObject) throws ParseException { + if (filterObject.getFilter().get("linkInspectionId") == null) + return failed("安全审查项目ID不能为空"); + if (filterObject.getFilter().get("result") == null) + return failed("评审反馈结果不能为空"); + if (filterObject.getFilter().get("reviewTime") == null) + return failed("请选择评审开始时间"); + + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + int res = Integer.valueOf(filterObject.getFilter().get("result").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId,this.getUser()); + + int currentprocess = inspection.getProgress(); + String timeString = filterObject.getFilter().get("reviewTime").toString(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + inspection.setReviewTime(simpleDateFormat.parse(timeString)); + + if (currentprocess == 10 || currentprocess == 11) { + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + Date date = new Date(); + flow.setCheckTime(date); + flow.setLinkInspectionId(inspectionId); + flow.setProcessBy(this.getUser().getRealname()); + flow.setResolution(filterObject.getFilter().get("resolution") == null ? "" : filterObject.getFilter().get("resolution").toString()); + if (res == 9) { + flow.setProgressName("评审否决"); + flow.setResult("否决驳回"); + inspection.setProgress(12); + } + if (res == 2) { + flow.setProgressName("评审反馈"); + flow.setResult("需问题反馈"); + inspection.setProgress(19); + } + if (res == 1) { + flow.setProgressName("评审通过"); + flow.setResult("通过并流转到业务处室"); + inspection.setProgress(20); + } + + safetyFacilityProcessflowService.addOne(flow, this.getUser()); + safetyFacilityInspectionService.modOne(inspection, this.getUser()); + safetyFacilityProcessflowService.modPending(inspectionId, this.getUser()); // 删除待处理流程记录 + + if (res == 1) { + SafetyFacilityProcessflow flow1 = new SafetyFacilityProcessflow(); + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.add(Calendar.SECOND, 1); + flow1.setProgressName("待审查"); + flow1.setCheckTime(c.getTime()); + flow1.setLinkInspectionId(inspectionId); + flow1.setProcessBy(this.getUser().getRealname()); + safetyFacilityProcessflowService.addOne(flow1, this.getUser()); + } + + return success(); + } else { + return failed("当前项目不在评审环节,不能进行评审!"); + } + + } + + @ApiOperation("企业提交反馈") + @PostMapping("/companySubmission") + @ApiImplicitParams({ @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public Msg companySubmission(@RequestBody FilterObject filterObject) { + if (filterObject.getFilter().get("linkInspectionId") == null) + return failed("安全审查项目ID不能为空"); + + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId,this.getUser()); + + int currentprocess = inspection.getProgress(); + if (currentprocess == 19) { + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(new Date()); + flow.setLinkInspectionId(inspectionId); + flow.setProcessBy(this.getUser().getRealname()); + flow.setProgressName("企业反馈"); + flow.setResult("已线下提交反馈资料"); + safetyFacilityProcessflowService.addOne(flow, this.getUser()); + + inspection.setProgress(11); + safetyFacilityInspectionService.modOne(inspection, this.getUser()); + return success(); + } else { + return failed("当前项目不在待提交反馈状态,企业无法提交反馈!"); + } + } + + @ApiOperation("获取审查项目对应的当地(市、州)级应急局所有人") + @PostMapping("/getEmergencyInfo") + @ApiImplicitParams({ @ApiImplicitParam(name = "pageIndex", value = "当前页码"), + @ApiImplicitParam(name = "pageSize", value = "每页行数"), + @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public Msg getEmergencyInfo(@RequestBody FilterObject filterObject) { + if (filterObject.getFilter().get("linkInspectionId") == null) + return failed("安全审查项目ID不能为空"); + + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId,this.getUser()); + + String duplicate = null; + if (inspection.getCompany() != null) { + duplicate = companyService.selectByName(inspection.getCompany()).getCity(); + } else { + return failed("当前安全审查项目没有归属地!"); + } + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("success"); + + Integer pageIndex = filterObject.getPageIndex() == null ? 1 : filterObject.getPageIndex(); + Integer pageSize = filterObject.getPageSize() == null ? 10 : filterObject.getPageSize(); + PageInfo pageInfo = new PageInfo(pageIndex, pageSize); + HashMap<String, Object> condition = new HashMap<String, Object>(); + condition.put("company", duplicate); + pageInfo.setCondition(condition); + userService.selectSuperviseUserDataGrid(pageInfo); + msg.setResult(pageInfo); + return msg; + } + + @ApiOperation("企业提交补正") + @PostMapping("/companySubcorrect") + @ApiImplicitParams({ @ApiImplicitParam(name = "linkInspectionId", value = "安全审查项目ID", required = true) }) + public Msg companySubcorrect(@RequestBody FilterObject filterObject) { + if (filterObject.getFilter().get("linkInspectionId") == null) + return failed("安全审查项目ID不能为空"); + + Long inspectionId = Long.valueOf(filterObject.getFilter().get("linkInspectionId").toString()); + SafetyFacilityInspection inspection = safetyFacilityInspectionService.selectByPrimaryKey(inspectionId,this.getUser()); + + int currentprocess = inspection.getProgress(); + if (currentprocess == 29) { + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(new Date()); + flow.setLinkInspectionId(inspectionId); + flow.setProcessBy(this.getUser().getRealname()); + flow.setProgressName("企业补正"); + flow.setResult("已线下提交补正材料"); + safetyFacilityProcessflowService.addOne(flow, this.getUser()); + + inspection.setProgress(21); + safetyFacilityInspectionService.modOne(inspection, this.getUser()); + return success(); + } else { + return failed("当前项目不在待提交补正状态,企业无法提交补正!"); + } + } + +} diff --git a/src/main/java/com/gk/hotwork/Controller/UserController.java b/src/main/java/com/gk/hotwork/Controller/UserController.java index deda520..12f0ae8 100644 --- a/src/main/java/com/gk/hotwork/Controller/UserController.java +++ b/src/main/java/com/gk/hotwork/Controller/UserController.java @@ -2714,4 +2714,255 @@ msg.setResult(companyService.selectCompanyList(companyName,getUser())); return msg; } + + + /** + * 安科院用户-新增 + * @param jsonObject + * @return + */ + @PostMapping("/add/safetyInstitute/user") + @ApiOperation(value = "添加安科院用户数据",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "username",value = "手机号",required = true), + @ApiImplicitParam(name = "password",value = "密码",required = true), + @ApiImplicitParam(name = "email",value = "邮箱"), + @ApiImplicitParam(name = "company",value = "单位名称"), + @ApiImplicitParam(name = "job",value = "职务"), + @ApiImplicitParam(name = "realname",value = "姓名"), + @ApiImplicitParam(name = "idcard",value = "身份证"), + }) + public Msg addSafetyInstituteUserInfo(@RequestBody JSONObject jsonObject){ + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("success"); + UserInfo userInfo = new UserInfo(); + + String password = jsonObject.getString("password"); + String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; + if (!password.matches(PW_PATTERN)){ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"); + return msg; + }else { + userInfo.setPassword(MD5Utils.encode(password)); + } + String username = jsonObject.getString("username"); + if (StringUtils.isNotBlank(username) && username.length() == 11){ + userInfo.setUsername(username); + }else{ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("手机号必须为11位数"); + return msg; + } + + String realname = jsonObject.getString("realname"); + if (StringUtils.isBlank(realname)){ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("姓名不能为空"); + return msg; + } + + + String idcard = jsonObject.getString("idcard"); + if (StringUtils.isNotBlank(idcard)){ + UserInfo idCardExist = userService.selectByIdCard(null,idcard); + if (null != idCardExist){ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("身份证重复"); + return msg; + }else{ + userInfo.setIdcard(idcard); + } + + if (!IdCardUtil.strongVerifyIdNumber(idcard)) { + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("身份证非法"); + return msg; + } + } + String company = jsonObject.getString("company"); + CompanyInfo companyInfo = companyService.selectByName(company); + if (companyInfo != null) { + userInfo.setCompanyid(companyInfo.getId()); + } + + userInfo.setEmail(jsonObject.getString("email")); + userInfo.setCompany(companyInfo.getCompany()); + userInfo.setJob(jsonObject.getString("job")); + userInfo.setStatus((byte)1); + userInfo.setType(2); + userInfo.setCreatedby(getUser().getRealname()); + userInfo.setRealname(realname); + userInfo.setCreateddate(new Date()); + userInfo.setLastmodifiedby(getUser().getRealname()); + userInfo.setLastmodifieddate(new Date()); + userInfo.setIsdel((byte)0); + userInfo.setIsupload((byte)0); + List<UserInfo> userInfoExist = userService.selectUserInfo(null,userInfo.getUsername()); + if (userInfoExist.size() > 0){ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("用户名重复"); + return msg; + } + + int userSize = userService.selectUserSize(); + int sli = (userSize + 1) % sliceSize; + userInfo.setSlice(sli + ""); + if (sli == 0) + userInfo.setSlice(sliceSize + ""); + userService.save(userInfo); + UserInfo user = userService.selectByUser(userInfo.getUsername()); + UserRolesInfo userRolesInfo = new UserRolesInfo(); + List<RoleInfo> list = roleService.selectPageForRole("安科院", 0, 10000); + if(list.isEmpty() || list.size()==0){ + msg.setCode(ErrorCode.ERROR_50004.getCode()); + msg.setMessage("安科院角色不存在"); + } + userRolesInfo.setRoleid(list.get(0).getId()); + userRolesInfo.setUserid(user.getId()); + userRolesService.save(userRolesInfo); + return msg; + } + + /** + * 安科院用户-修改 + * @param jsonObject + * @return + */ + @PostMapping("/put/safetyInstitute/user") + @ApiOperation(value = "修改安科院用户数据",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "id",value = "用户id",required = true), + @ApiImplicitParam(name = "username",value = "手机号",required = true), + @ApiImplicitParam(name = "password",value = "密码",required = true), + @ApiImplicitParam(name = "email",value = "邮箱"), + @ApiImplicitParam(name = "company",value = "单位"), + @ApiImplicitParam(name = "job",value = "职务"), + @ApiImplicitParam(name = "realname",value = "姓名"), + @ApiImplicitParam(name = "idcard",value = "身份证"), + }) + public Msg putSafetyInstituteUserInfo(@RequestBody JSONObject jsonObject){ + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("success"); + UserInfo userInfo = new UserInfo(); + Long id = jsonObject.getLong("id"); + if (id == null) { + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("主键参数为空"); + return msg; + }else { + userInfo.setId(id); + } + String password = jsonObject.getString("password"); + String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; + + if (StringUtils.isNotBlank(password)){ + if (!password.matches(PW_PATTERN)){ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"); + return msg; + }else { + userInfo.setPassword(MD5Utils.encode(password)); + } + } + + String username = jsonObject.getString("username"); + if (StringUtils.isNotBlank(username) && username.length() == 11){ + userInfo.setUsername(username); + }else{ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("手机号必须为11位数"); + return msg; + } + + String realname = jsonObject.getString("realname"); + if (StringUtils.isBlank(realname)){ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("姓名不能为空"); + return msg; + } + + String idcard = jsonObject.getString("idcard"); + if (StringUtils.isNotBlank(idcard)){ + UserInfo idCardExist = userService.selectByIdCard(userInfo.getId(),idcard); + if (null != idCardExist){ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("身份证重复"); + return msg; + }else{ + userInfo.setIdcard(idcard); + } + if (!IdCardUtil.strongVerifyIdNumber(idcard)) { + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("身份证非法"); + return msg; + } + } + + String company = jsonObject.getString("company"); + CompanyInfo companyInfo = companyService.selectByName(company); + if (companyInfo != null) { + userInfo.setCompanyid(companyInfo.getId()); + } + + userInfo.setEmail(jsonObject.getString("email")); + userInfo.setCompany(company); + userInfo.setJob(jsonObject.getString("job")); + userInfo.setLastmodifiedby(getUser().getRealname()); + userInfo.setLastmodifieddate(new Date()); + userInfo.setIsdel((byte)0); + userInfo.setRealname(realname); + List<UserInfo> userInfoExist = userService.selectUserInfo(userInfo.getId(),userInfo.getUsername()); + if (userInfoExist.size() > 0){ + msg.setCode(ErrorCode.ERROR_10004.getCode()); + msg.setMessage("用户名重复"); + return msg; + } + userService.updateById(userInfo); + return msg; + + } + + @GetMapping("/safetyInstitute/user/list") + @ApiOperation(value = "获取安科院用户数据-分页",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageIndex",value = "当前页码"), + @ApiImplicitParam(name = "pageSize",value = "每页行数"), + @ApiImplicitParam(name = "sort",value = "排序规则"), + @ApiImplicitParam(name = "order",value = "排序字段"), + @ApiImplicitParam(name = "username",value = "用户名"), + @ApiImplicitParam(name = "realname",value = "姓名"), + @ApiImplicitParam(name = "idcard",value = "身份证号"), + }) + public Msg getSafetyInstituteUserInfo(@RequestParam(defaultValue = "0") Integer pageIndex, @RequestParam(defaultValue = "10") Integer pageSize, String sort,String order, + String username,String realname, String idcard){ + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("success"); + + PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order); + HashMap<String, Object> condition = new HashMap<String, Object>(); + + if (StringUtils.isNotBlank(username)) { + condition.put("username", username.trim()); + } + + condition.put("company", "安科院"); + + + if (StringUtils.isNotBlank(realname)){ + condition.put("realname",realname.trim()); + } + + if (StringUtils.isNotBlank(idcard)){ + condition.put("idcard",idcard.trim()); + } + + pageInfo.setCondition(condition); + userService.selectUserDataGrid(pageInfo); + msg.setResult(pageInfo); + return msg; + } } diff --git a/src/main/java/com/gk/hotwork/Domain/SafetyFacilityInspection.java b/src/main/java/com/gk/hotwork/Domain/SafetyFacilityInspection.java new file mode 100644 index 0000000..06abdc2 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Domain/SafetyFacilityInspection.java @@ -0,0 +1,280 @@ +package com.gk.hotwork.Domain; + +import java.io.Serializable; +import java.util.Date; + +import org.springframework.data.annotation.Transient; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + + +@TableName("safety_facility_inspection") +public class SafetyFacilityInspection implements Serializable { + /** + * + */ + private static final long serialVersionUID = 4028406973653972996L; + + /** 主键id id **/ + private Long id; + + /** 有效标识 valid_flag **/ + private Byte validFlag; + + /** 创建时间 create_time **/ + private Date createTime; + + /** 创建人 create_by **/ + private String createBy; + + /** 最新更新时间 update_time **/ + private Date updateTime; + + /** 提交日期 submit_date **/ + private Date submitDate; + + /** 类别(1:安全设施设计审查,2:安全条件审查) type **/ + private Integer type; + + /** 项目名称 project_name **/ + private String projectName; + + /** 进度(0:待受理,1:已受理,10:待评审,11:评审中,12:评审否决,19:待企业反馈,20:待审查,21:审查中,29:待企业补正,22:审查否决,30:完成) progress **/ + private Integer progress; + + /** 审查专家 expert **/ + private String expert; + + /** 联系人 contact **/ + private String contact; + + /** 联系电话 telephone **/ + private String telephone; + + /** 企业名称 company **/ + private String company; + + + /** 受理时间 accept_ time **/ + private Date acceptTime; + + /** 自定义评审开始时间 review_time **/ + private Date reviewTime; + + /** 自定义审查开始时间 examine_time **/ + private Date examineTime; + + /** 补正告知书 correctpdf **/ + private String correctpdf; + + /** 审查意见书编号 examine_pageno **/ + private String examinePageno; + + /** 审查耗时(-天-时-分) examine_taketime **/ + private String examineTaketime; + + /** 主键id id **/ + public Long getId() { + return id; + } + + /** 主键id id **/ + public void setId(Long id) { + this.id = id; + } + + /** 有效标识 valid_flag **/ + public Byte getValidFlag() { + return validFlag; + } + + /** 有效标识 valid_flag **/ + public void setValidFlag(Byte validFlag) { + this.validFlag = validFlag; + } + + /** 创建时间 create_time **/ + public Date getCreateTime() { + return createTime; + } + + /** 创建时间 create_time **/ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + /** 创建人 create_by **/ + public String getCreateBy() { + return createBy; + } + + /** 创建人 create_by **/ + public void setCreateBy(String createBy) { + this.createBy = createBy == null ? null : createBy.trim(); + } + + /** 最新更新时间 update_time **/ + public Date getUpdateTime() { + return updateTime; + } + + /** 最新更新时间 update_time **/ + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + /** 提交日期 submit_date **/ + public Date getSubmitDate() { + return submitDate; + } + + /** 提交日期 submit_date **/ + public void setSubmitDate(Date submitDate) { + this.submitDate = submitDate; + } + + /** 类别(1:安全设施设计审查,2:安全条件审查) type **/ + public Integer getType() { + return type; + } + + /** 类别(1:安全设施设计审查,2:安全条件审查) type **/ + public void setType(Integer type) { + this.type = type; + } + + /** 项目名称 project_name **/ + public String getProjectName() { + return projectName; + } + + /** 项目名称 project_name **/ + public void setProjectName(String projectName) { + this.projectName = projectName == null ? null : projectName.trim(); + } + + /** 进度(0:待受理,1:已受理,10:待评审,11:评审中,12:评审否决,19:待企业反馈,20:待审查,21:审查中,29:待企业补正,22:审查否决,30:完成) progress **/ + public Integer getProgress() { + return progress; + } + + /** 进度(0:待受理,1:已受理,10:待评审,11:评审中,12:评审否决,19:待企业反馈,20:待审查,21:审查中,29:待企业补正,22:审查否决,30:完成) progress **/ + public void setProgress(Integer progress) { + this.progress = progress; + } + + /** 审查专家 expert **/ + public String getExpert() { + return expert; + } + + /** 审查专家 expert **/ + public void setExpert(String expert) { + this.expert = expert == null ? null : expert.trim(); + } + + /** 联系人 contact **/ + public String getContact() { + return contact; + } + + /** 联系人 contact **/ + public void setContact(String contact) { + this.contact = contact == null ? null : contact.trim(); + } + + /** 联系电话 telephone **/ + public String getTelephone() { + return telephone; + } + + /** 联系电话 telephone **/ + public void setTelephone(String telephone) { + this.telephone = telephone == null ? null : telephone.trim(); + } + + /** 企业名称 company **/ + public String getCompany() { + return company; + } + + /** 企业名称 company **/ + public void setCompany(String company) { + this.company = company == null ? null : company.trim(); + } + + /** 受理时间 accept_ time **/ + public Date getAcceptTime() { + return acceptTime; + } + + /** 受理时间 accept_ time **/ + public void setAcceptTime(Date acceptTime) { + this.acceptTime = acceptTime; + } + + /** 自定义评审开始时间 review_time **/ + public Date getReviewTime() { + return reviewTime; + } + + /** 自定义评审开始时间 review_time **/ + public void setReviewTime(Date reviewTime) { + this.reviewTime = reviewTime; + } + + /** 自定义审查开始时间 examine_time **/ + public Date getExamineTime() { + return examineTime; + } + + /** 自定义审查开始时间 examine_time **/ + public void setExamineTime(Date examineTime) { + this.examineTime = examineTime; + } + + /** 补正告知书 correctpdf **/ + public String getCorrectpdf() { + return correctpdf; + } + + /** 补正告知书 correctpdf **/ + public void setCorrectpdf(String correctpdf) { + this.correctpdf = correctpdf == null ? null : correctpdf.trim(); + } + + /** 审查意见书编号 examine_pageno **/ + public String getExaminePageno() { + return examinePageno; + } + + /** 审查意见书编号 examine_pageno **/ + public void setExaminePageno(String examinePageno) { + this.examinePageno = examinePageno == null ? null : examinePageno.trim(); + } + + /** 专家姓名 expertName **/ + @Transient + private String expertName; + + @Transient + public String getExpertName() { + return expertName; + } + + public void setExpertName(String expertName) { + this.expertName = expertName; + } + + /** 审查耗时(-天-时-分) examine_taketime **/ + public String getExamineTaketime() { + return examineTaketime; + } + + /** 审查耗时(-天-时-分) examine_taketime **/ + public void setExamineTaketime(String examineTaketime) { + this.examineTaketime = examineTaketime == null ? null : examineTaketime.trim(); + } +} \ No newline at end of file diff --git a/src/main/java/com/gk/hotwork/Domain/SafetyFacilityProcessflow.java b/src/main/java/com/gk/hotwork/Domain/SafetyFacilityProcessflow.java new file mode 100644 index 0000000..9512bcd --- /dev/null +++ b/src/main/java/com/gk/hotwork/Domain/SafetyFacilityProcessflow.java @@ -0,0 +1,186 @@ +package com.gk.hotwork.Domain; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import org.springframework.data.annotation.Transient; + +import com.baomidou.mybatisplus.annotation.TableName; + +@TableName("safety_facility_processflow") +public class SafetyFacilityProcessflow implements Serializable { + /** + * + */ + private static final long serialVersionUID = 9099478058115190759L; + + /** 主键id id **/ + private Long id; + + /** 有效标识 valid_flag **/ + private Byte validFlag; + + /** 创建时间 create_time **/ + private Date createTime; + + /** 创建人 create_by **/ + private String createBy; + + /** 最新更新时间 update_time **/ + private Date updateTime; + + /** 处理时间 check_time **/ + private Date checkTime; + + /** 处理状态 progress_name **/ + private String progressName; + + /** 处理结果 result **/ + private String result; + + /** 处理反馈意见 resolution **/ + private String resolution; + + /** 处理人 process_by **/ + private String processBy; + + /** 耗时(分钟) take_time **/ + private Integer takeTime; + + /** 关联安全业务审查ID link_inspection_id **/ + private Long linkInspectionId; + + /** 专家姓名 expertName **/ + @Transient + private List<SafetyFacilityProcessflow> childFlow; + + @Transient + public List<SafetyFacilityProcessflow> getChildFlow() { + return childFlow; + } + + public void setChildFlow(List<SafetyFacilityProcessflow> childFlow) { + this.childFlow = childFlow; + } + + /** 主键id id **/ + public Long getId() { + return id; + } + + /** 主键id id **/ + public void setId(Long id) { + this.id = id; + } + + /** 有效标识 valid_flag **/ + public Byte getValidFlag() { + return validFlag; + } + + /** 有效标识 valid_flag **/ + public void setValidFlag(Byte validFlag) { + this.validFlag = validFlag; + } + + /** 创建时间 create_time **/ + public Date getCreateTime() { + return createTime; + } + + /** 创建时间 create_time **/ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + /** 创建人 create_by **/ + public String getCreateBy() { + return createBy; + } + + /** 创建人 create_by **/ + public void setCreateBy(String createBy) { + this.createBy = createBy == null ? null : createBy.trim(); + } + + /** 最新更新时间 update_time **/ + public Date getUpdateTime() { + return updateTime; + } + + /** 最新更新时间 update_time **/ + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + /** 处理时间 check_time **/ + public Date getCheckTime() { + return checkTime; + } + + /** 处理时间 check_time **/ + public void setCheckTime(Date checkTime) { + this.checkTime = checkTime; + } + + /** 处理状态 progress_name **/ + public String getProgressName() { + return progressName; + } + + /** 处理状态 progress_name **/ + public void setProgressName(String progressName) { + this.progressName = progressName == null ? null : progressName.trim(); + } + + /** 处理结果 result **/ + public String getResult() { + return result; + } + + /** 处理结果 result **/ + public void setResult(String result) { + this.result = result == null ? null : result.trim(); + } + + /** 处理反馈意见 resolution **/ + public String getResolution() { + return resolution; + } + + /** 处理反馈意见 resolution **/ + public void setResolution(String resolution) { + this.resolution = resolution == null ? null : resolution.trim(); + } + + /** 处理人 process_by **/ + public String getProcessBy() { + return processBy; + } + + /** 处理人 process_by **/ + public void setProcessBy(String processBy) { + this.processBy = processBy == null ? null : processBy.trim(); + } + + /** 耗时(分钟) take_time **/ + public Integer getTakeTime() { + return takeTime; + } + + /** 耗时(分钟) take_time **/ + public void setTakeTime(Integer takeTime) { + this.takeTime = takeTime; + } + + /** 安全业务审查ID link_inspection_id **/ + public Long getLinkInspectionId() { + return linkInspectionId; + } + + /** 安全业务审查ID link_inspection_id **/ + public void setLinkInspectionId(Long linkInspectionId) { + this.linkInspectionId = linkInspectionId; + } +} \ No newline at end of file diff --git a/src/main/java/com/gk/hotwork/Mapper/SafetyFacilityInspectionMapper.java b/src/main/java/com/gk/hotwork/Mapper/SafetyFacilityInspectionMapper.java new file mode 100644 index 0000000..bd2c129 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Mapper/SafetyFacilityInspectionMapper.java @@ -0,0 +1,29 @@ +package com.gk.hotwork.Mapper; + +import java.util.Map; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gk.hotwork.Domain.SafetyFacilityInspection; + + +@Repository +public interface SafetyFacilityInspectionMapper extends BaseMapper<SafetyFacilityInspection>{ + int deleteByPrimaryKey(Long id); + + int insert(SafetyFacilityInspection record); + + int insertSelective(SafetyFacilityInspection record); + + SafetyFacilityInspection selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(SafetyFacilityInspection record); + + int updateByPrimaryKey(SafetyFacilityInspection record); + + IPage<SafetyFacilityInspection> selectPages(Page<SafetyFacilityInspection> page,@Param("params") Map<String, Object> params); +} \ No newline at end of file diff --git a/src/main/java/com/gk/hotwork/Mapper/SafetyFacilityProcessflowMapper.java b/src/main/java/com/gk/hotwork/Mapper/SafetyFacilityProcessflowMapper.java new file mode 100644 index 0000000..a4c32ea --- /dev/null +++ b/src/main/java/com/gk/hotwork/Mapper/SafetyFacilityProcessflowMapper.java @@ -0,0 +1,33 @@ +package com.gk.hotwork.Mapper; + +import java.util.Map; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gk.hotwork.Domain.SafetyFacilityProcessflow; + + +@Repository +public interface SafetyFacilityProcessflowMapper extends BaseMapper<SafetyFacilityProcessflow>{ + int deleteByPrimaryKey(Long id); + + int deleteBylinkInspectionId(Long inspectionId); + + int insert(SafetyFacilityProcessflow record); + + int insertSelective(SafetyFacilityProcessflow record); + + SafetyFacilityProcessflow selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(SafetyFacilityProcessflow record); + + int updateByPrimaryKey(SafetyFacilityProcessflow record); + + void modPending(Long linkInspectionId); + + IPage<SafetyFacilityProcessflow> processflowPages(Page<SafetyFacilityProcessflow> page,@Param("params") Map<String, Object> params); +} \ No newline at end of file diff --git a/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetyFacilityInspectionMapper.xml b/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetyFacilityInspectionMapper.xml new file mode 100644 index 0000000..3e57cb5 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetyFacilityInspectionMapper.xml @@ -0,0 +1,302 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.gk.hotwork.Mapper.SafetyFacilityInspectionMapper" > + <resultMap id="BaseResultMap" type="com.gk.hotwork.Domain.SafetyFacilityInspection" > + <!-- --> + <id column="id" property="id" jdbcType="BIGINT" /> + <result column="valid_flag" property="validFlag" jdbcType="TINYINT" /> + <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> + <result column="create_by" property="createBy" jdbcType="VARCHAR" /> + <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> + <result column="submit_date" property="submitDate" jdbcType="DATE" /> + <result column="type" property="type" jdbcType="INTEGER" /> + <result column="project_name" property="projectName" jdbcType="VARCHAR" /> + <result column="progress" property="progress" jdbcType="INTEGER" /> + <result column="expert" property="expert" jdbcType="VARCHAR" /> + <result column="contact" property="contact" jdbcType="VARCHAR" /> + <result column="telephone" property="telephone" jdbcType="VARCHAR" /> + <result column="company" property="company" jdbcType="VARCHAR" /> + <result column="accept_time" property="acceptTime" jdbcType="TIMESTAMP" /> + <result column="review_time" property="reviewTime" jdbcType="TIMESTAMP" /> + <result column="examine_time" property="examineTime" jdbcType="TIMESTAMP" /> + <result column="correctpdf" property="correctpdf" jdbcType="VARCHAR" /> + <result column="examine_pageno" property="examinePageno" jdbcType="VARCHAR" /> + <result column="examine_taketime" property="examineTaketime" jdbcType="VARCHAR" /> + </resultMap> + <sql id="Base_Column_List" > + <!-- --> + id, valid_flag, create_time, create_by, update_time, submit_date, type, project_name, + progress, expert, contact, telephone, company, accept_time, review_time, examine_time, + correctpdf, examine_pageno, examine_taketime + </sql> + <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > + <!-- --> + select + <include refid="Base_Column_List" /> + from safety_facility_inspection + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" > + <!-- --> + delete from safety_facility_inspection + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.gk.hotwork.Domain.SafetyFacilityInspection" > + <!-- --> + insert into safety_facility_inspection (id, valid_flag, create_time, + create_by, update_time, submit_date, + type, project_name, progress, + expert, contact, telephone, + company, accept_time, review_time, + examine_time, correctpdf, examine_pageno, + examine_taketime) + values (#{id,jdbcType=BIGINT}, #{validFlag,jdbcType=TINYINT}, #{createTime,jdbcType=TIMESTAMP}, + #{createBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{submitDate,jdbcType=DATE}, + #{type,jdbcType=INTEGER}, #{projectName,jdbcType=VARCHAR}, #{progress,jdbcType=INTEGER}, + #{expert,jdbcType=VARCHAR}, #{contact,jdbcType=VARCHAR}, #{telephone,jdbcType=VARCHAR}, + #{company,jdbcType=VARCHAR}, #{acceptTime,jdbcType=TIMESTAMP}, #{reviewTime,jdbcType=TIMESTAMP}, + #{examineTime,jdbcType=TIMESTAMP}, #{correctpdf,jdbcType=VARCHAR}, #{examinePageno,jdbcType=VARCHAR}, + #{examineTaketime,jdbcType=VARCHAR}) + </insert> + <insert id="insertSelective" parameterType="com.gk.hotwork.Domain.SafetyFacilityInspection" > + <!-- --> + insert into safety_facility_inspection + <trim prefix="(" suffix=")" suffixOverrides="," > + <if test="id != null" > + id, + </if> + <if test="validFlag != null" > + valid_flag, + </if> + <if test="createTime != null" > + create_time, + </if> + <if test="createBy != null" > + create_by, + </if> + <if test="updateTime != null" > + update_time, + </if> + <if test="submitDate != null" > + submit_date, + </if> + <if test="type != null" > + type, + </if> + <if test="projectName != null" > + project_name, + </if> + <if test="progress != null" > + progress, + </if> + <if test="expert != null" > + expert, + </if> + <if test="contact != null" > + contact, + </if> + <if test="telephone != null" > + telephone, + </if> + <if test="company != null" > + company, + </if> + <if test="acceptTime != null" > + accept_time, + </if> + <if test="reviewTime != null" > + review_time, + </if> + <if test="examineTime != null" > + examine_time, + </if> + <if test="correctpdf != null" > + correctpdf, + </if> + <if test="examinePageno != null" > + examine_pageno, + </if> + <if test="examineTaketime != null" > + examine_taketime, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides="," > + <if test="id != null" > + #{id,jdbcType=BIGINT}, + </if> + <if test="validFlag != null" > + #{validFlag,jdbcType=TINYINT}, + </if> + <if test="createTime != null" > + #{createTime,jdbcType=TIMESTAMP}, + </if> + <if test="createBy != null" > + #{createBy,jdbcType=VARCHAR}, + </if> + <if test="updateTime != null" > + #{updateTime,jdbcType=TIMESTAMP}, + </if> + <if test="submitDate != null" > + #{submitDate,jdbcType=DATE}, + </if> + <if test="type != null" > + #{type,jdbcType=INTEGER}, + </if> + <if test="projectName != null" > + #{projectName,jdbcType=VARCHAR}, + </if> + <if test="progress != null" > + #{progress,jdbcType=INTEGER}, + </if> + <if test="expert != null" > + #{expert,jdbcType=VARCHAR}, + </if> + <if test="contact != null" > + #{contact,jdbcType=VARCHAR}, + </if> + <if test="telephone != null" > + #{telephone,jdbcType=VARCHAR}, + </if> + <if test="company != null" > + #{company,jdbcType=VARCHAR}, + </if> + <if test="acceptTime != null" > + #{acceptTime,jdbcType=TIMESTAMP}, + </if> + <if test="reviewTime != null" > + #{reviewTime,jdbcType=TIMESTAMP}, + </if> + <if test="examineTime != null" > + #{examineTime,jdbcType=TIMESTAMP}, + </if> + <if test="correctpdf != null" > + #{correctpdf,jdbcType=VARCHAR}, + </if> + <if test="examinePageno != null" > + #{examinePageno,jdbcType=VARCHAR}, + </if> + <if test="examineTaketime != null" > + #{examineTaketime,jdbcType=VARCHAR}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.gk.hotwork.Domain.SafetyFacilityInspection" > + <!-- --> + update safety_facility_inspection + <set > + <if test="validFlag != null" > + valid_flag = #{validFlag,jdbcType=TINYINT}, + </if> + <if test="createTime != null" > + create_time = #{createTime,jdbcType=TIMESTAMP}, + </if> + <if test="createBy != null" > + create_by = #{createBy,jdbcType=VARCHAR}, + </if> + <if test="updateTime != null" > + update_time = #{updateTime,jdbcType=TIMESTAMP}, + </if> + <if test="submitDate != null" > + submit_date = #{submitDate,jdbcType=DATE}, + </if> + <if test="type != null" > + type = #{type,jdbcType=INTEGER}, + </if> + <if test="projectName != null" > + project_name = #{projectName,jdbcType=VARCHAR}, + </if> + <if test="progress != null" > + progress = #{progress,jdbcType=INTEGER}, + </if> + <if test="expert != null" > + expert = #{expert,jdbcType=VARCHAR}, + </if> + <if test="contact != null" > + contact = #{contact,jdbcType=VARCHAR}, + </if> + <if test="telephone != null" > + telephone = #{telephone,jdbcType=VARCHAR}, + </if> + <if test="company != null" > + company = #{company,jdbcType=VARCHAR}, + </if> + <if test="acceptTime != null" > + accept_time = #{acceptTime,jdbcType=TIMESTAMP}, + </if> + <if test="reviewTime != null" > + review_time = #{reviewTime,jdbcType=TIMESTAMP}, + </if> + <if test="examineTime != null" > + examine_time = #{examineTime,jdbcType=TIMESTAMP}, + </if> + <if test="correctpdf != null" > + correctpdf = #{correctpdf,jdbcType=VARCHAR}, + </if> + <if test="examinePageno != null" > + examine_pageno = #{examinePageno,jdbcType=VARCHAR}, + </if> + <if test="examineTaketime != null" > + examine_taketime = #{examineTaketime,jdbcType=VARCHAR}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.gk.hotwork.Domain.SafetyFacilityInspection" > + <!-- --> + update safety_facility_inspection + set valid_flag = #{validFlag,jdbcType=TINYINT}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + create_by = #{createBy,jdbcType=VARCHAR}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + submit_date = #{submitDate,jdbcType=DATE}, + type = #{type,jdbcType=INTEGER}, + project_name = #{projectName,jdbcType=VARCHAR}, + progress = #{progress,jdbcType=INTEGER}, + expert = #{expert,jdbcType=VARCHAR}, + contact = #{contact,jdbcType=VARCHAR}, + telephone = #{telephone,jdbcType=VARCHAR}, + company = #{company,jdbcType=VARCHAR}, + accept_time = #{acceptTime,jdbcType=TIMESTAMP}, + review_time = #{reviewTime,jdbcType=TIMESTAMP}, + examine_time = #{examineTime,jdbcType=TIMESTAMP}, + correctpdf = #{correctpdf,jdbcType=VARCHAR}, + examine_pageno = #{examinePageno,jdbcType=VARCHAR}, + examine_taketime = #{examineTaketime,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + </update> + + <select id="selectPages" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List" /> + from safety_facility_inspection + where valid_flag = 1 + <if test="params.submitDateStartTime != null and params.submitDateStartTime != ''"> + and submit_date >=#{params.submitDateStartTime,jdbcType=VARCHAR} + </if> + <if test="params.submitDateEndTime != null and params.submitDateEndTime != ''"> + and submit_date <=#{params.submitDateEndTime,jdbcType=VARCHAR} + </if> + <if test="params.expert != null and params.expert != ''"> + and expert like concat("%",#{params.expert,jdbcType=VARCHAR},"%") + </if> + <if test="params.progress != null "> + and progress = #{params.progress,jdbcType=INTEGER} + </if> + <if test="params.type != null and params.type != ''"> + and type = #{params.type,jdbcType=INTEGER} + </if> + <if test="params.createBy != null and params.createBy != ''"> + and create_by = #{params.createBy,jdbcType=VARCHAR} + </if> + <if test="params.company != null and params.company.size > 0"> + and company in + <foreach collection="params.company" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + ORDER BY + type, + create_time DESC + </select> + +</mapper> \ No newline at end of file diff --git a/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetyFacilityProcessflowMapper.xml b/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetyFacilityProcessflowMapper.xml new file mode 100644 index 0000000..90571d5 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Mapper/mybatis/SafetyFacilityProcessflowMapper.xml @@ -0,0 +1,215 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.gk.hotwork.Mapper.SafetyFacilityProcessflowMapper" > + <resultMap id="BaseResultMap" type="com.gk.hotwork.Domain.SafetyFacilityProcessflow" > + <!-- --> + <id column="id" property="id" jdbcType="BIGINT" /> + <result column="valid_flag" property="validFlag" jdbcType="TINYINT" /> + <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> + <result column="create_by" property="createBy" jdbcType="VARCHAR" /> + <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> + <result column="check_time" property="checkTime" jdbcType="TIMESTAMP" /> + <result column="progress_name" property="progressName" jdbcType="VARCHAR" /> + <result column="result" property="result" jdbcType="VARCHAR" /> + <result column="resolution" property="resolution" jdbcType="VARCHAR" /> + <result column="process_by" property="processBy" jdbcType="VARCHAR" /> + <result column="take_time" property="takeTime" jdbcType="INTEGER" /> + <result column="link_inspection_id" property="linkInspectionId" jdbcType="BIGINT" /> + </resultMap> + <sql id="Base_Column_List" > + <!-- --> + id, valid_flag, create_time, create_by, update_time, check_time, progress_name, result, + resolution, process_by, take_time, link_inspection_id + </sql> + <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > + <!-- --> + select + <include refid="Base_Column_List" /> + from safety_facility_processflow + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" > + <!-- --> + delete from safety_facility_processflow + where id = #{id,jdbcType=BIGINT} + </delete> + + <delete id="modPending" parameterType="java.lang.Long" > + <!-- --> + delete from safety_facility_processflow + where link_inspection_id = #{linkInspectionId,jdbcType=BIGINT} + and progress_name like '待%' + </delete> + + + <delete id="deleteBylinkInspectionId" parameterType="java.lang.Long" > + <!-- --> + update safety_facility_processflow set valid_flag = 0 + where link_inspection_id = #{linkInspectionId,jdbcType=BIGINT} + </delete> + + + + <insert id="insert" parameterType="com.gk.hotwork.Domain.SafetyFacilityProcessflow" > + <!-- --> + insert into safety_facility_processflow (id, valid_flag, create_time, + create_by, update_time, check_time, + progress_name, result, resolution, + process_by, take_time, link_inspection_id + ) + values (#{id,jdbcType=BIGINT}, #{validFlag,jdbcType=TINYINT}, #{createTime,jdbcType=TIMESTAMP}, + #{createBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{checkTime,jdbcType=TIMESTAMP}, + #{progressName,jdbcType=VARCHAR}, #{result,jdbcType=VARCHAR}, #{resolution,jdbcType=VARCHAR}, + #{processBy,jdbcType=VARCHAR}, #{takeTime,jdbcType=INTEGER}, #{linkInspectionId,jdbcType=BIGINT} + ) + </insert> + <insert id="insertSelective" parameterType="com.gk.hotwork.Domain.SafetyFacilityProcessflow" > + <!-- --> + insert into safety_facility_processflow + <trim prefix="(" suffix=")" suffixOverrides="," > + <if test="id != null" > + id, + </if> + <if test="validFlag != null" > + valid_flag, + </if> + <if test="createTime != null" > + create_time, + </if> + <if test="createBy != null" > + create_by, + </if> + <if test="updateTime != null" > + update_time, + </if> + <if test="checkTime != null" > + check_time, + </if> + <if test="progressName != null" > + progress_name, + </if> + <if test="result != null" > + result, + </if> + <if test="resolution != null" > + resolution, + </if> + <if test="processBy != null" > + process_by, + </if> + <if test="takeTime != null" > + take_time, + </if> + <if test="linkInspectionId != null" > + link_inspection_id, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides="," > + <if test="id != null" > + #{id,jdbcType=BIGINT}, + </if> + <if test="validFlag != null" > + #{validFlag,jdbcType=TINYINT}, + </if> + <if test="createTime != null" > + #{createTime,jdbcType=TIMESTAMP}, + </if> + <if test="createBy != null" > + #{createBy,jdbcType=VARCHAR}, + </if> + <if test="updateTime != null" > + #{updateTime,jdbcType=TIMESTAMP}, + </if> + <if test="checkTime != null" > + #{checkTime,jdbcType=TIMESTAMP}, + </if> + <if test="progressName != null" > + #{progressName,jdbcType=VARCHAR}, + </if> + <if test="result != null" > + #{result,jdbcType=VARCHAR}, + </if> + <if test="resolution != null" > + #{resolution,jdbcType=VARCHAR}, + </if> + <if test="processBy != null" > + #{processBy,jdbcType=VARCHAR}, + </if> + <if test="takeTime != null" > + #{takeTime,jdbcType=INTEGER}, + </if> + <if test="linkInspectionId != null" > + #{linkInspectionId,jdbcType=BIGINT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.gk.hotwork.Domain.SafetyFacilityProcessflow" > + <!-- --> + update safety_facility_processflow + <set > + <if test="validFlag != null" > + valid_flag = #{validFlag,jdbcType=TINYINT}, + </if> + <if test="createTime != null" > + create_time = #{createTime,jdbcType=TIMESTAMP}, + </if> + <if test="createBy != null" > + create_by = #{createBy,jdbcType=VARCHAR}, + </if> + <if test="updateTime != null" > + update_time = #{updateTime,jdbcType=TIMESTAMP}, + </if> + <if test="checkTime != null" > + check_time = #{checkTime,jdbcType=TIMESTAMP}, + </if> + <if test="progressName != null" > + progress_name = #{progressName,jdbcType=VARCHAR}, + </if> + <if test="result != null" > + result = #{result,jdbcType=VARCHAR}, + </if> + <if test="resolution != null" > + resolution = #{resolution,jdbcType=VARCHAR}, + </if> + <if test="processBy != null" > + process_by = #{processBy,jdbcType=VARCHAR}, + </if> + <if test="takeTime != null" > + take_time = #{takeTime,jdbcType=INTEGER}, + </if> + <if test="linkInspectionId != null" > + link_inspection_id = #{linkInspectionId,jdbcType=BIGINT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.gk.hotwork.Domain.SafetyFacilityProcessflow" > + <!-- --> + update safety_facility_processflow + set valid_flag = #{validFlag,jdbcType=TINYINT}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + create_by = #{createBy,jdbcType=VARCHAR}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + check_time = #{checkTime,jdbcType=TIMESTAMP}, + progress_name = #{progressName,jdbcType=VARCHAR}, + result = #{result,jdbcType=VARCHAR}, + resolution = #{resolution,jdbcType=VARCHAR}, + process_by = #{processBy,jdbcType=VARCHAR}, + take_time = #{takeTime,jdbcType=INTEGER}, + link_inspection_id = #{linkInspectionId,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + </update> + + + <select id="processflowPages" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List" /> + from safety_facility_processflow + where valid_flag = 1 + <if test="params.linkInspectionId != null"> + and link_inspection_id = #{params.linkInspectionId,jdbcType=BIGINT} + </if> + ORDER BY + create_time ASC + </select> +</mapper> \ No newline at end of file diff --git a/src/main/java/com/gk/hotwork/Service/SafetyFacilityInspectionService.java b/src/main/java/com/gk/hotwork/Service/SafetyFacilityInspectionService.java new file mode 100644 index 0000000..daa5d04 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Service/SafetyFacilityInspectionService.java @@ -0,0 +1,39 @@ +package com.gk.hotwork.Service; + +import java.util.Map; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.gk.hotwork.Domain.SafetyFacilityInspection; +import com.gk.hotwork.Domain.UserInfo; + +public interface SafetyFacilityInspectionService extends IService<SafetyFacilityInspection> { + + /** + * @Description: 分页 + */ + IPage<SafetyFacilityInspection> selectPage(Page<SafetyFacilityInspection> page, Map<String, Object> filter, UserInfo user); + + /** + * @Description: 新增 + */ + void addOne(SafetyFacilityInspection param, UserInfo user); + + /** + * @Description: 修改 + */ + void modOne(SafetyFacilityInspection param, UserInfo user); + + /** + * @Description: 删除 + */ + void delOne(Long id, UserInfo user); + + /** + * @Description: 根据ID查询 + */ + SafetyFacilityInspection selectByPrimaryKey(Long id, UserInfo user); + + +} \ No newline at end of file diff --git a/src/main/java/com/gk/hotwork/Service/SafetyFacilityProcessflowService.java b/src/main/java/com/gk/hotwork/Service/SafetyFacilityProcessflowService.java new file mode 100644 index 0000000..3ef814d --- /dev/null +++ b/src/main/java/com/gk/hotwork/Service/SafetyFacilityProcessflowService.java @@ -0,0 +1,48 @@ +package com.gk.hotwork.Service; + +import java.util.Map; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.gk.hotwork.Domain.SafetyFacilityProcessflow; +import com.gk.hotwork.Domain.UserInfo; + +public interface SafetyFacilityProcessflowService extends IService<SafetyFacilityProcessflow> { + + /** + * @Description: 分页 + */ + IPage<SafetyFacilityProcessflow> processflowPages(Page<SafetyFacilityProcessflow> page, Map<String, Object> filter, UserInfo user); + + /** + * @Description: 新增 + */ + void addOne(SafetyFacilityProcessflow param, UserInfo user); + + /** + * @Description: 修改 + */ + void modOne(SafetyFacilityProcessflow param, UserInfo user); + + /** + * @Description: 删除 + */ + void delOne(Long id, UserInfo user); + + /** + * @Description: 根据ID查询 + */ + SafetyFacilityProcessflow info(Long id, UserInfo user); + + /** + * @Description: 更改待处理流程 + */ + void modPending(Long linkInspectionId, UserInfo user); + + /** + * @Description: 删除安全项目对应处理流程 + */ + void deleteBylinkInspectionId(Long linkInspectionId, UserInfo user); + +} diff --git a/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityInspectionImpl.java b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityInspectionImpl.java new file mode 100644 index 0000000..0887581 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityInspectionImpl.java @@ -0,0 +1,159 @@ +package com.gk.hotwork.Service.ServiceImpl; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gk.hotwork.Domain.CompanyInfo; +import com.gk.hotwork.Domain.SafetyFacilityInspection; +import com.gk.hotwork.Domain.SafetyFacilityProcessflow; +import com.gk.hotwork.Domain.SafetyInspectionItemDeduction; +import com.gk.hotwork.Domain.UserInfo; +import com.gk.hotwork.Mapper.CompanyInfoMapper; +import com.gk.hotwork.Mapper.SafetyFacilityInspectionMapper; +import com.gk.hotwork.Mapper.SafetyFacilityProcessflowMapper; +import com.gk.hotwork.Mapper.UserInfoMapper; +import com.gk.hotwork.Service.SafetyFacilityInspectionService; + +@Service("SafetyFacilityInspectionService") +@Transactional +public class SafetyFacilityInspectionImpl extends ServiceImpl<SafetyFacilityInspectionMapper, SafetyFacilityInspection> + implements SafetyFacilityInspectionService { + + @Autowired + private SafetyFacilityInspectionMapper safetyFacilityInspectionMapper; + + @Autowired + private SafetyFacilityProcessflowMapper safetyFacilityProcessflowMapper; + + @Autowired + private UserInfoMapper userInfoMapper; + + @Autowired + private CompanyInfoMapper companyInfoMapper; + + @Override + public IPage<SafetyFacilityInspection> selectPage(Page<SafetyFacilityInspection> page, Map<String, Object> filter, + UserInfo user) { + Date date = new Date(); + + if (user.getType() == 3 ) { + filter.put("createBy", user.getUsername()); + } + if (user.getType() == 4) { + filter.put("expert", user.getId()); + } + if (user.getType() == 2) { + QueryWrapper<CompanyInfo> queryWrapper = new QueryWrapper<CompanyInfo>(); + queryWrapper.eq("city", user.getCity()); + queryWrapper.eq("province", user.getProvince()); + List<CompanyInfo> list = companyInfoMapper.selectList(queryWrapper); + List<String> companyList = new ArrayList<String>(); + for (CompanyInfo companyInfo : list) { + companyList.add(companyInfo.getCompany()); + } + filter.put("company", companyList); + } + if("安科院".equals(user.getCompany())){ + filter.remove("createBy"); + filter.remove("company"); + } + + IPage<SafetyFacilityInspection> res = safetyFacilityInspectionMapper.selectPages(page, filter); + List<SafetyFacilityInspection> list = new ArrayList<SafetyFacilityInspection>(); + for (SafetyFacilityInspection safetyFacilityInspection : res.getRecords()) { + if (safetyFacilityInspection.getProgress() == 10 && safetyFacilityInspection.getReviewTime() != null && safetyFacilityInspection.getReviewTime().before(date)) { + safetyFacilityInspection.setProgress(11); + this.updateById(safetyFacilityInspection); + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(new Date()); + flow.setValidFlag(Byte.valueOf("1")); + flow.setCreateBy("SYSTEM"); + flow.setUpdateTime(date); + flow.setCreateTime(date); + flow.setProgressName("评审中"); + flow.setResult("预置时间到"); + flow.setLinkInspectionId(safetyFacilityInspection.getId()); + flow.setProcessBy(user.getRealname()); + safetyFacilityProcessflowMapper.insert(flow); + safetyFacilityProcessflowMapper.modPending(safetyFacilityInspection.getId()); + } + + if (safetyFacilityInspection.getProgress() == 20 && safetyFacilityInspection.getExamineTime() != null && safetyFacilityInspection.getExamineTime().before(date)) { + safetyFacilityInspection.setProgress(21); + this.updateById(safetyFacilityInspection); + SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow(); + flow.setCheckTime(new Date()); + flow.setValidFlag(Byte.valueOf("1")); + flow.setCreateBy("SYSTEM"); + flow.setUpdateTime(date); + flow.setCreateTime(date); + flow.setProgressName("审查中"); + flow.setResult("预置时间到"); + flow.setLinkInspectionId(safetyFacilityInspection.getId()); + flow.setProcessBy(user.getRealname()); + safetyFacilityProcessflowMapper.insert(flow); + safetyFacilityProcessflowMapper.modPending(safetyFacilityInspection.getId()); + } + + if (safetyFacilityInspection.getExpert() != null) { + String[] expertIds = safetyFacilityInspection.getExpert().split(","); + String expertName = ""; + List<UserInfo> temp = userInfoMapper.selectBatchIds(Arrays.asList(expertIds)); + for (UserInfo userInfo : temp) { + expertName += "," + userInfo.getRealname(); + } + safetyFacilityInspection.setExpertName(expertName.substring(1)); + } + list.add(safetyFacilityInspection); + } + res.setRecords(list); + return res; + + } + + @Override + public void addOne(SafetyFacilityInspection param, UserInfo user) { + Date date = new Date(); + String username = user.getUsername(); + param.setValidFlag(Byte.valueOf("1")); + param.setCreateBy(username); + param.setUpdateTime(date); + param.setCreateTime(date); + param.setSubmitDate(param.getSubmitDate() == null ? date : param.getSubmitDate()); + param.setProgress(Integer.valueOf(0)); + param.setCompany(param.getCompany() == null ? user.getCompany() : param.getCompany()); + this.save(param); + } + + @Override + public void modOne(SafetyFacilityInspection param, UserInfo user) { + param.setUpdateTime(new Date()); + this.updateById(param); + } + + @Override + public void delOne(Long id, UserInfo user) { + SafetyFacilityInspection object = safetyFacilityInspectionMapper.selectByPrimaryKey(id); + object.setValidFlag(Byte.valueOf("0")); + object.setUpdateTime(new Date()); + this.updateById(object); + + } + + @Override + public SafetyFacilityInspection selectByPrimaryKey(Long id, UserInfo user) { + return safetyFacilityInspectionMapper.selectByPrimaryKey(id); + } +} diff --git a/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityProcessflowImpl.java b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityProcessflowImpl.java new file mode 100644 index 0000000..62a49f5 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityProcessflowImpl.java @@ -0,0 +1,71 @@ +package com.gk.hotwork.Service.ServiceImpl; + +import java.util.Date; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gk.hotwork.Domain.SafetyFacilityProcessflow; +import com.gk.hotwork.Domain.UserInfo; +import com.gk.hotwork.Mapper.SafetyFacilityProcessflowMapper; +import com.gk.hotwork.Service.SafetyFacilityProcessflowService; + +@Service("SafetyFacilityProcessflowService") +@Transactional +public class SafetyFacilityProcessflowImpl extends ServiceImpl<SafetyFacilityProcessflowMapper,SafetyFacilityProcessflow> implements SafetyFacilityProcessflowService { + + + @Autowired + private SafetyFacilityProcessflowMapper safetyFacilityProcessflowMapper; + + @Override + public IPage<SafetyFacilityProcessflow> processflowPages(Page<SafetyFacilityProcessflow> page, Map<String, Object> filter, UserInfo user) { + IPage<SafetyFacilityProcessflow> res = safetyFacilityProcessflowMapper.processflowPages(page,filter); + return res; + } + + @Override + public void addOne(SafetyFacilityProcessflow param, UserInfo user) { + Date date = new Date(); + String username = user.getRealname(); + param.setValidFlag(Byte.valueOf("1")); + param.setCreateBy(username); + param.setUpdateTime(date); + param.setCreateTime(date); + param.setCheckTime(param.getCheckTime()==null?date:param.getCheckTime()); + this.save(param); + } + + @Override + public void modOne(SafetyFacilityProcessflow param, UserInfo user) { + // TODO Auto-generated method stub + + } + + @Override + public void delOne(Long id, UserInfo user) { + safetyFacilityProcessflowMapper.deleteByPrimaryKey(id); + } + + @Override + public SafetyFacilityProcessflow info(Long id, UserInfo user) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void modPending(Long linkInspectionId, UserInfo user) { + safetyFacilityProcessflowMapper.modPending(linkInspectionId); + } + + @Override + public void deleteBylinkInspectionId(Long linkInspectionId, UserInfo user) { + safetyFacilityProcessflowMapper.deleteBylinkInspectionId(linkInspectionId); + } + +} \ No newline at end of file diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 1a63ccd..51c888d 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -20,7 +20,7 @@ database: 14 host: 127.0.0.1 port: 6379 - password: root + password: akj78avauba789a jedis: pool: max-idle: 8 @@ -126,6 +126,8 @@ accountPath: /account/user/ #排查模块 checkPath: /check/ + #补正告知书 + correctPDF: /correctPDF/ # swagger生产环境中禁止显示 swagger: diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 7848908..0f7e506 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -129,6 +129,8 @@ accountPath: /account/user/ #排查模块 checkPath: /check/ + #补正告知书 + correctPDF: /correctPDF/ # swagger生产环境中禁止显示 swagger: show: false diff --git a/src/main/resources/docxTemplate/ReviewHtml.ftl b/src/main/resources/docxTemplate/ReviewHtml.ftl new file mode 100644 index 0000000..62dc055 --- /dev/null +++ b/src/main/resources/docxTemplate/ReviewHtml.ftl @@ -0,0 +1,276 @@ +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=utf-8"> +<meta name=Generator content="Microsoft Word 15 (filtered)"> +<style> + /* Font Definitions */ + @font-face + {font-family:宋体; + panose-1:2 1 6 0 3 1 1 1 1 1;} +@font-face + {font-family:"Cambria Math"; + panose-1:2 4 5 3 5 4 6 3 2 4;} +@font-face + {font-family:仿宋_GB2312;} +@font-face + {font-family:Cambria; + panose-1:2 4 5 3 5 4 6 3 2 4;} +@font-face + {font-family:"\@宋体"; + panose-1:2 1 6 0 3 1 1 1 1 1;} +@font-face + {font-family:华文中宋; + panose-1:2 1 6 0 4 1 1 1 1 1;} +@font-face + {font-family:"\@华文中宋";} +@font-face + {font-family:"\@仿宋_GB2312";} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin:0cm; + text-align:justify; + text-justify:inter-ideograph; + font-size:10.5pt; + font-family:"Times New Roman",serif;} +p.MsoFooter, li.MsoFooter, div.MsoFooter + {mso-style-link:"页脚 字符"; + margin:0cm; + layout-grid-mode:char; + font-size:9.0pt; + font-family:"Times New Roman",serif;} +p.MsoTitle, li.MsoTitle, div.MsoTitle + {mso-style-link:"标题 字符"; + margin:0cm; + text-align:center; + font-size:26.0pt; + font-family:"Times New Roman",serif; + color:red; + font-weight:bold;} +span.a + {mso-style-name:"页脚 字符"; + mso-style-link:页脚; + font-family:"Times New Roman",serif;} +span.a0 + {mso-style-name:"标题 字符"; + mso-style-link:标题; + font-family:"Times New Roman",serif; + color:red; + font-weight:bold;} +p.CharCharCharCharCharCharCharCharChar, li.CharCharCharCharCharCharCharCharChar, div.CharCharCharCharCharCharCharCharChar + {mso-style-name:" Char Char Char Char Char Char Char Char Char"; + mso-style-link:默认段落字体; + margin:0cm; + text-align:justify; + text-justify:inter-ideograph; + font-size:10.5pt; + font-family:"Times New Roman",serif;} + /* Page Definitions */ + @page WordSection1 + {size:595.3pt 841.9pt; + margin:70.9pt 3.0cm 70.9pt 3.0cm; + layout-grid:15.6pt;} +div.WordSection1 + {page:WordSection1;} +</style> + + </head> + + <body lang=ZH-CN style='tab-interval:21.0pt;word-wrap:break-word;text-justify-trim: +punctuation'> + + <div class=WordSection1 style='layout-grid:15.6pt'> + + <p class=MsoTitle> + <a name="_Toc317192128"> + <span style='text-fit:388.45pt; +mso-text-fit-id:-1582389'> + <span style='font-family:华文中宋;mso-ascii-font-family: +"Times New Roman";mso-hansi-font-family:"Times New Roman";mso-font-width:100%'>危险化学品建设项目安全条件审查意见书</span> + </span> + </a> + <span + style='mso-bookmark:_Toc317192128'> + <span lang=EN-US style='mso-font-width:100%'> + <o:p></o:p> + </span> + </span> + </p> + + <span style='mso-bookmark:_Toc317192128'></span> + + <p class=MsoNormal align=center style='text-align:center'> + <span + style='font-size:16.0pt;mso-bidi-font-size:12.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312;letter-spacing: +-1.0pt'>新应急危化项目安条审字〔<span lang=EN-US>${year}</span>〕<span lang=EN-US>${pageno}</span>号<span + lang=EN-US> + <o:p></o:p> + </span> + </span> + </p> + + <table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 width=575 + style='width:451.6pt;margin-left:5.4pt;border-collapse:collapse;border:none; + mso-border-top-alt:solid windowtext 1.5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'> + <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes; + height:7.5pt'> + <td width=575 valign=top style='width:431.0pt;border:none;border-top:solid red 2.25pt; + padding:0cm 5.4pt 0cm 5.4pt;height:7.5pt'> + <p class=MsoNormal align=center style='margin-left:-9.95pt;mso-para-margin-left: + -.95gd;text-align:center;text-indent:14.0pt;mso-char-indent-count:1.0'> + <span + lang=EN-US style='font-size:16.0pt;mso-bidi-font-size:12.0pt;font-family: + 仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312; + color:red;letter-spacing:-1.0pt'> + <o:p> </o:p> + </span> + </p> + </td> + </tr> + </table> + + <p class=MsoNormal style='line-height:28.0pt;mso-line-height-rule:exactly'> + <span + lang=EN-US style='font-size:16.0pt;font-family:仿宋_GB2312;mso-hansi-font-family: +仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'>${company}</span> + <span + style='font-size:16.0pt;font-family:仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312; +mso-bidi-font-family:仿宋_GB2312'>:<span lang=EN-US> + <o:p></o:p> + </span> + </span> + </p> + + <p class=MsoNormal style='text-indent:32.0pt;mso-char-indent-count:2.0; +line-height:28.0pt;mso-line-height-rule:exactly'> + <span style='font-size:16.0pt; +mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312; +mso-bidi-font-family:仿宋_GB2312'>根据《危险化学品建设项目安全监督管理办法》(原国家安全监管总局令第<span + lang=EN-US>45</span>号)的规定</span> + <span style='font-size:16.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'>,你单位提出的<span + lang=EN-US>${projectName}</span>安全条件审查申请受理后,经对你单位提交的该建设项目</span> + <span + style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'>安全条件审查申请文件、资料的审查,同意该建设项目通过安全条件审查。请将《</span> + <span + lang=EN-US style='font-size:16.0pt;font-family:仿宋_GB2312;mso-hansi-font-family: +仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'>${projectName}</span> + <span + style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'>安全预评价报告》作为该建设项目安全设施的设计依据之一。该建设项目安全设施设计专篇经审查通过后,方可开工建设。此外,如果该建设项目周边条件、主要技术、工艺路线、产品方案、装置规模发生重大变化,或者变更了建设地址,应当重新进行安全评价,并及时向我厅重新申请该建设项目安全条件审查。<span + lang=EN-US> + <o:p></o:p> + </span> + </span> + </p> + + <p class=MsoNormal style='text-indent:32.0pt;mso-char-indent-count:2.0; +line-height:28.0pt;mso-line-height-rule:exactly'> + <span style='font-size:16.0pt; +mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312; +mso-bidi-font-family:仿宋_GB2312'>本意见书自颁发之日起有效期为两年,有效期满未开工建设的,本意见书自动失效。<span + lang=EN-US> + <o:p></o:p> + </span> + </span> + </p> + + <p class=MsoNormal style='text-indent:32.0pt;mso-char-indent-count:2.0; +line-height:28.0pt;mso-line-height-rule:exactly'> + <span style='font-size:16.0pt; +mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312; +mso-bidi-font-family:仿宋_GB2312'>联系人:</span> + <span lang=EN-US style='font-size: +16.0pt;font-family:仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family: +仿宋_GB2312'>${contact}</span> + <span lang=EN-US style='font-size:16.0pt; +mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312; +mso-bidi-font-family:仿宋_GB2312;letter-spacing:-.25pt'> + <span + style='mso-spacerun:yes'> </span> + </span> + <span style='font-size:16.0pt; +mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312; +mso-bidi-font-family:仿宋_GB2312;letter-spacing:-.25pt'>联系电话:</span> + <span + lang=EN-US style='font-size:16.0pt;font-family:仿宋_GB2312;mso-hansi-font-family: +仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'>${telephone}</span> + <span lang=EN-US + style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'> + <o:p></o:p> + </span> + </p> + + <p class=MsoNormal style='text-indent:32.0pt;mso-char-indent-count:2.0; +line-height:26.5pt;mso-line-height-rule:exactly'> + <span lang=EN-US + style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'> + <o:p> </o:p> + </span> + </p> + + <p class=MsoNormal style='text-indent:32.0pt;mso-char-indent-count:2.0; +line-height:26.5pt;mso-line-height-rule:exactly'> + <span lang=EN-US + style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'> + <o:p> </o:p> + </span> + </p> + + <p class=MsoNormal style='text-indent:32.0pt;mso-char-indent-count:2.0; +line-height:26.5pt;mso-line-height-rule:exactly'> + <span lang=EN-US + style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'> + <span + style='mso-spacerun:yes'> </span> + </span> + <span style='font-size:16.0pt; +mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312;mso-hansi-font-family:仿宋_GB2312; +mso-bidi-font-family:仿宋_GB2312'> <span lang=EN-US> + <span + style='mso-spacerun:yes'> </span> + </span>新疆维吾尔自治区应急管理厅<span lang=EN-US> + <o:p></o:p> + </span> + </span> + </p> + + <p class=MsoNormal style='line-height:26.5pt;mso-line-height-rule:exactly'> + <span + lang=EN-US style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'> + <span + style='mso-spacerun:yes'> </span> + <span + style='mso-spacerun:yes'> </span>${submitDate}<o:p></o:p> + </span> + </p> + + <p class=MsoNormal style='line-height:26.5pt;mso-line-height-rule:exactly'> + <span + lang=EN-US style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'> + <o:p> </o:p> + </span> + </p> + + <p class=MsoNormal style='line-height:26.5pt;mso-line-height-rule:exactly'> + <span + style='font-size:16.0pt;mso-bidi-font-size:15.0pt;font-family:仿宋_GB2312; +mso-hansi-font-family:仿宋_GB2312;mso-bidi-font-family:仿宋_GB2312'>抄送:<span + lang=EN-US>${duplicate}<o:p></o:p> + </span> + </span> + </p> + + </div> + + </body> + +</html> \ No newline at end of file diff --git a/src/main/resources/docxTemplate/ReviewOpinion.ftl b/src/main/resources/docxTemplate/ReviewOpinion.ftl new file mode 100644 index 0000000..128cc8c --- /dev/null +++ b/src/main/resources/docxTemplate/ReviewOpinion.ftl @@ -0,0 +1,1880 @@ +<?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:padding="512"> + <pkg:xmlData> + <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> + <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.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/officeDocument" Target="word/document.xml" /> + <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties" Target="docProps/custom.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:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" 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: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:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" 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" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh wp14"> + <w:body> + <w:p w14:paraId="32D909D8" w14:textId="77777777" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:pStyle w:val="a9" /> + <w:rPr> + <w:w w:val="90" /> + </w:rPr> + </w:pPr> + <w:bookmarkStart w:id="0" w:name="_Toc317192128" /> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:hint="eastAsia" /> + <w:w w:val="83" /> + </w:rPr> + <w:t>危险化学品建设项目安全条件审查意见</w:t> + </w:r> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:hint="eastAsia" /> + <w:spacing w:val="-4" /> + <w:w w:val="83" /> + </w:rPr> + <w:t>书</w:t> + </w:r> + </w:p> + <w:bookmarkEnd w:id="0" /> + <w:p w14:paraId="4B5B7524" w14:textId="1EA55E14" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:jc w:val="center" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + </w:pPr> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + <w:t>新应急</w:t> + </w:r> + <w:proofErr w:type="gramStart" /> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + <w:t>危化项目安条审</w:t> + </w:r> + <w:proofErr w:type="gramEnd" /> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + <w:t>字〔</w:t> + </w:r> + <w:r w:rsidR="001B1D4B" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + <w:t>${year}</w:t> + </w:r> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + <w:t>〕</w:t> + </w:r> + <w:r w:rsidR="001B1D4B" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + <w:t>${pageno}</w:t> + </w:r> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + <w:t>号</w:t> + </w:r> + </w:p> + <w:tbl> + <w:tblPr> + <w:tblW w:w="8632" w:type="dxa" /> + <w:tblInd w:w="108" w:type="dxa" /> + <w:tblBorders> + <w:top w:val="single" w:sz="12" w:space="0" w:color="auto" /> + </w:tblBorders> + <w:tblLayout w:type="fixed" /> + <w:tblLook w:val="0000" w:firstRow="0" w:lastRow="0" w:firstColumn="0" w:lastColumn="0" w:noHBand="0" w:noVBand="0" /> + </w:tblPr> + <w:tblGrid> + <w:gridCol w:w="8632" /> + </w:tblGrid> + <w:tr w:rsidR="00000000" w:rsidRPr="001B1D4B" w14:paraId="21232CD2" w14:textId="77777777"> + <w:trPr> + <w:trHeight w:hRule="exact" w:val="150" /> + </w:trPr> + <w:tc> + <w:tcPr> + <w:tcW w:w="8620" w:type="dxa" /> + <w:tcBorders> + <w:top w:val="single" w:sz="18" w:space="0" w:color="FF0000" /> + </w:tcBorders> + </w:tcPr> + <w:p w14:paraId="0EA9BF79" w14:textId="77777777" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:ind w:leftChars="-95" w:left="-199" w:firstLineChars="100" w:firstLine="280" /> + <w:jc w:val="center" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:color w:val="FF0000" /> + <w:spacing w:val="-20" /> + <w:sz w:val="32" /> + </w:rPr> + </w:pPr> + </w:p> + </w:tc> + </w:tr> + </w:tbl> + <w:p w14:paraId="5D7B400A" w14:textId="744BF9E9" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="001B1D4B"> + <w:pPr> + <w:spacing w:line="560" w:lineRule="exact" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + </w:pPr> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + <w:t>${company}</w:t> + </w:r> + <w:r w:rsidR="00000000" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + <w:t>:</w:t> + </w:r> + </w:p> + <w:p w14:paraId="5C54B1F9" w14:textId="52677EED" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="560" w:lineRule="exact" /> + <w:ind w:firstLineChars="200" w:firstLine="640" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>根据《危险化学品建设项目安全监督管理办法》(原国家安全监管总局令第45号)的规定</w:t> + </w:r> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + <w:t>,你单位提出的</w:t> + </w:r> + <w:r w:rsidR="001B1D4B" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + <w:t>${projectName}</w:t> + </w:r> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + <w:t>安全条件审查申请受理后,经对你单位提交的该建设项目</w:t> + </w:r> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>安全条件审查申请文件、资料的审查,同意该建设项目通过安全条件审查。请将《</w:t> + </w:r> + <w:r w:rsidR="001B1D4B" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + <w:t>${projectName}</w:t> + </w:r> + <w:proofErr w:type="spellEnd" /> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>安全预评价报告》作为该建设项目安全设施的设计依据之一。该建设项目安全设施设计专篇经审查通过后,方可开工建设。此外,如果该建设项目周边条件、主要技术、工艺路线、产品方案、装置规模发生重大变化,或者变更了建设地址,应当重新进行安全评价,并及时向我厅重新申请该建设项目安全条件审查。</w:t> + </w:r> + </w:p> + <w:p w14:paraId="383C7E57" w14:textId="77777777" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="560" w:lineRule="exact" /> + <w:ind w:firstLineChars="200" w:firstLine="640" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>本意见书自颁发之日起有效期为两年,有效期满未开工建设的,本意见书自动失效。</w:t> + </w:r> + </w:p> + <w:p w14:paraId="03C7A421" w14:textId="66A6A473" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="560" w:lineRule="exact" /> + <w:ind w:firstLineChars="200" w:firstLine="640" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>联系人:</w:t> + </w:r> + <w:r w:rsidR="001B1D4B" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-5" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>${contact}</w:t> + </w:r> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-5" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t xml:space="preserve"> 联系电话:</w:t> + </w:r> + <w:r w:rsidR="001B1D4B" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:spacing w:val="-5" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>${telephone}</w:t> + </w:r> + </w:p> + <w:p w14:paraId="1CF03545" w14:textId="77777777" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="530" w:lineRule="exact" /> + <w:ind w:firstLineChars="200" w:firstLine="640" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + </w:p> + <w:p w14:paraId="46386325" w14:textId="77777777" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="530" w:lineRule="exact" /> + <w:ind w:firstLineChars="200" w:firstLine="640" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + </w:p> + <w:p w14:paraId="7C405C6D" w14:textId="77777777" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="530" w:lineRule="exact" /> + <w:ind w:firstLineChars="200" w:firstLine="640" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t xml:space="preserve"> 新疆维吾尔自治区应急管理厅</w:t> + </w:r> + </w:p> + <w:p w14:paraId="4C26C792" w14:textId="296C43D3" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="530" w:lineRule="exact" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t xml:space="preserve"> </w:t> + </w:r> + <w:r w:rsidR="001B1D4B" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>${submitDate}</w:t> + </w:r> + <w:proofErr w:type="spellStart" /> + </w:p> + <w:p w14:paraId="06C2FD31" w14:textId="77777777" w:rsidR="00000000" w:rsidRPr="001B1D4B" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="530" w:lineRule="exact" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + </w:p> + <w:p w14:paraId="0177E96B" w14:textId="161707EB" w:rsidR="00B27A7D" w:rsidRDefault="00000000"> + <w:pPr> + <w:spacing w:line="530" w:lineRule="exact" /> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + </w:pPr> + <w:r w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>抄送:</w:t> + </w:r> + <w:r w:rsidR="001B1D4B" w:rsidRPr="001B1D4B"> + <w:rPr> + <w:rFonts w:ascii="仿宋_GB2312" w:eastAsia="仿宋_GB2312" w:hAnsi="仿宋_GB2312" w:cs="仿宋_GB2312" w:hint="eastAsia" /> + <w:sz w:val="32" /> + <w:szCs w:val="30" /> + </w:rPr> + <w:t>${duplicate}</w:t> + </w:r> + </w:p> + <w:sectPr w:rsidR="00B27A7D"> + <w:footerReference w:type="default" r:id="rId6" /> + <w:pgSz w:w="11906" w:h="16838" /> + <w:pgMar w:top="1418" w:right="1701" w:bottom="1418" w:left="1701" w:header="851" w:footer="992" w:gutter="0" /> + <w:cols w:space="720" /> + <w:docGrid w:type="lines" w:linePitch="312" /> + </w:sectPr> + </w:body> + </w:document> + </pkg:xmlData> + </pkg:part> + <pkg:part pkg:name="/word/_rels/document.xml.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="256"> + <pkg:xmlData> + <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> + <Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml" /> + <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings" Target="webSettings.xml" /> + <Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.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" /> + <Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footer1.xml" /> + <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes" Target="endnotes.xml" /> + <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes" Target="footnotes.xml" /> + </Relationships> + </pkg:xmlData> + </pkg:part> + <pkg:part pkg:name="/word/footnotes.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml"> + <pkg:xmlData> + <w:footnotes xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" 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: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:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" 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" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh wp14"> + <w:footnote w:type="separator" w:id="-1"> + <w:p w14:paraId="6CACB6A2" w14:textId="77777777" w:rsidR="00B27A7D" w:rsidRDefault="00B27A7D"> + <w:r> + <w:separator /> + </w:r> + </w:p> + </w:footnote> + <w:footnote w:type="continuationSeparator" w:id="0"> + <w:p w14:paraId="1C8A84F6" w14:textId="77777777" w:rsidR="00B27A7D" w:rsidRDefault="00B27A7D"> + <w:r> + <w:continuationSeparator /> + </w:r> + </w:p> + </w:footnote> + </w:footnotes> + </pkg:xmlData> + </pkg:part> + <pkg:part pkg:name="/word/endnotes.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml"> + <pkg:xmlData> + <w:endnotes xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" 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: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:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" 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" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh wp14"> + <w:endnote w:type="separator" w:id="-1"> + <w:p w14:paraId="01A9EE4A" w14:textId="77777777" w:rsidR="00B27A7D" w:rsidRDefault="00B27A7D"> + <w:r> + <w:separator /> + </w:r> + </w:p> + </w:endnote> + <w:endnote w:type="continuationSeparator" w:id="0"> + <w:p w14:paraId="4EE88616" w14:textId="77777777" w:rsidR="00B27A7D" w:rsidRDefault="00B27A7D"> + <w:r> + <w:continuationSeparator /> + </w:r> + </w:p> + </w:endnote> + </w:endnotes> + </pkg:xmlData> + </pkg:part> + <pkg:part pkg:name="/word/footer1.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"> + <pkg:xmlData> + <w:ftr xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" 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: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:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" 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" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh wp14"> + <w:p w14:paraId="5D048A32" w14:textId="77777777" w:rsidR="00000000" w:rsidRDefault="00000000"> + <w:pPr> + <w:pStyle w:val="a4" /> + <w:rPr> + <w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体" w:hint="eastAsia" /> + <w:sz w:val="21" /> + <w:szCs w:val="21" /> + </w:rPr> + </w:pPr> + <w:r> + <w:rPr> + <w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体" w:hint="eastAsia" /> + <w:sz w:val="21" /> + </w:rPr> + <w:pict w14:anchorId="6C3FDDF5"> + <v:line id="直线 1" o:spid="_x0000_s1025" style="position:absolute;z-index:1;mso-wrap-style:square" from="-9.7pt,-8.45pt" to="436.15pt,-8.4pt" strokecolor="red" strokeweight="1.5pt"> + <v:fill o:detectmouseclick="t" /> + </v:line> + </w:pict> + </w:r> + <w:r> + <w:rPr> + <w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:cs="宋体" w:hint="eastAsia" /> + <w:sz w:val="21" /> + <w:szCs w:val="21" /> + </w:rPr> + <w:t>本意见书一式四份,建设单位两份,颁发单位一份,抄送单位一份。</w:t> + </w:r> + </w:p> + </w:ftr> + </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="44546A" /> + </a:dk2> + <a:lt2> + <a:srgbClr val="E7E6E6" /> + </a:lt2> + <a:accent1> + <a:srgbClr val="4472C4" /> + </a:accent1> + <a:accent2> + <a:srgbClr val="ED7D31" /> + </a:accent2> + <a:accent3> + <a:srgbClr val="A5A5A5" /> + </a:accent3> + <a:accent4> + <a:srgbClr val="FFC000" /> + </a:accent4> + <a:accent5> + <a:srgbClr val="5B9BD5" /> + </a:accent5> + <a:accent6> + <a:srgbClr val="70AD47" /> + </a:accent6> + <a:hlink> + <a:srgbClr val="0563C1" /> + </a:hlink> + <a:folHlink> + <a:srgbClr val="954F72" /> + </a:folHlink> + </a:clrScheme> + <a:fontScheme name="Office"> + <a:majorFont> + <a:latin typeface="等线 Light" panose="020F0302020204030204" /> + <a:ea typeface="" /> + <a:cs typeface="" /> + <a:font script="Jpan" typeface="游ゴシック Light" /> + <a:font script="Hang" typeface="맑은 고딕" /> + <a:font script="Hans" typeface="等线 Light" /> + <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:font script="Armn" typeface="Arial" /> + <a:font script="Bugi" typeface="Leelawadee UI" /> + <a:font script="Bopo" typeface="Microsoft JhengHei" /> + <a:font script="Java" typeface="Javanese Text" /> + <a:font script="Lisu" typeface="Segoe UI" /> + <a:font script="Mymr" typeface="Myanmar Text" /> + <a:font script="Nkoo" typeface="Ebrima" /> + <a:font script="Olck" typeface="Nirmala UI" /> + <a:font script="Osma" typeface="Ebrima" /> + <a:font script="Phag" typeface="Phagspa" /> + <a:font script="Syrn" typeface="Estrangelo Edessa" /> + <a:font script="Syrj" typeface="Estrangelo Edessa" /> + <a:font script="Syre" typeface="Estrangelo Edessa" /> + <a:font script="Sora" typeface="Nirmala UI" /> + <a:font script="Tale" typeface="Microsoft Tai Le" /> + <a:font script="Talu" typeface="Microsoft New Tai Lue" /> + <a:font script="Tfng" typeface="Ebrima" /> + </a:majorFont> + <a:minorFont> + <a:latin typeface="等线" panose="020F0502020204030204" /> + <a:ea typeface="" /> + <a:cs typeface="" /> + <a:font script="Jpan" typeface="游明朝" /> + <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:font script="Armn" typeface="Arial" /> + <a:font script="Bugi" typeface="Leelawadee UI" /> + <a:font script="Bopo" typeface="Microsoft JhengHei" /> + <a:font script="Java" typeface="Javanese Text" /> + <a:font script="Lisu" typeface="Segoe UI" /> + <a:font script="Mymr" typeface="Myanmar Text" /> + <a:font script="Nkoo" typeface="Ebrima" /> + <a:font script="Olck" typeface="Nirmala UI" /> + <a:font script="Osma" typeface="Ebrima" /> + <a:font script="Phag" typeface="Phagspa" /> + <a:font script="Syrn" typeface="Estrangelo Edessa" /> + <a:font script="Syrj" typeface="Estrangelo Edessa" /> + <a:font script="Syre" typeface="Estrangelo Edessa" /> + <a:font script="Sora" typeface="Nirmala UI" /> + <a:font script="Tale" typeface="Microsoft Tai Le" /> + <a:font script="Talu" typeface="Microsoft New Tai Lue" /> + <a:font script="Tfng" typeface="Ebrima" /> + </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:lumMod val="110000" /> + <a:satMod val="105000" /> + <a:tint val="67000" /> + </a:schemeClr> + </a:gs> + <a:gs pos="50000"> + <a:schemeClr val="phClr"> + <a:lumMod val="105000" /> + <a:satMod val="103000" /> + <a:tint val="73000" /> + </a:schemeClr> + </a:gs> + <a:gs pos="100000"> + <a:schemeClr val="phClr"> + <a:lumMod val="105000" /> + <a:satMod val="109000" /> + <a:tint val="81000" /> + </a:schemeClr> + </a:gs> + </a:gsLst> + <a:lin ang="5400000" scaled="0" /> + </a:gradFill> + <a:gradFill rotWithShape="1"> + <a:gsLst> + <a:gs pos="0"> + <a:schemeClr val="phClr"> + <a:satMod val="103000" /> + <a:lumMod val="102000" /> + <a:tint val="94000" /> + </a:schemeClr> + </a:gs> + <a:gs pos="50000"> + <a:schemeClr val="phClr"> + <a:satMod val="110000" /> + <a:lumMod val="100000" /> + <a:shade val="100000" /> + </a:schemeClr> + </a:gs> + <a:gs pos="100000"> + <a:schemeClr val="phClr"> + <a:lumMod val="99000" /> + <a:satMod val="120000" /> + <a:shade val="78000" /> + </a:schemeClr> + </a:gs> + </a:gsLst> + <a:lin ang="5400000" scaled="0" /> + </a:gradFill> + </a:fillStyleLst> + <a:lnStyleLst> + <a:ln w="6350" cap="flat" cmpd="sng" algn="ctr"> + <a:solidFill> + <a:schemeClr val="phClr" /> + </a:solidFill> + <a:prstDash val="solid" /> + <a:miter lim="800000" /> + </a:ln> + <a:ln w="12700" cap="flat" cmpd="sng" algn="ctr"> + <a:solidFill> + <a:schemeClr val="phClr" /> + </a:solidFill> + <a:prstDash val="solid" /> + <a:miter lim="800000" /> + </a:ln> + <a:ln w="19050" cap="flat" cmpd="sng" algn="ctr"> + <a:solidFill> + <a:schemeClr val="phClr" /> + </a:solidFill> + <a:prstDash val="solid" /> + <a:miter lim="800000" /> + </a:ln> + </a:lnStyleLst> + <a:effectStyleLst> + <a:effectStyle> + <a:effectLst /> + </a:effectStyle> + <a:effectStyle> + <a:effectLst /> + </a:effectStyle> + <a:effectStyle> + <a:effectLst> + <a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0"> + <a:srgbClr val="000000"> + <a:alpha val="63000" /> + </a:srgbClr> + </a:outerShdw> + </a:effectLst> + </a:effectStyle> + </a:effectStyleLst> + <a:bgFillStyleLst> + <a:solidFill> + <a:schemeClr val="phClr" /> + </a:solidFill> + <a:solidFill> + <a:schemeClr val="phClr"> + <a:tint val="95000" /> + <a:satMod val="170000" /> + </a:schemeClr> + </a:solidFill> + <a:gradFill rotWithShape="1"> + <a:gsLst> + <a:gs pos="0"> + <a:schemeClr val="phClr"> + <a:tint val="93000" /> + <a:satMod val="150000" /> + <a:shade val="98000" /> + <a:lumMod val="102000" /> + </a:schemeClr> + </a:gs> + <a:gs pos="50000"> + <a:schemeClr val="phClr"> + <a:tint val="98000" /> + <a:satMod val="130000" /> + <a:shade val="90000" /> + <a:lumMod val="103000" /> + </a:schemeClr> + </a:gs> + <a:gs pos="100000"> + <a:schemeClr val="phClr"> + <a:shade val="63000" /> + <a:satMod val="120000" /> + </a:schemeClr> + </a:gs> + </a:gsLst> + <a:lin ang="5400000" scaled="0" /> + </a:gradFill> + </a:bgFillStyleLst> + </a:fmtScheme> + </a:themeElements> + <a:objectDefaults /> + <a:extraClrSchemeLst /> + <a:extLst> + <a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}"> + <thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}" /> + </a:ext> + </a:extLst> + </a:theme> + </pkg:xmlData> + </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:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh"> + <w:zoom w:percent="100" /> + <w:proofState w:spelling="clean" w:grammar="clean" /> + <w:stylePaneFormatFilter w:val="3F01" w:allStyles="1" w:customStyles="0" w:latentStyles="0" w:stylesInUse="0" w:headingStyles="0" w:numberingStyles="0" w:tableStyles="0" w:directFormattingOnRuns="1" w:directFormattingOnParagraphs="1" w:directFormattingOnNumbering="1" w:directFormattingOnTables="1" w:clearFormatting="1" w:top3HeadingStyles="1" w:visibleStyles="0" w:alternateStyleNames="0" /> + <w:doNotTrackMoves /> + <w:defaultTabStop w:val="420" /> + <w:drawingGridVerticalSpacing w:val="156" /> + <w:noPunctuationKerning /> + <w:characterSpacingControl w:val="compressPunctuation" /> + <w:hdrShapeDefaults> + <o:shapedefaults v:ext="edit" spidmax="2050" /> + <o:shapelayout v:ext="edit"> + <o:idmap v:ext="edit" data="1" /> + </o:shapelayout> + </w:hdrShapeDefaults> + <w:footnotePr> + <w:footnote w:id="-1" /> + <w:footnote w:id="0" /> + </w:footnotePr> + <w:endnotePr> + <w:endnote w:id="-1" /> + <w:endnote w:id="0" /> + </w:endnotePr> + <w:compat> + <w:spaceForUL /> + <w:balanceSingleByteDoubleByteWidth /> + <w:doNotLeaveBackslashAlone /> + <w:ulTrailSpace /> + <w:doNotExpandShiftReturn /> + <w:adjustLineHeightInTable /> + <w:doNotWrapTextWithPunct /> + <w:doNotUseEastAsianBreakRules /> + <w:useFELayout /> + <w:useNormalStyleForList /> + <w:doNotUseIndentAsNumberingTabStop /> + <w:useAltKinsokuLineBreakRules /> + <w:allowSpaceOfSameStyleInTable /> + <w:doNotSuppressIndentation /> + <w:doNotAutofitConstrainedTables /> + <w:autofitToFirstFixedWidthCell /> + <w:displayHangulFixedWidth /> + <w:splitPgBreakAndParaMark /> + <w:doNotVertAlignCellWithSp /> + <w:doNotBreakConstrainedForcedTable /> + <w:doNotVertAlignInTxbx /> + <w:useAnsiKerningPairs /> + <w:cachedColBalance /> + <w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="11" /> + <w:compatSetting w:name="allowHyphenationAtTrackBottom" w:uri="http://schemas.microsoft.com/office/word" w:val="1" /> + <w:compatSetting w:name="useWord2013TrackBottomHyphenation" w:uri="http://schemas.microsoft.com/office/word" w:val="1" /> + </w:compat> + <w:docVars> + <w:docVar w:name="commondata" w:val="eyJoZGlkIjoiM2M5MmNlMjViYWQyZDg5Nzc4ZmEwZGY1ZWQxODdhYWMifQ==" /> + </w:docVars> + <w:rsids> + <w:rsidRoot w:val="009C322D" /> + <w:rsid w:val="00000F52" /> + <w:rsid w:val="00026061" /> + <w:rsid w:val="0002738D" /> + <w:rsid w:val="00037948" /> + <w:rsid w:val="000528E1" /> + <w:rsid w:val="00062B7B" /> + <w:rsid w:val="000B1AC8" /> + <w:rsid w:val="000B35D4" /> + <w:rsid w:val="000F424A" /> + <w:rsid w:val="00100BD7" /> + <w:rsid w:val="00140FC5" /> + <w:rsid w:val="00154067" /> + <w:rsid w:val="00164478" /> + <w:rsid w:val="001B1D4B" /> + <w:rsid w:val="001C22B7" /> + <w:rsid w:val="001E3940" /> + <w:rsid w:val="00211E9A" /> + <w:rsid w:val="00232371" /> + <w:rsid w:val="00257A5F" /> + <w:rsid w:val="002742FB" /> + <w:rsid w:val="002758B0" /> + <w:rsid w:val="002A5070" /> + <w:rsid w:val="002D4888" /> + <w:rsid w:val="002E75A7" /> + <w:rsid w:val="00302B26" /> + <w:rsid w:val="003066B9" /> + <w:rsid w:val="003341B5" /> + <w:rsid w:val="00357CE5" /> + <w:rsid w:val="00361E9B" /> + <w:rsid w:val="00385550" /> + <w:rsid w:val="003A15B3" /> + <w:rsid w:val="003E0F19" /> + <w:rsid w:val="00445214" /> + <w:rsid w:val="00471FAA" /> + <w:rsid w:val="004A3F4F" /> + <w:rsid w:val="004D70AA" /> + <w:rsid w:val="005075F2" /> + <w:rsid w:val="00591FAB" /> + <w:rsid w:val="00597B16" /> + <w:rsid w:val="005A33E5" /> + <w:rsid w:val="005C3920" /> + <w:rsid w:val="005C3BB3" /> + <w:rsid w:val="005D6EA0" /> + <w:rsid w:val="005E1D22" /> + <w:rsid w:val="00606656" /> + <w:rsid w:val="00635CD5" /> + <w:rsid w:val="006458BA" /> + <w:rsid w:val="006C4BC8" /> + <w:rsid w:val="00716E81" /> + <w:rsid w:val="00717AA5" /> + <w:rsid w:val="007246E3" /> + <w:rsid w:val="00766F26" /> + <w:rsid w:val="00774BBA" /> + <w:rsid w:val="007A22EB" /> + <w:rsid w:val="007D3EBA" /> + <w:rsid w:val="007F60AA" /> + <w:rsid w:val="00807420" /> + <w:rsid w:val="00867CF9" /> + <w:rsid w:val="00880147" /> + <w:rsid w:val="008958DD" /> + <w:rsid w:val="008B0027" /> + <w:rsid w:val="008B7682" /> + <w:rsid w:val="00944109" /> + <w:rsid w:val="009503F7" /> + <w:rsid w:val="00951C8C" /> + <w:rsid w:val="00953906" /> + <w:rsid w:val="00961DD8" /> + <w:rsid w:val="009C322D" /> + <w:rsid w:val="009F5265" /> + <w:rsid w:val="00A107DB" /> + <w:rsid w:val="00A21050" /> + <w:rsid w:val="00A90486" /> + <w:rsid w:val="00A91C78" /> + <w:rsid w:val="00A925B2" /> + <w:rsid w:val="00AA4E15" /> + <w:rsid w:val="00AA69A1" /> + <w:rsid w:val="00AD1915" /> + <w:rsid w:val="00B125AE" /> + <w:rsid w:val="00B27A7D" /> + <w:rsid w:val="00B46696" /> + <w:rsid w:val="00B91F5B" /> + <w:rsid w:val="00C35A74" /> + <w:rsid w:val="00C3765A" /> + <w:rsid w:val="00C71E15" /> + <w:rsid w:val="00CA49D0" /> + <w:rsid w:val="00CE04DF" /> + <w:rsid w:val="00CF057A" /> + <w:rsid w:val="00CF31C7" /> + <w:rsid w:val="00CF37BD" /> + <w:rsid w:val="00CF72F4" /> + <w:rsid w:val="00D6740B" /> + <w:rsid w:val="00D96638" /> + <w:rsid w:val="00DA3DA2" /> + <w:rsid w:val="00DA6879" /> + <w:rsid w:val="00DB0DC7" /> + <w:rsid w:val="00DB6565" /> + <w:rsid w:val="00E02AA9" /> + <w:rsid w:val="00E44630" /> + <w:rsid w:val="00E53E39" /> + <w:rsid w:val="00E5419B" /> + <w:rsid w:val="00E55C0F" /> + <w:rsid w:val="00E64E7C" /> + <w:rsid w:val="00EA16FF" /> + <w:rsid w:val="00F02741" /> + <w:rsid w:val="00F11777" /> + <w:rsid w:val="00F31342" /> + <w:rsid w:val="00F85686" /> + <w:rsid w:val="00F93986" /> + <w:rsid w:val="00FA6C4E" /> + <w:rsid w:val="017C3BDA" /> + <w:rsid w:val="022A2DF8" /> + <w:rsid w:val="03245CBD" /> + <w:rsid w:val="03335A47" /> + <w:rsid w:val="03FB6C51" /> + <w:rsid w:val="048853A0" /> + <w:rsid w:val="073D0ADC" /> + <w:rsid w:val="07CE387B" /> + <w:rsid w:val="08F77465" /> + <w:rsid w:val="091C1907" /> + <w:rsid w:val="095255CF" /> + <w:rsid w:val="09624174" /> + <w:rsid w:val="0A7B1068" /> + <w:rsid w:val="0ADD7E8B" /> + <w:rsid w:val="0AE04967" /> + <w:rsid w:val="0FBA5F63" /> + <w:rsid w:val="104B2737" /> + <w:rsid w:val="111507E1" /> + <w:rsid w:val="12040292" /> + <w:rsid w:val="12506894" /> + <w:rsid w:val="13457BB9" /> + <w:rsid w:val="14652044" /> + <w:rsid w:val="15720C60" /> + <w:rsid w:val="162A16FA" /> + <w:rsid w:val="1685077D" /> + <w:rsid w:val="18752231" /> + <w:rsid w:val="18CB1E2C" /> + <w:rsid w:val="1A2D4FAB" /> + <w:rsid w:val="1BC60A7D" /> + <w:rsid w:val="1BCD5698" /> + <w:rsid w:val="1C9D74D2" /> + <w:rsid w:val="1CA226AE" /> + <w:rsid w:val="1CFD1865" /> + <w:rsid w:val="1E004446" /> + <w:rsid w:val="1E554A05" /> + <w:rsid w:val="1E9165E9" /> + <w:rsid w:val="21C57E2A" /> + <w:rsid w:val="22831DB4" /> + <w:rsid w:val="26A14698" /> + <w:rsid w:val="26DD72D1" /> + <w:rsid w:val="2B771B61" /> + <w:rsid w:val="2C3D710D" /> + <w:rsid w:val="2CF002D6" /> + <w:rsid w:val="2E124768" /> + <w:rsid w:val="2E57297B" /> + <w:rsid w:val="2EBE3BF4" /> + <w:rsid w:val="2F21C067" /> + <w:rsid w:val="30797214" /> + <w:rsid w:val="30A54C7E" /> + <w:rsid w:val="340B7372" /> + <w:rsid w:val="344B1366" /> + <w:rsid w:val="35B71F23" /> + <w:rsid w:val="36901618" /> + <w:rsid w:val="3749606B" /> + <w:rsid w:val="38681B0E" /> + <w:rsid w:val="399F32BD" /> + <w:rsid w:val="39B42E49" /> + <w:rsid w:val="3A245F7B" /> + <w:rsid w:val="3A6F67AC" /> + <w:rsid w:val="3CD225D0" /> + <w:rsid w:val="3D776C72" /> + <w:rsid w:val="3F570FC8" /> + <w:rsid w:val="3FFB23F8" /> + <w:rsid w:val="42972E2C" /> + <w:rsid w:val="43B8582D" /> + <w:rsid w:val="4457112A" /> + <w:rsid w:val="44E64C06" /> + <w:rsid w:val="45B8013E" /> + <w:rsid w:val="45EE16D8" /> + <w:rsid w:val="460527B8" /> + <w:rsid w:val="46213B5E" /> + <w:rsid w:val="472830D3" /> + <w:rsid w:val="47493443" /> + <w:rsid w:val="476E7A00" /> + <w:rsid w:val="480E570C" /> + <w:rsid w:val="48F92577" /> + <w:rsid w:val="4C372680" /> + <w:rsid w:val="4C8B30D7" /> + <w:rsid w:val="4CCC4B20" /> + <w:rsid w:val="4D544865" /> + <w:rsid w:val="5367280C" /> + <w:rsid w:val="53774EF8" /> + <w:rsid w:val="53D92C70" /> + <w:rsid w:val="54545BF2" /> + <w:rsid w:val="54F536CE" /> + <w:rsid w:val="55F109F9" /> + <w:rsid w:val="56520C0A" /> + <w:rsid w:val="58CC4742" /> + <w:rsid w:val="5A1F776F" /> + <w:rsid w:val="5AD8259D" /> + <w:rsid w:val="5AD8399F" /> + <w:rsid w:val="5B7E79B0" /> + <w:rsid w:val="5BD60EF1" /> + <w:rsid w:val="5D0376FE" /> + <w:rsid w:val="5FC6CDC0" /> + <w:rsid w:val="5FEFF096" /> + <w:rsid w:val="6224234A" /> + <w:rsid w:val="62C548CA" /> + <w:rsid w:val="631B0763" /> + <w:rsid w:val="65522CB5" /> + <w:rsid w:val="65A008D9" /> + <w:rsid w:val="66E87485" /> + <w:rsid w:val="694E357E" /> + <w:rsid w:val="695D44A1" /> + <w:rsid w:val="69D93AFA" /> + <w:rsid w:val="6AD96EA3" /> + <w:rsid w:val="6C5223E0" /> + <w:rsid w:val="6CD9259F" /> + <w:rsid w:val="6E620038" /> + <w:rsid w:val="6F6C71BB" /> + <w:rsid w:val="70D6530B" /> + <w:rsid w:val="70ED2F17" /> + <w:rsid w:val="713A6F42" /> + <w:rsid w:val="71F72685" /> + <w:rsid w:val="71F73444" /> + <w:rsid w:val="72A454A9" /> + <w:rsid w:val="73A66B44" /> + <w:rsid w:val="74731592" /> + <w:rsid w:val="758E2E90" /> + <w:rsid w:val="765E155E" /> + <w:rsid w:val="766C1135" /> + <w:rsid w:val="771618E9" /> + <w:rsid w:val="7752432A" /> + <w:rsid w:val="775251B1" /> + <w:rsid w:val="789A4AB9" /> + <w:rsid w:val="78DF04E7" /> + <w:rsid w:val="79B86616" /> + <w:rsid w:val="79F919D5" /> + <w:rsid w:val="7BBDF1BF" /> + <w:rsid w:val="7E4F67BE" /> + <w:rsid w:val="7EDFFA5B" /> + <w:rsid w:val="7F10377C" /> + <w:rsid w:val="7FBE87C1" /> + <w:rsid w:val="8FFFE37F" /> + <w:rsid w:val="9F6F8890" /> + <w:rsid w:val="9FBFA9F2" /> + <w:rsid w:val="B50ECA42" /> + <w:rsid w:val="BAEFDBBE" /> + <w:rsid w:val="CA5F91D3" /> + <w:rsid w:val="D33534A4" /> + <w:rsid w:val="DDDF1FC4" /> + <w:rsid w:val="F3DFE26B" /> + <w:rsid w:val="F9F90E4D" /> + <w:rsid w:val="FB17D3BE" /> + <w:rsid w:val="FBABC8A6" /> + <w:rsid w:val="FBBF8374" /> + <w:rsid w:val="FFBF5E69" /> + <w:rsid w:val="FFFE43B9" /> + </w:rsids> + <m:mathPr> + <m:mathFont m:val="Cambria Math" /> + <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 v:ext="edit" spidmax="2050" /> + <o:shapelayout v:ext="edit"> + <o:idmap v:ext="edit" data="2" /> + </o:shapelayout> + </w:shapeDefaults> + <w:decimalSymbol w:val="." /> + <w:listSeparator w:val="," /> + <w14:docId w14:val="5F887D74" /> + <w15:chartTrackingRefBased /> + <w15:docId w15:val="{F6E2787A-11B3-4582-916E-7E114AFE674B}" /> + </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: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" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh"> + <w:docDefaults> + <w:rPrDefault> + <w:rPr> + <w:rFonts w:ascii="Times New Roman" w:eastAsia="宋体" w:hAnsi="Times New Roman" w:cs="Times New Roman" /> + <w:lang w:val="en-US" w:eastAsia="zh-CN" w:bidi="ar-SA" /> + </w:rPr> + </w:rPrDefault> + <w:pPrDefault /> + </w:docDefaults> + <w:latentStyles w:defLockedState="0" w:defUIPriority="99" w:defSemiHidden="0" w:defUnhideWhenUsed="0" w:defQFormat="0" w:count="376"> + <w:lsdException w:name="Normal" w:uiPriority="0" w:qFormat="1" /> + <w:lsdException w:name="heading 1" w:uiPriority="9" w:qFormat="1" /> + <w:lsdException w:name="heading 2" w:uiPriority="9" w:qFormat="1" /> + <w:lsdException w:name="heading 3" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="heading 4" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="heading 5" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="heading 6" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="heading 7" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="heading 8" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="heading 9" w:semiHidden="1" w:uiPriority="9" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="index 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index 5" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index 6" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index 7" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index 8" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index 9" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 1" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 2" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 3" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 4" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 5" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 6" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 7" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 8" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toc 9" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Normal Indent" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="footnote text" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="annotation text" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="header" w:unhideWhenUsed="1" /> + <w:lsdException w:name="footer" w:unhideWhenUsed="1" /> + <w:lsdException w:name="index heading" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="caption" w:semiHidden="1" w:uiPriority="35" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="table of figures" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="envelope address" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="envelope return" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="footnote reference" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="annotation reference" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="line number" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="page number" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="endnote reference" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="endnote text" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="table of authorities" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="macro" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="toa heading" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Bullet" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Number" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List 5" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Bullet 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Bullet 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Bullet 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Bullet 5" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Number 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Number 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Number 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Number 5" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Title" w:uiPriority="0" w:qFormat="1" /> + <w:lsdException w:name="Closing" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Signature" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Default Paragraph Font" w:uiPriority="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Body Text" w:uiPriority="0" w:qFormat="1" /> + <w:lsdException w:name="Body Text Indent" w:semiHidden="1" w:uiPriority="0" w:qFormat="1" /> + <w:lsdException w:name="List Continue" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Continue 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Continue 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Continue 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Continue 5" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Message Header" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Subtitle" w:uiPriority="11" w:qFormat="1" /> + <w:lsdException w:name="Salutation" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Date" w:uiPriority="0" /> + <w:lsdException w:name="Body Text First Indent" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Body Text First Indent 2" w:uiPriority="0" w:qFormat="1" /> + <w:lsdException w:name="Note Heading" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Body Text 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Body Text 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Body Text Indent 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Body Text Indent 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Block Text" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Hyperlink" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="FollowedHyperlink" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Strong" w:uiPriority="22" w:qFormat="1" /> + <w:lsdException w:name="Emphasis" w:uiPriority="20" w:qFormat="1" /> + <w:lsdException w:name="Document Map" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Plain Text" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="E-mail Signature" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Top of Form" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Bottom of Form" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Normal (Web)" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Acronym" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Address" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Cite" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Code" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Definition" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Keyboard" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Preformatted" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Sample" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Typewriter" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="HTML Variable" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Normal Table" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="annotation subject" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="No List" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Outline List 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Outline List 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Outline List 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Simple 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Simple 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Simple 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Classic 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Classic 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Classic 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Classic 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Colorful 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Colorful 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Colorful 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Columns 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Columns 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Columns 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Columns 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Columns 5" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid 5" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid 6" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid 7" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid 8" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table List 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table List 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table List 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table List 4" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table List 5" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table List 6" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table List 7" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table List 8" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table 3D effects 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table 3D effects 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table 3D effects 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Contemporary" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Elegant" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Professional" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Subtle 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Subtle 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Web 1" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Web 2" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Web 3" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Balloon Text" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Table Grid" w:uiPriority="59" /> + <w:lsdException w:name="Table Theme" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Placeholder Text" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="No Spacing" w:qFormat="1" /> + <w:lsdException w:name="Light Shading" w:uiPriority="60" /> + <w:lsdException w:name="Light List" w:uiPriority="61" /> + <w:lsdException w:name="Light Grid" w:uiPriority="62" /> + <w:lsdException w:name="Medium Shading 1" w:uiPriority="63" /> + <w:lsdException w:name="Medium Shading 2" w:uiPriority="64" /> + <w:lsdException w:name="Medium List 1" w:uiPriority="65" /> + <w:lsdException w:name="Medium List 2" w:uiPriority="66" /> + <w:lsdException w:name="Medium Grid 1" w:uiPriority="67" /> + <w:lsdException w:name="Medium Grid 2" w:uiPriority="68" /> + <w:lsdException w:name="Medium Grid 3" w:uiPriority="69" /> + <w:lsdException w:name="Dark List" w:uiPriority="70" /> + <w:lsdException w:name="Colorful Shading" w:uiPriority="71" /> + <w:lsdException w:name="Colorful List" w:uiPriority="72" /> + <w:lsdException w:name="Colorful Grid" w:uiPriority="73" /> + <w:lsdException w:name="Light Shading Accent 1" w:uiPriority="60" /> + <w:lsdException w:name="Light List Accent 1" w:uiPriority="61" /> + <w:lsdException w:name="Light Grid Accent 1" w:uiPriority="62" /> + <w:lsdException w:name="Medium Shading 1 Accent 1" w:uiPriority="63" /> + <w:lsdException w:name="Medium Shading 2 Accent 1" w:uiPriority="64" /> + <w:lsdException w:name="Medium List 1 Accent 1" w:uiPriority="65" /> + <w:lsdException w:name="Revision" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="List Paragraph" w:qFormat="1" /> + <w:lsdException w:name="Quote" w:qFormat="1" /> + <w:lsdException w:name="Intense Quote" w:qFormat="1" /> + <w:lsdException w:name="Medium List 2 Accent 1" w:uiPriority="66" /> + <w:lsdException w:name="Medium Grid 1 Accent 1" w:uiPriority="67" /> + <w:lsdException w:name="Medium Grid 2 Accent 1" w:uiPriority="68" /> + <w:lsdException w:name="Medium Grid 3 Accent 1" w:uiPriority="69" /> + <w:lsdException w:name="Dark List Accent 1" w:uiPriority="70" /> + <w:lsdException w:name="Colorful Shading Accent 1" w:uiPriority="71" /> + <w:lsdException w:name="Colorful List Accent 1" w:uiPriority="72" /> + <w:lsdException w:name="Colorful Grid Accent 1" w:uiPriority="73" /> + <w:lsdException w:name="Light Shading Accent 2" w:uiPriority="60" /> + <w:lsdException w:name="Light List Accent 2" w:uiPriority="61" /> + <w:lsdException w:name="Light Grid Accent 2" w:uiPriority="62" /> + <w:lsdException w:name="Medium Shading 1 Accent 2" w:uiPriority="63" /> + <w:lsdException w:name="Medium Shading 2 Accent 2" w:uiPriority="64" /> + <w:lsdException w:name="Medium List 1 Accent 2" w:uiPriority="65" /> + <w:lsdException w:name="Medium List 2 Accent 2" w:uiPriority="66" /> + <w:lsdException w:name="Medium Grid 1 Accent 2" w:uiPriority="67" /> + <w:lsdException w:name="Medium Grid 2 Accent 2" w:uiPriority="68" /> + <w:lsdException w:name="Medium Grid 3 Accent 2" w:uiPriority="69" /> + <w:lsdException w:name="Dark List Accent 2" w:uiPriority="70" /> + <w:lsdException w:name="Colorful Shading Accent 2" w:uiPriority="71" /> + <w:lsdException w:name="Colorful List Accent 2" w:uiPriority="72" /> + <w:lsdException w:name="Colorful Grid Accent 2" w:uiPriority="73" /> + <w:lsdException w:name="Light Shading Accent 3" w:uiPriority="60" /> + <w:lsdException w:name="Light List Accent 3" w:uiPriority="61" /> + <w:lsdException w:name="Light Grid Accent 3" w:uiPriority="62" /> + <w:lsdException w:name="Medium Shading 1 Accent 3" w:uiPriority="63" /> + <w:lsdException w:name="Medium Shading 2 Accent 3" w:uiPriority="64" /> + <w:lsdException w:name="Medium List 1 Accent 3" w:uiPriority="65" /> + <w:lsdException w:name="Medium List 2 Accent 3" w:uiPriority="66" /> + <w:lsdException w:name="Medium Grid 1 Accent 3" w:uiPriority="67" /> + <w:lsdException w:name="Medium Grid 2 Accent 3" w:uiPriority="68" /> + <w:lsdException w:name="Medium Grid 3 Accent 3" w:uiPriority="69" /> + <w:lsdException w:name="Dark List Accent 3" w:uiPriority="70" /> + <w:lsdException w:name="Colorful Shading Accent 3" w:uiPriority="71" /> + <w:lsdException w:name="Colorful List Accent 3" w:uiPriority="72" /> + <w:lsdException w:name="Colorful Grid Accent 3" w:uiPriority="73" /> + <w:lsdException w:name="Light Shading Accent 4" w:uiPriority="60" /> + <w:lsdException w:name="Light List Accent 4" w:uiPriority="61" /> + <w:lsdException w:name="Light Grid Accent 4" w:uiPriority="62" /> + <w:lsdException w:name="Medium Shading 1 Accent 4" w:uiPriority="63" /> + <w:lsdException w:name="Medium Shading 2 Accent 4" w:uiPriority="64" /> + <w:lsdException w:name="Medium List 1 Accent 4" w:uiPriority="65" /> + <w:lsdException w:name="Medium List 2 Accent 4" w:uiPriority="66" /> + <w:lsdException w:name="Medium Grid 1 Accent 4" w:uiPriority="67" /> + <w:lsdException w:name="Medium Grid 2 Accent 4" w:uiPriority="68" /> + <w:lsdException w:name="Medium Grid 3 Accent 4" w:uiPriority="69" /> + <w:lsdException w:name="Dark List Accent 4" w:uiPriority="70" /> + <w:lsdException w:name="Colorful Shading Accent 4" w:uiPriority="71" /> + <w:lsdException w:name="Colorful List Accent 4" w:uiPriority="72" /> + <w:lsdException w:name="Colorful Grid Accent 4" w:uiPriority="73" /> + <w:lsdException w:name="Light Shading Accent 5" w:uiPriority="60" /> + <w:lsdException w:name="Light List Accent 5" w:uiPriority="61" /> + <w:lsdException w:name="Light Grid Accent 5" w:uiPriority="62" /> + <w:lsdException w:name="Medium Shading 1 Accent 5" w:uiPriority="63" /> + <w:lsdException w:name="Medium Shading 2 Accent 5" w:uiPriority="64" /> + <w:lsdException w:name="Medium List 1 Accent 5" w:uiPriority="65" /> + <w:lsdException w:name="Medium List 2 Accent 5" w:uiPriority="66" /> + <w:lsdException w:name="Medium Grid 1 Accent 5" w:uiPriority="67" /> + <w:lsdException w:name="Medium Grid 2 Accent 5" w:uiPriority="68" /> + <w:lsdException w:name="Medium Grid 3 Accent 5" w:uiPriority="69" /> + <w:lsdException w:name="Dark List Accent 5" w:uiPriority="70" /> + <w:lsdException w:name="Colorful Shading Accent 5" w:uiPriority="71" /> + <w:lsdException w:name="Colorful List Accent 5" w:uiPriority="72" /> + <w:lsdException w:name="Colorful Grid Accent 5" w:uiPriority="73" /> + <w:lsdException w:name="Light Shading Accent 6" w:uiPriority="60" /> + <w:lsdException w:name="Light List Accent 6" w:uiPriority="61" /> + <w:lsdException w:name="Light Grid Accent 6" w:uiPriority="62" /> + <w:lsdException w:name="Medium Shading 1 Accent 6" w:uiPriority="63" /> + <w:lsdException w:name="Medium Shading 2 Accent 6" w:uiPriority="64" /> + <w:lsdException w:name="Medium List 1 Accent 6" w:uiPriority="65" /> + <w:lsdException w:name="Medium List 2 Accent 6" w:uiPriority="66" /> + <w:lsdException w:name="Medium Grid 1 Accent 6" w:uiPriority="67" /> + <w:lsdException w:name="Medium Grid 2 Accent 6" w:uiPriority="68" /> + <w:lsdException w:name="Medium Grid 3 Accent 6" w:uiPriority="69" /> + <w:lsdException w:name="Dark List Accent 6" w:uiPriority="70" /> + <w:lsdException w:name="Colorful Shading Accent 6" w:uiPriority="71" /> + <w:lsdException w:name="Colorful List Accent 6" w:uiPriority="72" /> + <w:lsdException w:name="Colorful Grid Accent 6" w:uiPriority="73" /> + <w:lsdException w:name="Subtle Emphasis" w:uiPriority="19" w:qFormat="1" /> + <w:lsdException w:name="Intense Emphasis" w:uiPriority="21" w:qFormat="1" /> + <w:lsdException w:name="Subtle Reference" w:uiPriority="31" w:qFormat="1" /> + <w:lsdException w:name="Intense Reference" w:uiPriority="32" w:qFormat="1" /> + <w:lsdException w:name="Book Title" w:uiPriority="33" w:qFormat="1" /> + <w:lsdException w:name="Bibliography" w:semiHidden="1" w:uiPriority="37" w:unhideWhenUsed="1" /> + <w:lsdException w:name="TOC Heading" w:semiHidden="1" w:uiPriority="39" w:unhideWhenUsed="1" w:qFormat="1" /> + <w:lsdException w:name="Plain Table 1" w:uiPriority="41" /> + <w:lsdException w:name="Plain Table 2" w:uiPriority="42" /> + <w:lsdException w:name="Plain Table 3" w:uiPriority="43" /> + <w:lsdException w:name="Plain Table 4" w:uiPriority="44" /> + <w:lsdException w:name="Plain Table 5" w:uiPriority="45" /> + <w:lsdException w:name="Grid Table Light" w:uiPriority="40" /> + <w:lsdException w:name="Grid Table 1 Light" w:uiPriority="46" /> + <w:lsdException w:name="Grid Table 2" w:uiPriority="47" /> + <w:lsdException w:name="Grid Table 3" w:uiPriority="48" /> + <w:lsdException w:name="Grid Table 4" w:uiPriority="49" /> + <w:lsdException w:name="Grid Table 5 Dark" w:uiPriority="50" /> + <w:lsdException w:name="Grid Table 6 Colorful" w:uiPriority="51" /> + <w:lsdException w:name="Grid Table 7 Colorful" w:uiPriority="52" /> + <w:lsdException w:name="Grid Table 1 Light Accent 1" w:uiPriority="46" /> + <w:lsdException w:name="Grid Table 2 Accent 1" w:uiPriority="47" /> + <w:lsdException w:name="Grid Table 3 Accent 1" w:uiPriority="48" /> + <w:lsdException w:name="Grid Table 4 Accent 1" w:uiPriority="49" /> + <w:lsdException w:name="Grid Table 5 Dark Accent 1" w:uiPriority="50" /> + <w:lsdException w:name="Grid Table 6 Colorful Accent 1" w:uiPriority="51" /> + <w:lsdException w:name="Grid Table 7 Colorful Accent 1" w:uiPriority="52" /> + <w:lsdException w:name="Grid Table 1 Light Accent 2" w:uiPriority="46" /> + <w:lsdException w:name="Grid Table 2 Accent 2" w:uiPriority="47" /> + <w:lsdException w:name="Grid Table 3 Accent 2" w:uiPriority="48" /> + <w:lsdException w:name="Grid Table 4 Accent 2" w:uiPriority="49" /> + <w:lsdException w:name="Grid Table 5 Dark Accent 2" w:uiPriority="50" /> + <w:lsdException w:name="Grid Table 6 Colorful Accent 2" w:uiPriority="51" /> + <w:lsdException w:name="Grid Table 7 Colorful Accent 2" w:uiPriority="52" /> + <w:lsdException w:name="Grid Table 1 Light Accent 3" w:uiPriority="46" /> + <w:lsdException w:name="Grid Table 2 Accent 3" w:uiPriority="47" /> + <w:lsdException w:name="Grid Table 3 Accent 3" w:uiPriority="48" /> + <w:lsdException w:name="Grid Table 4 Accent 3" w:uiPriority="49" /> + <w:lsdException w:name="Grid Table 5 Dark Accent 3" w:uiPriority="50" /> + <w:lsdException w:name="Grid Table 6 Colorful Accent 3" w:uiPriority="51" /> + <w:lsdException w:name="Grid Table 7 Colorful Accent 3" w:uiPriority="52" /> + <w:lsdException w:name="Grid Table 1 Light Accent 4" w:uiPriority="46" /> + <w:lsdException w:name="Grid Table 2 Accent 4" w:uiPriority="47" /> + <w:lsdException w:name="Grid Table 3 Accent 4" w:uiPriority="48" /> + <w:lsdException w:name="Grid Table 4 Accent 4" w:uiPriority="49" /> + <w:lsdException w:name="Grid Table 5 Dark Accent 4" w:uiPriority="50" /> + <w:lsdException w:name="Grid Table 6 Colorful Accent 4" w:uiPriority="51" /> + <w:lsdException w:name="Grid Table 7 Colorful Accent 4" w:uiPriority="52" /> + <w:lsdException w:name="Grid Table 1 Light Accent 5" w:uiPriority="46" /> + <w:lsdException w:name="Grid Table 2 Accent 5" w:uiPriority="47" /> + <w:lsdException w:name="Grid Table 3 Accent 5" w:uiPriority="48" /> + <w:lsdException w:name="Grid Table 4 Accent 5" w:uiPriority="49" /> + <w:lsdException w:name="Grid Table 5 Dark Accent 5" w:uiPriority="50" /> + <w:lsdException w:name="Grid Table 6 Colorful Accent 5" w:uiPriority="51" /> + <w:lsdException w:name="Grid Table 7 Colorful Accent 5" w:uiPriority="52" /> + <w:lsdException w:name="Grid Table 1 Light Accent 6" w:uiPriority="46" /> + <w:lsdException w:name="Grid Table 2 Accent 6" w:uiPriority="47" /> + <w:lsdException w:name="Grid Table 3 Accent 6" w:uiPriority="48" /> + <w:lsdException w:name="Grid Table 4 Accent 6" w:uiPriority="49" /> + <w:lsdException w:name="Grid Table 5 Dark Accent 6" w:uiPriority="50" /> + <w:lsdException w:name="Grid Table 6 Colorful Accent 6" w:uiPriority="51" /> + <w:lsdException w:name="Grid Table 7 Colorful Accent 6" w:uiPriority="52" /> + <w:lsdException w:name="List Table 1 Light" w:uiPriority="46" /> + <w:lsdException w:name="List Table 2" w:uiPriority="47" /> + <w:lsdException w:name="List Table 3" w:uiPriority="48" /> + <w:lsdException w:name="List Table 4" w:uiPriority="49" /> + <w:lsdException w:name="List Table 5 Dark" w:uiPriority="50" /> + <w:lsdException w:name="List Table 6 Colorful" w:uiPriority="51" /> + <w:lsdException w:name="List Table 7 Colorful" w:uiPriority="52" /> + <w:lsdException w:name="List Table 1 Light Accent 1" w:uiPriority="46" /> + <w:lsdException w:name="List Table 2 Accent 1" w:uiPriority="47" /> + <w:lsdException w:name="List Table 3 Accent 1" w:uiPriority="48" /> + <w:lsdException w:name="List Table 4 Accent 1" w:uiPriority="49" /> + <w:lsdException w:name="List Table 5 Dark Accent 1" w:uiPriority="50" /> + <w:lsdException w:name="List Table 6 Colorful Accent 1" w:uiPriority="51" /> + <w:lsdException w:name="List Table 7 Colorful Accent 1" w:uiPriority="52" /> + <w:lsdException w:name="List Table 1 Light Accent 2" w:uiPriority="46" /> + <w:lsdException w:name="List Table 2 Accent 2" w:uiPriority="47" /> + <w:lsdException w:name="List Table 3 Accent 2" w:uiPriority="48" /> + <w:lsdException w:name="List Table 4 Accent 2" w:uiPriority="49" /> + <w:lsdException w:name="List Table 5 Dark Accent 2" w:uiPriority="50" /> + <w:lsdException w:name="List Table 6 Colorful Accent 2" w:uiPriority="51" /> + <w:lsdException w:name="List Table 7 Colorful Accent 2" w:uiPriority="52" /> + <w:lsdException w:name="List Table 1 Light Accent 3" w:uiPriority="46" /> + <w:lsdException w:name="List Table 2 Accent 3" w:uiPriority="47" /> + <w:lsdException w:name="List Table 3 Accent 3" w:uiPriority="48" /> + <w:lsdException w:name="List Table 4 Accent 3" w:uiPriority="49" /> + <w:lsdException w:name="List Table 5 Dark Accent 3" w:uiPriority="50" /> + <w:lsdException w:name="List Table 6 Colorful Accent 3" w:uiPriority="51" /> + <w:lsdException w:name="List Table 7 Colorful Accent 3" w:uiPriority="52" /> + <w:lsdException w:name="List Table 1 Light Accent 4" w:uiPriority="46" /> + <w:lsdException w:name="List Table 2 Accent 4" w:uiPriority="47" /> + <w:lsdException w:name="List Table 3 Accent 4" w:uiPriority="48" /> + <w:lsdException w:name="List Table 4 Accent 4" w:uiPriority="49" /> + <w:lsdException w:name="List Table 5 Dark Accent 4" w:uiPriority="50" /> + <w:lsdException w:name="List Table 6 Colorful Accent 4" w:uiPriority="51" /> + <w:lsdException w:name="List Table 7 Colorful Accent 4" w:uiPriority="52" /> + <w:lsdException w:name="List Table 1 Light Accent 5" w:uiPriority="46" /> + <w:lsdException w:name="List Table 2 Accent 5" w:uiPriority="47" /> + <w:lsdException w:name="List Table 3 Accent 5" w:uiPriority="48" /> + <w:lsdException w:name="List Table 4 Accent 5" w:uiPriority="49" /> + <w:lsdException w:name="List Table 5 Dark Accent 5" w:uiPriority="50" /> + <w:lsdException w:name="List Table 6 Colorful Accent 5" w:uiPriority="51" /> + <w:lsdException w:name="List Table 7 Colorful Accent 5" w:uiPriority="52" /> + <w:lsdException w:name="List Table 1 Light Accent 6" w:uiPriority="46" /> + <w:lsdException w:name="List Table 2 Accent 6" w:uiPriority="47" /> + <w:lsdException w:name="List Table 3 Accent 6" w:uiPriority="48" /> + <w:lsdException w:name="List Table 4 Accent 6" w:uiPriority="49" /> + <w:lsdException w:name="List Table 5 Dark Accent 6" w:uiPriority="50" /> + <w:lsdException w:name="List Table 6 Colorful Accent 6" w:uiPriority="51" /> + <w:lsdException w:name="List Table 7 Colorful Accent 6" w:uiPriority="52" /> + <w:lsdException w:name="Mention" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Smart Hyperlink" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Hashtag" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Unresolved Mention" w:semiHidden="1" w:unhideWhenUsed="1" /> + <w:lsdException w:name="Smart Link" w:semiHidden="1" w:unhideWhenUsed="1" /> + </w:latentStyles> + <w:style w:type="paragraph" w:default="1" w:styleId="a"> + <w:name w:val="Normal" /> + <w:qFormat /> + <w:pPr> + <w:widowControl w:val="0" /> + <w:jc w:val="both" /> + </w:pPr> + <w:rPr> + <w:kern w:val="2" /> + <w:sz w:val="21" /> + <w:szCs w:val="24" /> + </w:rPr> + </w:style> + <w:style w:type="paragraph" w:styleId="2"> + <w:name w:val="heading 2" /> + <w:basedOn w:val="a" /> + <w:next w:val="a" /> + <w:link w:val="20" /> + <w:uiPriority w:val="9" /> + <w:qFormat /> + <w:pPr> + <w:keepNext /> + <w:keepLines /> + <w:spacing w:before="260" w:after="260" w:line="416" w:lineRule="auto" /> + <w:outlineLvl w:val="1" /> + </w:pPr> + <w:rPr> + <w:rFonts w:ascii="Cambria" w:hAnsi="Cambria" /> + <w:b /> + <w:bCs /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + </w:style> + <w:style w:type="character" w:default="1" w:styleId="a0"> + <w:name w:val="Default Paragraph Font" /> + <w:link w:val="CharCharCharCharCharCharCharCharChar" /> + <w:uiPriority w:val="1" /> + <w:unhideWhenUsed /> + </w:style> + <w:style w:type="table" w:default="1" w:styleId="a1"> + <w:name w:val="Normal Table" /> + <w:uiPriority w:val="99" /> + <w:unhideWhenUsed /> + <w:qFormat /> + <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="numbering" w:default="1" w:styleId="a2"> + <w:name w:val="No List" /> + <w:uiPriority w:val="99" /> + <w:semiHidden /> + <w:unhideWhenUsed /> + </w:style> + <w:style w:type="character" w:customStyle="1" w:styleId="20"> + <w:name w:val="标题 2 字符" /> + <w:link w:val="2" /> + <w:uiPriority w:val="9" /> + <w:semiHidden /> + <w:rPr> + <w:rFonts w:ascii="Cambria" w:eastAsia="宋体" w:hAnsi="Cambria" w:cs="Times New Roman" /> + <w:b /> + <w:bCs /> + <w:sz w:val="32" /> + <w:szCs w:val="32" /> + </w:rPr> + </w:style> + <w:style w:type="paragraph" w:styleId="a3"> + <w:name w:val="Date" /> + <w:basedOn w:val="a" /> + <w:next w:val="a" /> + <w:pPr> + <w:ind w:leftChars="2500" w:left="100" /> + </w:pPr> + </w:style> + <w:style w:type="paragraph" w:styleId="a4"> + <w:name w:val="footer" /> + <w:basedOn w:val="a" /> + <w:link w:val="a5" /> + <w:uiPriority w:val="99" /> + <w:unhideWhenUsed /> + <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:sz w:val="18" /> + <w:szCs w:val="18" /> + </w:rPr> + </w:style> + <w:style w:type="character" w:customStyle="1" w:styleId="a5"> + <w:name w:val="页脚 字符" /> + <w:link w:val="a4" /> + <w:uiPriority w:val="99" /> + <w:rPr> + <w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" /> + <w:kern w:val="2" /> + <w:sz w:val="18" /> + <w:szCs w:val="18" /> + </w:rPr> + </w:style> + <w:style w:type="paragraph" w:styleId="a6"> + <w:name w:val="header" /> + <w:basedOn w:val="a" /> + <w:link w:val="a7" /> + <w:uiPriority w:val="99" /> + <w:unhideWhenUsed /> + <w:pPr> + <w:pBdr> + <w:bottom w:val="single" w:sz="6" w:space="1" w:color="auto" /> + </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:sz w:val="18" /> + <w:szCs w:val="18" /> + </w:rPr> + </w:style> + <w:style w:type="character" w:customStyle="1" w:styleId="a7"> + <w:name w:val="页眉 字符" /> + <w:link w:val="a6" /> + <w:uiPriority w:val="99" /> + <w:rPr> + <w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" /> + <w:kern w:val="2" /> + <w:sz w:val="18" /> + <w:szCs w:val="18" /> + </w:rPr> + </w:style> + <w:style w:type="paragraph" w:styleId="a8"> + <w:name w:val="Normal (Web)" /> + <w:basedOn w:val="a" /> + <w:uiPriority w:val="99" /> + <w:unhideWhenUsed /> + <w:pPr> + <w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" /> + <w:jc w:val="left" /> + </w:pPr> + <w:rPr> + <w:kern w:val="0" /> + <w:sz w:val="24" /> + </w:rPr> + </w:style> + <w:style w:type="paragraph" w:styleId="a9"> + <w:name w:val="Title" /> + <w:basedOn w:val="2" /> + <w:next w:val="a" /> + <w:link w:val="aa" /> + <w:qFormat /> + <w:pPr> + <w:keepNext w:val="0" /> + <w:keepLines w:val="0" /> + <w:spacing w:before="0" w:after="0" w:line="240" w:lineRule="auto" /> + <w:jc w:val="center" /> + </w:pPr> + <w:rPr> + <w:rFonts w:ascii="Times New Roman" w:eastAsia="华文中宋" w:hAnsi="Times New Roman" /> + <w:color w:val="FF0000" /> + <w:w w:val="62" /> + <w:kern w:val="0" /> + <w:sz w:val="52" /> + <w:szCs w:val="24" /> + <w:fitText w:val="7769" /> + </w:rPr> + </w:style> + <w:style w:type="character" w:customStyle="1" w:styleId="aa"> + <w:name w:val="标题 字符" /> + <w:link w:val="a9" /> + <w:rPr> + <w:rFonts w:ascii="Times New Roman" w:eastAsia="华文中宋" w:hAnsi="Times New Roman" w:cs="Times New Roman" /> + <w:b /> + <w:bCs /> + <w:color w:val="FF0000" /> + <w:w w:val="62" /> + <w:kern w:val="0" /> + <w:sz w:val="52" /> + <w:szCs w:val="24" /> + <w:fitText w:val="7769" /> + </w:rPr> + </w:style> + <w:style w:type="paragraph" w:customStyle="1" w:styleId="CharCharCharCharCharCharCharCharChar"> + <w:name w:val=" Char Char Char Char Char Char Char Char Char" /> + <w:basedOn w:val="a" /> + <w:link w:val="a0" /> + </w:style> + <w:style w:type="paragraph" w:customStyle="1" w:styleId="ParaChar"> + <w:name w:val="默认段落字体 Para Char" /> + <w:basedOn w:val="a" /> + <w:rPr> + <w:szCs w:val="20" /> + </w:rPr> + </w:style> + <w:style w:type="paragraph" w:customStyle="1" w:styleId="CharCharCharCharCharCharCharCharChar0"> + <w:name w:val="Char Char Char Char Char Char Char Char Char" /> + <w:basedOn w:val="a" /> + </w:style> + </w:styles> + </pkg:xmlData> + </pkg:part> + <pkg:part pkg:name="/word/webSettings.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"> + <pkg:xmlData> + <w:webSettings 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" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh"> + <w:encoding w:val="utf-8" /> + <w:optimizeForBrowser /> + <w:allowPNG /> + </w:webSettings> + </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" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh"> + <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="E0002EFF" w:usb1="C000785B" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000" /> + </w:font> + <w:font w:name="宋体"> + <w:altName w:val="SimSun" /> + <w:panose1 w:val="02010600030101010101" /> + <w:charset w:val="86" /> + <w:family w:val="auto" /> + <w:pitch w:val="variable" /> + <w:sig w:usb0="00000203" w:usb1="288F0000" w:usb2="00000016" w:usb3="00000000" w:csb0="00040001" w:csb1="00000000" /> + </w:font> + <w:font w:name="Cambria"> + <w:panose1 w:val="02040503050406030204" /> + <w:charset w:val="00" /> + <w:family w:val="roman" /> + <w:pitch w:val="variable" /> + <w:sig w:usb0="E00006FF" w:usb1="420024FF" w:usb2="02000000" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000" /> + </w:font> + <w:font w:name="华文中宋"> + <w:panose1 w:val="02010600040101010101" /> + <w:charset w:val="86" /> + <w:family w:val="auto" /> + <w:pitch w:val="variable" /> + <w:sig w:usb0="00000287" w:usb1="080F0000" w:usb2="00000010" w:usb3="00000000" w:csb0="0004009F" w:csb1="00000000" /> + </w:font> + <w:font w:name="仿宋_GB2312"> + <w:altName w:val="仿宋" /> + <w:charset w:val="86" /> + <w:family w:val="modern" /> + <w:pitch w:val="default" /> + <w:sig w:usb0="00000000" w:usb1="00000000" w:usb2="00000000" w:usb3="00000000" w:csb0="00040000" w:csb1="00000000" /> + </w:font> + <w:font w:name="等线 Light"> + <w:panose1 w:val="02010600030101010101" /> + <w:charset w:val="86" /> + <w:family w:val="auto" /> + <w:pitch w:val="variable" /> + <w:sig w:usb0="A00002BF" w:usb1="38CF7CFA" w:usb2="00000016" w:usb3="00000000" w:csb0="0004000F" w:csb1="00000000" /> + </w:font> + <w:font w:name="等线"> + <w:altName w:val="DengXian" /> + <w:panose1 w:val="02010600030101010101" /> + <w:charset w:val="86" /> + <w:family w:val="auto" /> + <w:pitch w:val="variable" /> + <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="/docProps/core.xml" pkg:contentType="application/vnd.openxmlformats-package.core-properties+xml" pkg:padding="256"> + <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"> + <dc:title /> + <dc:subject /> + <dc:creator>qiu</dc:creator> + <cp:keywords /> + <dc:description /> + <cp:lastModifiedBy>Administrator</cp:lastModifiedBy> + <cp:revision>2</cp:revision> + <cp:lastPrinted>2022-08-21T18:41:00Z</cp:lastPrinted> + <dcterms:created xsi:type="dcterms:W3CDTF">2023-08-16T06:39:00Z</dcterms:created> + <dcterms:modified xsi:type="dcterms:W3CDTF">2023-08-16T06:39:00Z</dcterms:modified> + <cp:category /> + </cp:coreProperties> + </pkg:xmlData> + </pkg:part> + <pkg:part pkg:name="/docProps/app.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.extended-properties+xml" pkg:padding="256"> + <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> + <TotalTime>12</TotalTime> + <Pages>1</Pages> + <Words>75</Words> + <Characters>429</Characters> + <Application>Microsoft Office Word</Application> + <DocSecurity>0</DocSecurity> + <PresentationFormat /> + <Lines>3</Lines> + <Paragraphs>1</Paragraphs> + <Slides>0</Slides> + <Notes>0</Notes> + <HiddenSlides>0</HiddenSlides> + <MMClips>0</MMClips> + <ScaleCrop>false</ScaleCrop> + <Manager /> + <Company>Hewlett-Packard Company</Company> + <LinksUpToDate>false</LinksUpToDate> + <CharactersWithSpaces>503</CharactersWithSpaces> + <SharedDoc>false</SharedDoc> + <HyperlinksChanged>false</HyperlinksChanged> + <AppVersion>16.0000</AppVersion> + </Properties> + </pkg:xmlData> + </pkg:part> + <pkg:part pkg:name="/docProps/custom.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.custom-properties+xml" pkg:padding="256"> + <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-5.5.1.7991</vt:lpwstr> + </property> + <property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="3" name="ICV"> + <vt:lpwstr>29B7A0F295F2755FE1ACD56452E16FD8_43</vt:lpwstr> + </property> + </Properties> + </pkg:xmlData> + </pkg:part> +</pkg:package> \ No newline at end of file -- Gitblit v1.9.2