123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 |
- package com.ruoyi.project.pssr.controller;
- import com.ruoyi.common.utils.poi.ExcelUtil;
- import com.ruoyi.framework.aspectj.lang.annotation.Log;
- import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
- import com.ruoyi.framework.web.controller.BaseController;
- import com.ruoyi.framework.web.domain.AjaxResult;
- import com.ruoyi.framework.web.page.TableDataInfo;
- import com.ruoyi.project.pssr.domain.*;
- import com.ruoyi.project.pssr.service.*;
- import com.ruoyi.project.reliability.domain.TSafetyvavle;
- import com.ruoyi.project.reliability.service.ITSafetyvavleService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.*;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- * PSSRController
- *
- * @author ssy
- * @date 2024-09-18
- */
- @RestController
- @RequestMapping("/pssr/aboveall")
- public class TPssrAboveallController extends BaseController {
- @Autowired
- private ITPssrAboveallService tPssrAboveallService;
- @Autowired
- private ITPssrSubcontentService tPssrSubcontentService;
- @Autowired
- private ITPssrPatrolService tPssrPatrolService;
- @Autowired
- private ITPssrMaterialService tPssrMaterialService;
- @Autowired
- private ITPssrMaterialRawService tPssrMaterialRawService;
- @Autowired
- private ITPssrMocService tPssrMocService;
- @Autowired
- private ITSafetyvavleService tSafetyvavleService;
- @Autowired
- private ITPssrSafetyValveService tPssrSafetyValveService;
- @Autowired
- private ITPssrPublicService tPssrPublicService;
- @Autowired
- private ITPssrTorchvocService tPssrTorchvocService;
- @Autowired
- private ITPssrLightingService tPssrLightingService;
- @Autowired
- private ITPssrPowerService tPssrPowerService;
- @Autowired
- private TPssrApproveController tPssrApproveController;
- /**
- * 查询PSSR列表
- */
- @PreAuthorize("@ss.hasPermi('pssr:aboveall:list')")
- @GetMapping("/list")
- public TableDataInfo list(TPssrAboveall tPssrAboveall) {
- startPage();
- List<TPssrAboveall> list = tPssrAboveallService.selectTPssrAboveallList(tPssrAboveall);
- return getDataTable(list);
- }
- /**
- * 导出PSSR列表
- */
- @PreAuthorize("@ss.hasPermi('pssr:aboveall:export')")
- @Log(title = "PSSR", businessType = BusinessType.EXPORT)
- @GetMapping("/export")
- public AjaxResult export(TPssrAboveall tPssrAboveall) {
- List<TPssrAboveall> list = tPssrAboveallService.selectTPssrAboveallList(tPssrAboveall);
- ExcelUtil<TPssrAboveall> util = new ExcelUtil<TPssrAboveall>(TPssrAboveall.class);
- return util.exportExcel(list, "aboveall");
- }
- /**
- * 获取PSSR详细信息
- */
- @PreAuthorize("@ss.hasPermi('pssr:aboveall:query')")
- @GetMapping(value = "/{id}")
- public AjaxResult getInfo(@PathVariable("id") Long id) {
- return AjaxResult.success(tPssrAboveallService.selectTPssrAboveallById(id));
- }
- /**
- * 新增PSSR
- */
- @PreAuthorize("@ss.hasPermi('pssr:aboveall:add')")
- @Log(title = "PSSR", businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody TPssrAboveall tPssrAboveall) {
- tPssrAboveallService.insertTPssrAboveall(tPssrAboveall);//新增主表数据
- String userId = getUserId().toString();
- //新增子表数据
- new Thread(() -> {
- for (TPssrSubcontent subcontent : tPssrAboveall.getSubcontents()) {
- if (subcontent.getStatus() == 1) {
- subcontent.setAboveallId(tPssrAboveall.getId());//主表id
- subcontent.setRegion(tPssrAboveall.getRegion());
- subcontent.setUnit(tPssrAboveall.getUnit());
- subcontent.setUnitDes(tPssrAboveall.getUnitDes());
- subcontent.setApproveStatus(0L);
- subcontent.setCreatedate(new Date());
- subcontent.setCreaterCode(userId);
- tPssrSubcontentService.insertTPssrSubcontent(subcontent);
- if (subcontent.getForShort().equals("xqf")) {
- List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
- // 手提式/小推车式灭火器/灭火器材箱检查记录,1
- tPssrPatrols.add(getEntity(1L, subcontent.getId()));
- // 消防水炮检查记录,2
- tPssrPatrols.add(getEntity(2L, subcontent.getId()));
- // 地上消火栓检查记录,3
- tPssrPatrols.add(getEntity(3L, subcontent.getId()));
- // 消防水带箱检查记录,4
- tPssrPatrols.add(getEntity(4L, subcontent.getId()));
- // 消防竖管检查记录,5
- tPssrPatrols.add(getEntity(5L, subcontent.getId()));
- // 自动喷淋灭火系统检查记录,6
- tPssrPatrols.add(getEntity(6L, subcontent.getId()));
- // 应急事故柜检查记录,7
- tPssrPatrols.add(getEntity(7L, subcontent.getId()));
- // 现场可燃气体检测器/火灾报警系统检查记录,8
- tPssrPatrols.add(getEntity(8L, subcontent.getId()));
- // CO2气体保护系统检查记录,9
- tPssrPatrols.add(getEntity(9L, subcontent.getId()));
- // 淋浴洗眼器检查记录,12
- tPssrPatrols.add(getEntity(12L, subcontent.getId()));
- // 应急沙箱检查记录,13
- tPssrPatrols.add(getEntity(13L, subcontent.getId()));
- // 常闭式防爆门/防火门检查记录,14
- tPssrPatrols.add(getEntity(14L, subcontent.getId()));
- // 风向标/风向袋/新风系统正压计检查记录,15
- tPssrPatrols.add(getEntity(15L, subcontent.getId()));
- // 蒸汽幕检查记录,16
- tPssrPatrols.add(getEntity(16L, subcontent.getId()));
- // 急救箱
- tPssrPatrols.add(getEntity(27L, subcontent.getId()));
- for (TPssrPatrol pssrPatrol : tPssrPatrols) {
- tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
- }
- TPssrPatrol query = new TPssrPatrol();
- query.setSubId(subcontent.getId());
- boolean flag = true;
- for (TPssrPatrol patrol : tPssrPatrolService.selectTPssrPatrolList(query)) {
- if (patrol.getApproveStatus()!=2){
- flag = false;
- }
- }
- if (flag){
- tPssrApproveController.doApprove(subcontent.getId());
- }
- } else if (subcontent.getForShort().equals("txjk")) {
- List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
- // PAGA系统检查记录,10
- tPssrPatrols.add(getEntity(10L, subcontent.getId()));
- // CCTV系统检查记录,11
- tPssrPatrols.add(getEntity(11L, subcontent.getId()));
- for (TPssrPatrol pssrPatrol : tPssrPatrols) {
- tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
- }
- TPssrPatrol query = new TPssrPatrol();
- query.setSubId(subcontent.getId());
- boolean flag = true;
- for (TPssrPatrol patrol : tPssrPatrolService.selectTPssrPatrolList(query)) {
- if (patrol.getApproveStatus()!=2){
- flag = false;
- }
- }
- if (flag){
- tPssrApproveController.doApprove(subcontent.getId());
- }
- } else if (subcontent.getForShort().equals("bxsjcy")) {
- List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
- // 四合一/苯系物/硫化氢/二氧化碳/射线一氧化碳检测仪检查记录,18
- tPssrPatrols.add(getEntity(18L, subcontent.getId()));
- for (TPssrPatrol pssrPatrol : tPssrPatrols) {
- tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
- }
- TPssrPatrol query = new TPssrPatrol();
- query.setSubId(subcontent.getId());
- boolean flag = true;
- for (TPssrPatrol patrol : tPssrPatrolService.selectTPssrPatrolList(query)) {
- if (patrol.getApproveStatus()!=2){
- flag = false;
- }
- }
- if (flag){
- tPssrApproveController.doApprove(subcontent.getId());
- }
- } else if (subcontent.getForShort().equals("yfl")) {
- genYfl(subcontent.getId(), userId);
- } else if (subcontent.getForShort().equals("aqss")) {
- genAqf(subcontent, userId);
- } else if (subcontent.getForShort().equals("gygc")) {
- genGygc(subcontent.getId(), userId);
- } else if (subcontent.getForShort().equals("hbss")) {
- genHbss(subcontent.getId(), userId);
- } else if (subcontent.getForShort().equals("zmdbr")) {
- genZmdbr(subcontent.getId(), userId);
- } else if (subcontent.getForShort().equals("lsdy")) {
- genLsdy(subcontent.getId(), userId);
- }
- }
- }
- }, "新增子表数据").start();
- return AjaxResult.success();
- }
- /**
- * 生成临时电源数据
- */
- private void genLsdy(Long subId, String userId) {
- tPssrPowerService.insertTPssrPower(new TPssrPower(subId, "现场电源插座上无接临时用电设备、临时线路。", new Date(), userId));
- tPssrPowerService.insertTPssrPower(new TPssrPower(subId, "现场电源插座外观完好,无破损,插座盖子上紧,无脱落。", new Date(), userId));
- }
- /**
- * 生成照明、电伴热数据
- */
- private void genZmdbr(Long subId, String userId) {
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯外观完好,干净,无破损。", "1", userId, new Date()));
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯无锈蚀。", "1", userId, new Date()));
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯具固定牢固,无松动。", "1", userId, new Date()));
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明导线完好,无破损。", "1", userId, new Date()));
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明开关完好。", "1", userId, new Date()));
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明设备可以正常打开或者关闭。", "1", userId, new Date()));
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "现场电伴热带无破损断裂,无变形", "2", userId, new Date()));
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "电伴热带与管道设备紧密贴合,无缝隙", "2", userId, new Date()));
- tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "电源接线盒牢固密封,接线端子无松动锈蚀。", "2", userId, new Date()));
- }
- /**
- * 生成环保设施数据
- */
- private void genHbss(Long subId, String userId) {
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统检修时所加装的盲板已拆除。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统已完成氮气置换,氧含量<0.2%。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "公用工程(消防水、仪表风、氮气、电、中、低压蒸汽等)已投用或具备使用条件。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统的所有仪表功能检查正常。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬点火用燃料气已引到PCV-9994、PC-9991阀前。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "仪表空气送至PCV-9995阀前。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "加热火炬气的甲醇已充进换热器390-E-903,390-E-903的低压蒸汽管线暖管结束。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬总管分子封用氮已经投用。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "点火器装置和电视监控器等电器设备已送电,设备完好。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬消烟蒸汽已引到蒸汽调节阀前,RO-9991~3的前后闸阀全开,管线上所有疏水器均须投用。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "由LV-9990向水封罐390-V-940注生产工艺水,直到工艺水由从U形管排出。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "设定390-P-940去急冷水塔的流程,投用390-P-940自启动及停车控制器UC-9990。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "投用各火炬总管端点的吹扫气。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬长明灯点火完成,确认正常。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统可以接收装置物料排放。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统检修时所加装的盲板已拆除。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统已完成氮气置换,氧含量合格。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "公用工程(消防水、仪表风、氮气、电、中、低压蒸汽等)已投用或具备使用条件。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统的所有仪表功能检查正常。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统具备使用条件,开车流程打通,确认正常。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "按操作程序启动390-K-950,确认K950运行正常。", userId, new Date()));
- tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统运行正常,可以接收VOC排放。", userId, new Date()));
- }
- /**
- * 生成巡检数据
- */
- private TPssrPatrol getEntity(Long planType, Long subId) {
- TPssrPatrol tPssrPatrol = new TPssrPatrol();
- tPssrPatrol.setPlanType(planType);
- tPssrPatrol.setSubId(subId);
- return tPssrPatrol;
- }
- /**
- * 生成原辅料数据
- */
- private void genYfl(Long subId, String userId) {
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Electr. Power", "MWH", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "LP steam", "/", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "MP steam", "/", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "HP steam", "Ton", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Potable water", "Ton", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "production water", "Ton", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "LP fire water", "/", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "HP fire water", "/", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Cooling water", "Ton", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Demine Water", "Ton", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Nitrogen", "Nm3", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Plant Air", "Nm3", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Instrument Air", "Nm3", userId, new Date(), 0L));
- tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "WW(only quantity)", "Ton", userId, new Date(), 0L));
- tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Naphtha", "Ton", userId, new Date(), 0L));
- tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Flux Oil", "Ton", userId, new Date(), 0L));
- tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Wash Oil", "Ton", userId, new Date(), 0L));
- tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "C6-C8", "Ton", userId, new Date(), 0L));
- tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Natural Gas", "Ton", userId, new Date(), 0L));
- tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Ethylene", "Ton", userId, new Date(), 0L));
- tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Propylene", "Ton", userId, new Date(), 0L));
- tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Toluene", "Ton", userId, new Date(), 0L));
- }
- /**
- * 生成安全阀数据
- */
- private void genAqf(TPssrSubcontent subcontent, String userId) {
- for (String unit : subcontent.getUnit().split(",")) {
- TSafetyvavle query = new TSafetyvavle();
- query.setSubarea(unit);
- for (TSafetyvavle vavle : tSafetyvavleService.selectTSafetyvavleList(query)) {
- TPssrSafetyValve pssr = new TPssrSafetyValve();
- pssr.setUnit(unit);
- pssr.setSubId(subcontent.getId());
- pssr.setDevNo(vavle.getTagno());
- pssr.setInstallLocation(vavle.getPlacedesc());
- pssr.setSafetyDev(vavle.getService());
- pssr.setPidNo(vavle.getPid());
- pssr.setSetPressure(vavle.getSettingpres());
- pssr.setCreatedate(new Date());
- pssr.setCreaterCode(userId);
- tPssrSafetyValveService.insertTPssrSafetyValve(pssr);
- }
- }
- }
- /**
- * 生成公用工程数据
- */
- private void genGygc(Long subId, String userId) {
- tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统N2已投用或具备投用条件。", userId, new Date()));
- tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统IA已投用或具备投用条件。", userId, new Date()));
- tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统PA已投用或具备投用条件。", userId, new Date()));
- tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统CW已投用或具备投用条件。", userId, new Date()));
- tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统各压力等级蒸汽已投用,具备投用条件。", userId, new Date()));
- tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统各压力等级凝液已投用,具备投用条件。", userId, new Date()));
- tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统消防水已投用或具备投用条件。", userId, new Date()));
- }
- /**
- * 修改PSSR
- */
- @PreAuthorize("@ss.hasPermi('pssr:aboveall:edit')")
- @Log(title = "PSSR", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody TPssrAboveall tPssrAboveall) {
- return toAjax(tPssrAboveallService.updateTPssrAboveall(tPssrAboveall));
- }
- /**
- * 删除PSSR
- */
- @PreAuthorize("@ss.hasPermi('pssr:aboveall:remove')")
- @Log(title = "PSSR", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
- public AjaxResult remove(@PathVariable Long[] ids) {
- return toAjax(tPssrAboveallService.deleteTPssrAboveallByIds(ids));
- }
- }
|