TPssrAboveallController.java 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. package com.ruoyi.project.pssr.controller;
  2. import com.ruoyi.common.utils.poi.ExcelUtil;
  3. import com.ruoyi.framework.aspectj.lang.annotation.Log;
  4. import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
  5. import com.ruoyi.framework.web.controller.BaseController;
  6. import com.ruoyi.framework.web.domain.AjaxResult;
  7. import com.ruoyi.framework.web.page.TableDataInfo;
  8. import com.ruoyi.project.pssr.domain.*;
  9. import com.ruoyi.project.pssr.service.*;
  10. import com.ruoyi.project.reliability.domain.TSafetyvavle;
  11. import com.ruoyi.project.reliability.service.ITSafetyvavleService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.security.access.prepost.PreAuthorize;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.util.ArrayList;
  16. import java.util.Date;
  17. import java.util.List;
  18. /**
  19. * PSSRController
  20. *
  21. * @author ssy
  22. * @date 2024-09-18
  23. */
  24. @RestController
  25. @RequestMapping("/pssr/aboveall")
  26. public class TPssrAboveallController extends BaseController {
  27. @Autowired
  28. private ITPssrAboveallService tPssrAboveallService;
  29. @Autowired
  30. private ITPssrSubcontentService tPssrSubcontentService;
  31. @Autowired
  32. private ITPssrPatrolService tPssrPatrolService;
  33. @Autowired
  34. private ITPssrMaterialService tPssrMaterialService;
  35. @Autowired
  36. private ITPssrMaterialRawService tPssrMaterialRawService;
  37. @Autowired
  38. private ITPssrMocService tPssrMocService;
  39. @Autowired
  40. private ITSafetyvavleService tSafetyvavleService;
  41. @Autowired
  42. private ITPssrSafetyValveService tPssrSafetyValveService;
  43. @Autowired
  44. private ITPssrPublicService tPssrPublicService;
  45. @Autowired
  46. private ITPssrTorchvocService tPssrTorchvocService;
  47. @Autowired
  48. private ITPssrLightingService tPssrLightingService;
  49. @Autowired
  50. private ITPssrPowerService tPssrPowerService;
  51. @Autowired
  52. private TPssrApproveController tPssrApproveController;
  53. /**
  54. * 查询PSSR列表
  55. */
  56. @PreAuthorize("@ss.hasPermi('pssr:aboveall:list')")
  57. @GetMapping("/list")
  58. public TableDataInfo list(TPssrAboveall tPssrAboveall) {
  59. startPage();
  60. List<TPssrAboveall> list = tPssrAboveallService.selectTPssrAboveallList(tPssrAboveall);
  61. return getDataTable(list);
  62. }
  63. /**
  64. * 导出PSSR列表
  65. */
  66. @PreAuthorize("@ss.hasPermi('pssr:aboveall:export')")
  67. @Log(title = "PSSR", businessType = BusinessType.EXPORT)
  68. @GetMapping("/export")
  69. public AjaxResult export(TPssrAboveall tPssrAboveall) {
  70. List<TPssrAboveall> list = tPssrAboveallService.selectTPssrAboveallList(tPssrAboveall);
  71. ExcelUtil<TPssrAboveall> util = new ExcelUtil<TPssrAboveall>(TPssrAboveall.class);
  72. return util.exportExcel(list, "aboveall");
  73. }
  74. /**
  75. * 获取PSSR详细信息
  76. */
  77. @PreAuthorize("@ss.hasPermi('pssr:aboveall:query')")
  78. @GetMapping(value = "/{id}")
  79. public AjaxResult getInfo(@PathVariable("id") Long id) {
  80. return AjaxResult.success(tPssrAboveallService.selectTPssrAboveallById(id));
  81. }
  82. /**
  83. * 新增PSSR
  84. */
  85. @PreAuthorize("@ss.hasPermi('pssr:aboveall:add')")
  86. @Log(title = "PSSR", businessType = BusinessType.INSERT)
  87. @PostMapping
  88. public AjaxResult add(@RequestBody TPssrAboveall tPssrAboveall) {
  89. tPssrAboveallService.insertTPssrAboveall(tPssrAboveall);//新增主表数据
  90. String userId = getUserId().toString();
  91. //新增子表数据
  92. new Thread(() -> {
  93. for (TPssrSubcontent subcontent : tPssrAboveall.getSubcontents()) {
  94. if (subcontent.getStatus() == 1) {
  95. subcontent.setAboveallId(tPssrAboveall.getId());//主表id
  96. subcontent.setRegion(tPssrAboveall.getRegion());
  97. subcontent.setUnit(tPssrAboveall.getUnit());
  98. subcontent.setUnitDes(tPssrAboveall.getUnitDes());
  99. subcontent.setApproveStatus(0L);
  100. subcontent.setCreatedate(new Date());
  101. subcontent.setCreaterCode(userId);
  102. tPssrSubcontentService.insertTPssrSubcontent(subcontent);
  103. if (subcontent.getForShort().equals("xqf")) {
  104. List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
  105. // 手提式/小推车式灭火器/灭火器材箱检查记录,1
  106. tPssrPatrols.add(getEntity(1L, subcontent.getId()));
  107. // 消防水炮检查记录,2
  108. tPssrPatrols.add(getEntity(2L, subcontent.getId()));
  109. // 地上消火栓检查记录,3
  110. tPssrPatrols.add(getEntity(3L, subcontent.getId()));
  111. // 消防水带箱检查记录,4
  112. tPssrPatrols.add(getEntity(4L, subcontent.getId()));
  113. // 消防竖管检查记录,5
  114. tPssrPatrols.add(getEntity(5L, subcontent.getId()));
  115. // 自动喷淋灭火系统检查记录,6
  116. tPssrPatrols.add(getEntity(6L, subcontent.getId()));
  117. // 应急事故柜检查记录,7
  118. tPssrPatrols.add(getEntity(7L, subcontent.getId()));
  119. // 现场可燃气体检测器/火灾报警系统检查记录,8
  120. tPssrPatrols.add(getEntity(8L, subcontent.getId()));
  121. // CO2气体保护系统检查记录,9
  122. tPssrPatrols.add(getEntity(9L, subcontent.getId()));
  123. // 淋浴洗眼器检查记录,12
  124. tPssrPatrols.add(getEntity(12L, subcontent.getId()));
  125. // 应急沙箱检查记录,13
  126. tPssrPatrols.add(getEntity(13L, subcontent.getId()));
  127. // 常闭式防爆门/防火门检查记录,14
  128. tPssrPatrols.add(getEntity(14L, subcontent.getId()));
  129. // 风向标/风向袋/新风系统正压计检查记录,15
  130. tPssrPatrols.add(getEntity(15L, subcontent.getId()));
  131. // 蒸汽幕检查记录,16
  132. tPssrPatrols.add(getEntity(16L, subcontent.getId()));
  133. // 急救箱
  134. tPssrPatrols.add(getEntity(27L, subcontent.getId()));
  135. for (TPssrPatrol pssrPatrol : tPssrPatrols) {
  136. tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
  137. }
  138. TPssrPatrol query = new TPssrPatrol();
  139. query.setSubId(subcontent.getId());
  140. boolean flag = true;
  141. for (TPssrPatrol patrol : tPssrPatrolService.selectTPssrPatrolList(query)) {
  142. if (patrol.getApproveStatus()!=2){
  143. flag = false;
  144. }
  145. }
  146. if (flag){
  147. tPssrApproveController.doApprove(subcontent.getId());
  148. }
  149. } else if (subcontent.getForShort().equals("txjk")) {
  150. List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
  151. // PAGA系统检查记录,10
  152. tPssrPatrols.add(getEntity(10L, subcontent.getId()));
  153. // CCTV系统检查记录,11
  154. tPssrPatrols.add(getEntity(11L, subcontent.getId()));
  155. for (TPssrPatrol pssrPatrol : tPssrPatrols) {
  156. tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
  157. }
  158. TPssrPatrol query = new TPssrPatrol();
  159. query.setSubId(subcontent.getId());
  160. boolean flag = true;
  161. for (TPssrPatrol patrol : tPssrPatrolService.selectTPssrPatrolList(query)) {
  162. if (patrol.getApproveStatus()!=2){
  163. flag = false;
  164. }
  165. }
  166. if (flag){
  167. tPssrApproveController.doApprove(subcontent.getId());
  168. }
  169. } else if (subcontent.getForShort().equals("bxsjcy")) {
  170. List<TPssrPatrol> tPssrPatrols = new ArrayList<>();
  171. // 四合一/苯系物/硫化氢/二氧化碳/射线一氧化碳检测仪检查记录,18
  172. tPssrPatrols.add(getEntity(18L, subcontent.getId()));
  173. for (TPssrPatrol pssrPatrol : tPssrPatrols) {
  174. tPssrPatrolService.insertTPssrPatrol(pssrPatrol, userId);
  175. }
  176. TPssrPatrol query = new TPssrPatrol();
  177. query.setSubId(subcontent.getId());
  178. boolean flag = true;
  179. for (TPssrPatrol patrol : tPssrPatrolService.selectTPssrPatrolList(query)) {
  180. if (patrol.getApproveStatus()!=2){
  181. flag = false;
  182. }
  183. }
  184. if (flag){
  185. tPssrApproveController.doApprove(subcontent.getId());
  186. }
  187. } else if (subcontent.getForShort().equals("yfl")) {
  188. genYfl(subcontent.getId(), userId);
  189. } else if (subcontent.getForShort().equals("aqss")) {
  190. genAqf(subcontent, userId);
  191. } else if (subcontent.getForShort().equals("gygc")) {
  192. genGygc(subcontent.getId(), userId);
  193. } else if (subcontent.getForShort().equals("hbss")) {
  194. genHbss(subcontent.getId(), userId);
  195. } else if (subcontent.getForShort().equals("zmdbr")) {
  196. genZmdbr(subcontent.getId(), userId);
  197. } else if (subcontent.getForShort().equals("lsdy")) {
  198. genLsdy(subcontent.getId(), userId);
  199. }
  200. }
  201. }
  202. }, "新增子表数据").start();
  203. return AjaxResult.success();
  204. }
  205. /**
  206. * 生成临时电源数据
  207. */
  208. private void genLsdy(Long subId, String userId) {
  209. tPssrPowerService.insertTPssrPower(new TPssrPower(subId, "现场电源插座上无接临时用电设备、临时线路。", new Date(), userId));
  210. tPssrPowerService.insertTPssrPower(new TPssrPower(subId, "现场电源插座外观完好,无破损,插座盖子上紧,无脱落。", new Date(), userId));
  211. }
  212. /**
  213. * 生成照明、电伴热数据
  214. */
  215. private void genZmdbr(Long subId, String userId) {
  216. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯外观完好,干净,无破损。", "1", userId, new Date()));
  217. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯无锈蚀。", "1", userId, new Date()));
  218. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明灯具固定牢固,无松动。", "1", userId, new Date()));
  219. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明导线完好,无破损。", "1", userId, new Date()));
  220. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明开关完好。", "1", userId, new Date()));
  221. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "照明设备可以正常打开或者关闭。", "1", userId, new Date()));
  222. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "现场电伴热带无破损断裂,无变形", "2", userId, new Date()));
  223. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "电伴热带与管道设备紧密贴合,无缝隙", "2", userId, new Date()));
  224. tPssrLightingService.insertTPssrLighting(new TPssrLighting(subId, "电源接线盒牢固密封,接线端子无松动锈蚀。", "2", userId, new Date()));
  225. }
  226. /**
  227. * 生成环保设施数据
  228. */
  229. private void genHbss(Long subId, String userId) {
  230. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统检修时所加装的盲板已拆除。", userId, new Date()));
  231. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统已完成氮气置换,氧含量<0.2%。", userId, new Date()));
  232. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "公用工程(消防水、仪表风、氮气、电、中、低压蒸汽等)已投用或具备使用条件。", userId, new Date()));
  233. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统的所有仪表功能检查正常。", userId, new Date()));
  234. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬点火用燃料气已引到PCV-9994、PC-9991阀前。", userId, new Date()));
  235. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "仪表空气送至PCV-9995阀前。", userId, new Date()));
  236. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "加热火炬气的甲醇已充进换热器390-E-903,390-E-903的低压蒸汽管线暖管结束。", userId, new Date()));
  237. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬总管分子封用氮已经投用。", userId, new Date()));
  238. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "点火器装置和电视监控器等电器设备已送电,设备完好。", userId, new Date()));
  239. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬消烟蒸汽已引到蒸汽调节阀前,RO-9991~3的前后闸阀全开,管线上所有疏水器均须投用。", userId, new Date()));
  240. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "由LV-9990向水封罐390-V-940注生产工艺水,直到工艺水由从U形管排出。", userId, new Date()));
  241. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "设定390-P-940去急冷水塔的流程,投用390-P-940自启动及停车控制器UC-9990。", userId, new Date()));
  242. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "投用各火炬总管端点的吹扫气。", userId, new Date()));
  243. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬长明灯点火完成,确认正常。", userId, new Date()));
  244. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "1", "火炬系统可以接收装置物料排放。", userId, new Date()));
  245. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统检修时所加装的盲板已拆除。", userId, new Date()));
  246. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统已完成氮气置换,氧含量合格。", userId, new Date()));
  247. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "公用工程(消防水、仪表风、氮气、电、中、低压蒸汽等)已投用或具备使用条件。", userId, new Date()));
  248. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统的所有仪表功能检查正常。", userId, new Date()));
  249. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统具备使用条件,开车流程打通,确认正常。", userId, new Date()));
  250. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "按操作程序启动390-K-950,确认K950运行正常。", userId, new Date()));
  251. tPssrTorchvocService.insertTPssrTorchvoc(new TPssrTorchvoc(subId, "2", "VOC系统运行正常,可以接收VOC排放。", userId, new Date()));
  252. }
  253. /**
  254. * 生成巡检数据
  255. */
  256. private TPssrPatrol getEntity(Long planType, Long subId) {
  257. TPssrPatrol tPssrPatrol = new TPssrPatrol();
  258. tPssrPatrol.setPlanType(planType);
  259. tPssrPatrol.setSubId(subId);
  260. return tPssrPatrol;
  261. }
  262. /**
  263. * 生成原辅料数据
  264. */
  265. private void genYfl(Long subId, String userId) {
  266. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Electr. Power", "MWH", userId, new Date(), 0L));
  267. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "LP steam", "/", userId, new Date(), 0L));
  268. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "MP steam", "/", userId, new Date(), 0L));
  269. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "HP steam", "Ton", userId, new Date(), 0L));
  270. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Potable water", "Ton", userId, new Date(), 0L));
  271. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "production water", "Ton", userId, new Date(), 0L));
  272. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "LP fire water", "/", userId, new Date(), 0L));
  273. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "HP fire water", "/", userId, new Date(), 0L));
  274. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Cooling water", "Ton", userId, new Date(), 0L));
  275. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Demine Water", "Ton", userId, new Date(), 0L));
  276. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Nitrogen", "Nm3", userId, new Date(), 0L));
  277. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Plant Air", "Nm3", userId, new Date(), 0L));
  278. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "Instrument Air", "Nm3", userId, new Date(), 0L));
  279. tPssrMaterialService.insertTPssrMaterial(new TPssrMaterial(subId, "WW(only quantity)", "Ton", userId, new Date(), 0L));
  280. tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Naphtha", "Ton", userId, new Date(), 0L));
  281. tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Flux Oil", "Ton", userId, new Date(), 0L));
  282. tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Wash Oil", "Ton", userId, new Date(), 0L));
  283. tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "C6-C8", "Ton", userId, new Date(), 0L));
  284. tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Natural Gas", "Ton", userId, new Date(), 0L));
  285. tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Ethylene", "Ton", userId, new Date(), 0L));
  286. tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Propylene", "Ton", userId, new Date(), 0L));
  287. tPssrMaterialRawService.insertTPssrMaterialRaw(new TPssrMaterialRaw(subId, "Toluene", "Ton", userId, new Date(), 0L));
  288. }
  289. /**
  290. * 生成安全阀数据
  291. */
  292. private void genAqf(TPssrSubcontent subcontent, String userId) {
  293. for (String unit : subcontent.getUnit().split(",")) {
  294. TSafetyvavle query = new TSafetyvavle();
  295. query.setSubarea(unit);
  296. for (TSafetyvavle vavle : tSafetyvavleService.selectTSafetyvavleList(query)) {
  297. TPssrSafetyValve pssr = new TPssrSafetyValve();
  298. pssr.setUnit(unit);
  299. pssr.setSubId(subcontent.getId());
  300. pssr.setDevNo(vavle.getTagno());
  301. pssr.setInstallLocation(vavle.getPlacedesc());
  302. pssr.setSafetyDev(vavle.getService());
  303. pssr.setPidNo(vavle.getPid());
  304. pssr.setSetPressure(vavle.getSettingpres());
  305. pssr.setCreatedate(new Date());
  306. pssr.setCreaterCode(userId);
  307. tPssrSafetyValveService.insertTPssrSafetyValve(pssr);
  308. }
  309. }
  310. }
  311. /**
  312. * 生成公用工程数据
  313. */
  314. private void genGygc(Long subId, String userId) {
  315. tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统N2已投用或具备投用条件。", userId, new Date()));
  316. tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统IA已投用或具备投用条件。", userId, new Date()));
  317. tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统PA已投用或具备投用条件。", userId, new Date()));
  318. tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统CW已投用或具备投用条件。", userId, new Date()));
  319. tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统各压力等级蒸汽已投用,具备投用条件。", userId, new Date()));
  320. tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统各压力等级凝液已投用,具备投用条件。", userId, new Date()));
  321. tPssrPublicService.insertTPssrPublic(new TPssrPublic(subId, "公用工程系统消防水已投用或具备投用条件。", userId, new Date()));
  322. }
  323. /**
  324. * 修改PSSR
  325. */
  326. @PreAuthorize("@ss.hasPermi('pssr:aboveall:edit')")
  327. @Log(title = "PSSR", businessType = BusinessType.UPDATE)
  328. @PutMapping
  329. public AjaxResult edit(@RequestBody TPssrAboveall tPssrAboveall) {
  330. return toAjax(tPssrAboveallService.updateTPssrAboveall(tPssrAboveall));
  331. }
  332. /**
  333. * 删除PSSR
  334. */
  335. @PreAuthorize("@ss.hasPermi('pssr:aboveall:remove')")
  336. @Log(title = "PSSR", businessType = BusinessType.DELETE)
  337. @DeleteMapping("/{ids}")
  338. public AjaxResult remove(@PathVariable Long[] ids) {
  339. return toAjax(tPssrAboveallService.deleteTPssrAboveallByIds(ids));
  340. }
  341. }