From 80d33d9a3b1de21ad43843fb9fc80fa412f3881c Mon Sep 17 00:00:00 2001 From: wangyu <823267011@qq.com> Date: Thu, 28 May 2026 16:16:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E5=8F=8C=E6=9C=BA=E6=9E=B6=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E8=BD=A7=E8=BE=8A=EF=BC=8C=E8=B4=A8=E9=87=8F=EF=BC=8C?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E7=AD=89=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EqpEquipmentChecklistController.java | 71 + ...qpEquipmentInspectionRecordController.java | 71 + .../EqpEquipmentPartController.java | 71 + .../mill/controller/KlpCoilController.java | 28 + .../controller/MesRollGrindController.java | 67 + .../controller/MesRollInfoController.java | 81 + .../QcInspectionItemController.java | 48 + .../QcInspectionTaskController.java | 62 + .../controller/WmsCoilAbnormalController.java | 57 + .../mill/domain/EqpEquipmentChecklist.java | 43 + .../domain/EqpEquipmentInspectionRecord.java | 59 + .../ruoyi/mill/domain/EqpEquipmentPart.java | 31 + .../com/ruoyi/mill/domain/KlpCoilInfo.java | 21 + .../com/ruoyi/mill/domain/MesRollGrind.java | 63 + .../com/ruoyi/mill/domain/MesRollInfo.java | 73 + .../ruoyi/mill/domain/QcInspectionItem.java | 33 + .../ruoyi/mill/domain/QcInspectionTask.java | 47 + .../ruoyi/mill/domain/WmsCoilAbnormal.java | 46 + .../mapper/EqpEquipmentChecklistMapper.java | 20 + .../EqpEquipmentInspectionRecordMapper.java | 20 + .../mill/mapper/EqpEquipmentPartMapper.java | 20 + .../com/ruoyi/mill/mapper/KlpCoilMapper.java | 11 + .../ruoyi/mill/mapper/MesRollGrindMapper.java | 24 + .../ruoyi/mill/mapper/MesRollInfoMapper.java | 37 + .../mill/mapper/QcInspectionItemMapper.java | 22 + .../mill/mapper/QcInspectionTaskMapper.java | 30 + .../mill/mapper/WmsCoilAbnormalMapper.java | 24 + .../IEqpEquipmentChecklistService.java | 20 + .../IEqpEquipmentInspectionRecordService.java | 20 + .../service/IEqpEquipmentPartService.java | 20 + .../ruoyi/mill/service/IKlpCoilService.java | 8 + .../mill/service/IMesRollGrindService.java | 23 + .../mill/service/IMesRollInfoService.java | 25 + .../service/IQcInspectionItemService.java | 22 + .../service/IQcInspectionTaskService.java | 25 + .../mill/service/IWmsCoilAbnormalService.java | 22 + .../EqpEquipmentChecklistServiceImpl.java | 52 + ...pEquipmentInspectionRecordServiceImpl.java | 52 + .../impl/EqpEquipmentPartServiceImpl.java | 52 + .../mill/service/impl/KlpCoilServiceImpl.java | 22 + .../service/impl/MesRollGrindServiceImpl.java | 93 + .../service/impl/MesRollInfoServiceImpl.java | 86 + .../impl/QcInspectionItemServiceImpl.java | 54 + .../impl/QcInspectionTaskServiceImpl.java | 94 + .../impl/WmsCoilAbnormalServiceImpl.java | 88 + .../mill/EqpEquipmentChecklistMapper.xml | 106 + .../EqpEquipmentInspectionRecordMapper.xml | 115 + .../mapper/mill/EqpEquipmentPartMapper.xml | 86 + .../resources/mapper/mill/KlpCoilMapper.xml | 30 + .../mapper/mill/MesRollGrindMapper.xml | 133 + .../mapper/mill/MesRollInfoMapper.xml | 174 ++ .../mapper/mill/QcInspectionItemMapper.xml | 121 + .../mapper/mill/QcInspectionTaskMapper.xml | 182 ++ .../mapper/mill/WmsCoilAbnormalMapper.xml | 168 ++ ruoyi-ui/src/api/mill/equipmentChecklist.js | 21 + .../src/api/mill/equipmentInspectionRecord.js | 21 + ruoyi-ui/src/api/mill/equipmentPart.js | 21 + ruoyi-ui/src/api/mill/qc.js | 57 + ruoyi-ui/src/api/mill/rollGrind.js | 21 + ruoyi-ui/src/api/mill/rollInfo.js | 33 + ruoyi-ui/src/views/mill/eqp/day.vue | 160 + ruoyi-ui/src/views/mill/eqp/index.vue | 341 +++ ruoyi-ui/src/views/mill/eqp/record.vue | 300 ++ ruoyi-ui/src/views/mill/model-prediction.vue | 2594 +++++++++++++++++ ruoyi-ui/src/views/mill/qc/abnormal/index.vue | 126 + ruoyi-ui/src/views/mill/qc/task/index.vue | 211 ++ ruoyi-ui/src/views/mill/roll/grind/index.vue | 382 +++ .../src/views/mill/roll/overview/index.vue | 372 +++ sql/mill_eqp_tables.sql | 55 + 69 files changed, 7788 insertions(+) create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentChecklistController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentInspectionRecordController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentPartController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/KlpCoilController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MesRollGrindController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MesRollInfoController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/QcInspectionItemController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/QcInspectionTaskController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/controller/WmsCoilAbnormalController.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentChecklist.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentInspectionRecord.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentPart.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/KlpCoilInfo.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MesRollGrind.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MesRollInfo.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/QcInspectionItem.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/QcInspectionTask.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/domain/WmsCoilAbnormal.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentChecklistMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentInspectionRecordMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentPartMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/KlpCoilMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MesRollGrindMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MesRollInfoMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/QcInspectionItemMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/QcInspectionTaskMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/WmsCoilAbnormalMapper.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentChecklistService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentInspectionRecordService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentPartService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IKlpCoilService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMesRollGrindService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMesRollInfoService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IQcInspectionItemService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IQcInspectionTaskService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/IWmsCoilAbnormalService.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentChecklistServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentInspectionRecordServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentPartServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/KlpCoilServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MesRollGrindServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MesRollInfoServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/QcInspectionItemServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/QcInspectionTaskServiceImpl.java create mode 100644 ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/WmsCoilAbnormalServiceImpl.java create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentChecklistMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentInspectionRecordMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentPartMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/KlpCoilMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/MesRollGrindMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/MesRollInfoMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/QcInspectionItemMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/QcInspectionTaskMapper.xml create mode 100644 ruoyi-mill/src/main/resources/mapper/mill/WmsCoilAbnormalMapper.xml create mode 100644 ruoyi-ui/src/api/mill/equipmentChecklist.js create mode 100644 ruoyi-ui/src/api/mill/equipmentInspectionRecord.js create mode 100644 ruoyi-ui/src/api/mill/equipmentPart.js create mode 100644 ruoyi-ui/src/api/mill/qc.js create mode 100644 ruoyi-ui/src/api/mill/rollGrind.js create mode 100644 ruoyi-ui/src/api/mill/rollInfo.js create mode 100644 ruoyi-ui/src/views/mill/eqp/day.vue create mode 100644 ruoyi-ui/src/views/mill/eqp/index.vue create mode 100644 ruoyi-ui/src/views/mill/eqp/record.vue create mode 100644 ruoyi-ui/src/views/mill/model-prediction.vue create mode 100644 ruoyi-ui/src/views/mill/qc/abnormal/index.vue create mode 100644 ruoyi-ui/src/views/mill/qc/task/index.vue create mode 100644 ruoyi-ui/src/views/mill/roll/grind/index.vue create mode 100644 ruoyi-ui/src/views/mill/roll/overview/index.vue create mode 100644 sql/mill_eqp_tables.sql diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentChecklistController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentChecklistController.java new file mode 100644 index 00000000..fe7faf4e --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentChecklistController.java @@ -0,0 +1,71 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.mill.domain.EqpEquipmentChecklist; +import com.ruoyi.mill.service.IEqpEquipmentChecklistService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 双机架设备检验清单 + */ +@RestController +@RequestMapping("/mill/eqp/checklist") +public class EqpEquipmentChecklistController extends BaseController { + + @Autowired + private IEqpEquipmentChecklistService eqpEquipmentChecklistService; + + @PreAuthorize("@ss.hasPermi('mill:eqp:checklist:list')") + @GetMapping("/list") + public TableDataInfo list(EqpEquipmentChecklist checklist) { + startPage(); + List list = eqpEquipmentChecklistService.selectEqpChecklistList(checklist); + return getDataTable(list); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:checklist:export')") + @Log(title = "设备检验清单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EqpEquipmentChecklist checklist) { + List list = eqpEquipmentChecklistService.selectEqpChecklistList(checklist); + ExcelUtil util = new ExcelUtil<>(EqpEquipmentChecklist.class); + util.exportExcel(response, list, "设备检验清单数据"); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:checklist:query')") + @GetMapping("/{checkId}") + public AjaxResult getInfo(@PathVariable Long checkId) { + return success(eqpEquipmentChecklistService.selectEqpChecklistByCheckId(checkId)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:checklist:add')") + @Log(title = "设备检验清单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EqpEquipmentChecklist checklist) { + return toAjax(eqpEquipmentChecklistService.insertEqpChecklist(checklist)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:checklist:edit')") + @Log(title = "设备检验清单", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EqpEquipmentChecklist checklist) { + return toAjax(eqpEquipmentChecklistService.updateEqpChecklist(checklist)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:checklist:remove')") + @Log(title = "设备检验清单", businessType = BusinessType.DELETE) + @DeleteMapping("/{checkIds}") + public AjaxResult remove(@PathVariable Long[] checkIds) { + return toAjax(eqpEquipmentChecklistService.deleteEqpChecklistByCheckIds(checkIds)); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentInspectionRecordController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentInspectionRecordController.java new file mode 100644 index 00000000..8ccad324 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentInspectionRecordController.java @@ -0,0 +1,71 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.mill.domain.EqpEquipmentInspectionRecord; +import com.ruoyi.mill.service.IEqpEquipmentInspectionRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 双机架设备巡检记录 + */ +@RestController +@RequestMapping("/mill/eqp/record") +public class EqpEquipmentInspectionRecordController extends BaseController { + + @Autowired + private IEqpEquipmentInspectionRecordService eqpEquipmentInspectionRecordService; + + @PreAuthorize("@ss.hasPermi('mill:eqp:record:list')") + @GetMapping("/list") + public TableDataInfo list(EqpEquipmentInspectionRecord record) { + startPage(); + List list = eqpEquipmentInspectionRecordService.selectEqpInspectionRecordList(record); + return getDataTable(list); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:record:export')") + @Log(title = "设备巡检记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EqpEquipmentInspectionRecord record) { + List list = eqpEquipmentInspectionRecordService.selectEqpInspectionRecordList(record); + ExcelUtil util = new ExcelUtil<>(EqpEquipmentInspectionRecord.class); + util.exportExcel(response, list, "设备巡检记录数据"); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:record:query')") + @GetMapping("/{recordId}") + public AjaxResult getInfo(@PathVariable Long recordId) { + return success(eqpEquipmentInspectionRecordService.selectEqpInspectionRecordByRecordId(recordId)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:record:add')") + @Log(title = "设备巡检记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EqpEquipmentInspectionRecord record) { + return toAjax(eqpEquipmentInspectionRecordService.insertEqpInspectionRecord(record)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:record:edit')") + @Log(title = "设备巡检记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EqpEquipmentInspectionRecord record) { + return toAjax(eqpEquipmentInspectionRecordService.updateEqpInspectionRecord(record)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:record:remove')") + @Log(title = "设备巡检记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public AjaxResult remove(@PathVariable Long[] recordIds) { + return toAjax(eqpEquipmentInspectionRecordService.deleteEqpInspectionRecordByRecordIds(recordIds)); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentPartController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentPartController.java new file mode 100644 index 00000000..991038fc --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/EqpEquipmentPartController.java @@ -0,0 +1,71 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.mill.domain.EqpEquipmentPart; +import com.ruoyi.mill.service.IEqpEquipmentPartService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 双机架设备巡检部位 + */ +@RestController +@RequestMapping("/mill/eqp/part") +public class EqpEquipmentPartController extends BaseController { + + @Autowired + private IEqpEquipmentPartService eqpEquipmentPartService; + + @PreAuthorize("@ss.hasPermi('mill:eqp:part:list')") + @GetMapping("/list") + public TableDataInfo list(EqpEquipmentPart part) { + startPage(); + List list = eqpEquipmentPartService.selectEqpPartList(part); + return getDataTable(list); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:part:export')") + @Log(title = "设备巡检部位", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EqpEquipmentPart part) { + List list = eqpEquipmentPartService.selectEqpPartList(part); + ExcelUtil util = new ExcelUtil<>(EqpEquipmentPart.class); + util.exportExcel(response, list, "设备巡检部位数据"); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:part:query')") + @GetMapping("/{partId}") + public AjaxResult getInfo(@PathVariable Long partId) { + return success(eqpEquipmentPartService.selectEqpPartByPartId(partId)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:part:add')") + @Log(title = "设备巡检部位", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EqpEquipmentPart part) { + return toAjax(eqpEquipmentPartService.insertEqpPart(part)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:part:edit')") + @Log(title = "设备巡检部位", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EqpEquipmentPart part) { + return toAjax(eqpEquipmentPartService.updateEqpPart(part)); + } + + @PreAuthorize("@ss.hasPermi('mill:eqp:part:remove')") + @Log(title = "设备巡检部位", businessType = BusinessType.DELETE) + @DeleteMapping("/{partIds}") + public AjaxResult remove(@PathVariable Long[] partIds) { + return toAjax(eqpEquipmentPartService.deleteEqpPartByPartIds(partIds)); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/KlpCoilController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/KlpCoilController.java new file mode 100644 index 00000000..fcc49636 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/KlpCoilController.java @@ -0,0 +1,28 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.mill.domain.KlpCoilInfo; +import com.ruoyi.mill.service.IKlpCoilService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/mill/klpCoil") +public class KlpCoilController extends BaseController { + + @Autowired + private IKlpCoilService klpCoilService; + + @GetMapping("/queryByCoilNo") + public AjaxResult queryByCoilNo(@RequestParam String coilNo) { + KlpCoilInfo info = klpCoilService.queryByCoilNo(coilNo); + if (info == null) { + return AjaxResult.error("未找到钢卷信息:" + coilNo); + } + return AjaxResult.success(info); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MesRollGrindController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MesRollGrindController.java new file mode 100644 index 00000000..d762618c --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MesRollGrindController.java @@ -0,0 +1,67 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.mill.domain.MesRollGrind; +import com.ruoyi.mill.service.IMesRollGrindService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDate; +import java.util.List; + +/** + * 磨辊间 /mill/roll/grind + */ +@RestController +@RequestMapping("/mill/roll/grind") +public class MesRollGrindController extends BaseController { + + @Autowired + private IMesRollGrindService grindService; + + @PreAuthorize("@ss.hasPermi('mill:roll:grind:list')") + @GetMapping("/list") + public AjaxResult list(@RequestParam(required = false) Long rollId, + @RequestParam(required = false) String beginTime, + @RequestParam(required = false) String endTime) { + if (rollId != null) { + return AjaxResult.success(grindService.selectMesRollGrindByRollId(rollId)); + } + MesRollGrind query = new MesRollGrind(); + query.setBeginTime(beginTime); + query.setEndTime(endTime); + return AjaxResult.success(grindService.selectMesRollGrindList(query)); + } + + @GetMapping("/monthlyStats") + public AjaxResult monthlyStats(@RequestParam Long rollId, + @RequestParam(defaultValue = "0") int year) { + int y = year > 0 ? year : LocalDate.now().getYear(); + return AjaxResult.success(grindService.selectMonthlyStats(rollId, y)); + } + + @PreAuthorize("@ss.hasPermi('mill:roll:grind:add')") + @Log(title = "磨辊间", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody MesRollGrind grind) { + return toAjax(grindService.insertMesRollGrind(grind)); + } + + @PreAuthorize("@ss.hasPermi('mill:roll:grind:edit')") + @Log(title = "磨辊间", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody MesRollGrind grind) { + return toAjax(grindService.updateMesRollGrind(grind)); + } + + @PreAuthorize("@ss.hasPermi('mill:roll:grind:remove')") + @Log(title = "磨辊间", businessType = BusinessType.DELETE) + @DeleteMapping("/{grindId}") + public AjaxResult remove(@PathVariable Long grindId) { + return toAjax(grindService.deleteMesRollGrindById(grindId)); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MesRollInfoController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MesRollInfoController.java new file mode 100644 index 00000000..8dd55c67 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/MesRollInfoController.java @@ -0,0 +1,81 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.mill.domain.MesRollInfo; +import com.ruoyi.mill.service.IMesRollInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 轧辊管理 /mill/roll/info + */ +@RestController +@RequestMapping("/mill/roll/info") +public class MesRollInfoController extends BaseController { + + private static final Long DOUBLE_RACK_LINE_ID = 5L; + + @Autowired + private IMesRollInfoService rollInfoService; + + @PreAuthorize("@ss.hasPermi('mill:roll:info:list')") + @GetMapping("/list") + public TableDataInfo list(MesRollInfo rollInfo) { + rollInfo.setLineId(DOUBLE_RACK_LINE_ID); + startPage(); + List list = rollInfoService.selectMesRollInfoList(rollInfo); + return getDataTable(list); + } + + @GetMapping("/stats") + public AjaxResult stats() { + return AjaxResult.success(rollInfoService.selectStatusStats(DOUBLE_RACK_LINE_ID)); + } + + @GetMapping("/options") + public AjaxResult options(String rollType, String status) { + return AjaxResult.success(rollInfoService.selectRollNoList(DOUBLE_RACK_LINE_ID, rollType, status)); + } + + @PreAuthorize("@ss.hasPermi('mill:roll:info:query')") + @GetMapping("/{rollId}") + public AjaxResult getInfo(@PathVariable Long rollId) { + return AjaxResult.success(rollInfoService.selectMesRollInfoById(rollId)); + } + + @PreAuthorize("@ss.hasPermi('mill:roll:info:add')") + @Log(title = "轧辊管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody MesRollInfo rollInfo) { + return toAjax(rollInfoService.insertMesRollInfo(rollInfo)); + } + + @PreAuthorize("@ss.hasPermi('mill:roll:info:edit')") + @Log(title = "轧辊管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody MesRollInfo rollInfo) { + return toAjax(rollInfoService.updateMesRollInfo(rollInfo)); + } + + @PreAuthorize("@ss.hasPermi('mill:roll:info:remove')") + @Log(title = "轧辊管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{rollIds}") + public AjaxResult remove(@PathVariable Long[] rollIds) { + return toAjax(rollInfoService.deleteMesRollInfoByIds(rollIds)); + } + + @PreAuthorize("@ss.hasPermi('mill:roll:info:edit')") + @Log(title = "轧辊管理-封闭", businessType = BusinessType.UPDATE) + @PutMapping("/{rollId}/scrap") + public AjaxResult scrap(@PathVariable Long rollId) { + rollInfoService.scrapRoll(rollId); + return AjaxResult.success(); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/QcInspectionItemController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/QcInspectionItemController.java new file mode 100644 index 00000000..dbfb526b --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/QcInspectionItemController.java @@ -0,0 +1,48 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.mill.domain.QcInspectionItem; +import com.ruoyi.mill.service.IQcInspectionItemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/mill/qc/item") +public class QcInspectionItemController extends BaseController { + + @Autowired + private IQcInspectionItemService itemService; + + @PreAuthorize("@ss.hasPermi('mill:qc:task:list')") + @GetMapping("/list") + public TableDataInfo list(QcInspectionItem item) { + startPage(); + List list = itemService.selectQcInspectionItemList(item); + return getDataTable(list); + } + + @GetMapping("/byTask/{taskId}") + public AjaxResult listByTask(@PathVariable Long taskId) { + return AjaxResult.success(itemService.selectQcInspectionItemByTaskId(taskId)); + } + + @PreAuthorize("@ss.hasPermi('mill:qc:task:query')") + @GetMapping("/{itemId}") + public AjaxResult getInfo(@PathVariable Long itemId) { + return AjaxResult.success(itemService.selectQcInspectionItemById(itemId)); + } + + @Log(title = "检验项目", businessType = BusinessType.UPDATE) + @PreAuthorize("@ss.hasPermi('mill:qc:task:edit')") + @PutMapping + public AjaxResult edit(@RequestBody QcInspectionItem item) { + return toAjax(itemService.updateQcInspectionItem(item)); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/QcInspectionTaskController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/QcInspectionTaskController.java new file mode 100644 index 00000000..91ab7f90 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/QcInspectionTaskController.java @@ -0,0 +1,62 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.mill.domain.QcInspectionTask; +import com.ruoyi.mill.service.IQcInspectionTaskService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/mill/qc/task") +public class QcInspectionTaskController extends BaseController { + + @Autowired + private IQcInspectionTaskService taskService; + + @PreAuthorize("@ss.hasPermi('mill:qc:task:list')") + @GetMapping("/list") + public TableDataInfo list(QcInspectionTask task) { + startPage(); + List list = taskService.selectQcInspectionTaskListByDoubleRack(task); + return getDataTable(list); + } + + @PreAuthorize("@ss.hasPermi('mill:qc:task:query')") + @GetMapping("/{taskId}") + public AjaxResult getInfo(@PathVariable Long taskId) { + return AjaxResult.success(taskService.selectQcInspectionTaskById(taskId)); + } + + @Log(title = "检验任务", businessType = BusinessType.INSERT) + @PreAuthorize("@ss.hasPermi('mill:qc:task:add')") + @PostMapping + public AjaxResult add(@RequestBody QcInspectionTask task) { + return toAjax(taskService.insertQcInspectionTask(task)); + } + + @Log(title = "检验任务", businessType = BusinessType.UPDATE) + @PreAuthorize("@ss.hasPermi('mill:qc:task:edit')") + @PutMapping + public AjaxResult edit(@RequestBody QcInspectionTask task) { + return toAjax(taskService.updateQcInspectionTask(task)); + } + + @Log(title = "检验任务", businessType = BusinessType.DELETE) + @PreAuthorize("@ss.hasPermi('mill:qc:task:remove')") + @DeleteMapping("/{taskIds}") + public AjaxResult remove(@PathVariable Long[] taskIds) { + return toAjax(taskService.deleteQcInspectionTaskByIds(taskIds)); + } + + @GetMapping("/coils") + public AjaxResult coilList() { + return AjaxResult.success(taskService.selectDoubleRackCoilList()); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/WmsCoilAbnormalController.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/WmsCoilAbnormalController.java new file mode 100644 index 00000000..8f0d021b --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/controller/WmsCoilAbnormalController.java @@ -0,0 +1,57 @@ +package com.ruoyi.mill.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.mill.domain.WmsCoilAbnormal; +import com.ruoyi.mill.service.IWmsCoilAbnormalService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/mill/qc/abnormal") +public class WmsCoilAbnormalController extends BaseController { + + @Autowired + private IWmsCoilAbnormalService abnormalService; + + @PreAuthorize("@ss.hasPermi('mill:qc:abnormal:list')") + @GetMapping("/list") + public TableDataInfo list(WmsCoilAbnormal abnormal) { + startPage(); + List list = abnormalService.selectWmsCoilAbnormalListByDoubleRack(abnormal); + return getDataTable(list); + } + + @PreAuthorize("@ss.hasPermi('mill:qc:abnormal:query')") + @GetMapping("/{abnormalId}") + public AjaxResult getInfo(@PathVariable Long abnormalId) { + return AjaxResult.success(abnormalService.selectWmsCoilAbnormalById(abnormalId)); + } + + @Log(title = "质量异常", businessType = BusinessType.INSERT) + @PreAuthorize("@ss.hasPermi('mill:qc:abnormal:add')") + @PostMapping + public AjaxResult add(@RequestBody WmsCoilAbnormal abnormal) { + return toAjax(abnormalService.insertWmsCoilAbnormal(abnormal)); + } + + @Log(title = "质量异常", businessType = BusinessType.UPDATE) + @PreAuthorize("@ss.hasPermi('mill:qc:abnormal:edit')") + @PutMapping + public AjaxResult edit(@RequestBody WmsCoilAbnormal abnormal) { + return toAjax(abnormalService.updateWmsCoilAbnormal(abnormal)); + } + + @Log(title = "质量异常", businessType = BusinessType.DELETE) + @PreAuthorize("@ss.hasPermi('mill:qc:abnormal:remove')") + @DeleteMapping("/{abnormalIds}") + public AjaxResult remove(@PathVariable Long[] abnormalIds) { + return toAjax(abnormalService.deleteWmsCoilAbnormalByIds(abnormalIds)); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentChecklist.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentChecklist.java new file mode 100644 index 00000000..2ccfeddc --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentChecklist.java @@ -0,0 +1,43 @@ +package com.ruoyi.mill.domain; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 双机架设备检验清单 mill_eqp_checklist + */ +@Data +public class EqpEquipmentChecklist extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Excel(name = "清单ID") + private Long checkId; + + @Excel(name = "检验编号") + private String checkNo; + + @Excel(name = "巡检部位ID") + private Long partId; + + @Excel(name = "设备部件名称") + private String partName; + + @Excel(name = "检验内容") + private String checkContent; + + @Excel(name = "设备状态") + private String equipmentState; + + @Excel(name = "检验标准") + private String checkStandard; + + @Excel(name = "责任人") + private String responsiblePerson; + + @Excel(name = "备注") + private String remark; + + private String delFlag; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentInspectionRecord.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentInspectionRecord.java new file mode 100644 index 00000000..dbfdd5e6 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentInspectionRecord.java @@ -0,0 +1,59 @@ +package com.ruoyi.mill.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +/** + * 双机架设备巡检记录 mill_eqp_inspection_record + */ +@Data +public class EqpEquipmentInspectionRecord extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Excel(name = "记录ID") + private Long recordId; + + @Excel(name = "检验清单ID") + private Long checkId; + + /** 班次 1白班 2夜班 */ + @Excel(name = "班次") + private Integer shift; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "巡检时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date inspectTime; + + /** 运行状态 1正常 2故障 */ + @Excel(name = "运行状态") + private Integer runStatus; + + @Excel(name = "巡检人") + private String inspector; + + @Excel(name = "异常描述") + private String abnormalDesc; + + @Excel(name = "巡检照片") + private String photo; + + @Excel(name = "备注") + private String remark; + + private String delFlag; + + // 关联字段(查询时带出) + private Long partId; + private String checkContent; + private String checkStandard; + private String partName; + + // 时间范围查询参数 + private String startInspectTime; + private String endInspectTime; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentPart.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentPart.java new file mode 100644 index 00000000..bb6b99d8 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/EqpEquipmentPart.java @@ -0,0 +1,31 @@ +package com.ruoyi.mill.domain; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 双机架设备巡检部位 mill_eqp_part + */ +@Data +public class EqpEquipmentPart extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Excel(name = "部位ID") + private Long partId; + + @Excel(name = "巡检部位") + private String inspectPart; + + @Excel(name = "产线") + private String productionLine; + + @Excel(name = "产线段") + private String lineSection; + + @Excel(name = "备注") + private String remark; + + private String delFlag; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/KlpCoilInfo.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/KlpCoilInfo.java new file mode 100644 index 00000000..6ceb7268 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/KlpCoilInfo.java @@ -0,0 +1,21 @@ +package com.ruoyi.mill.domain; + +import lombok.Data; +import java.math.BigDecimal; + +/** 三级 WMS 钢卷信息(只读,从 klp-oa-test.wms_material_coil 查询) */ +@Data +public class KlpCoilInfo { + private Long coilId; + private String enterCoilNo; + private String currentCoilNo; + private String supplierCoilNo; + private String actualThickness; + private BigDecimal actualWidth; + private BigDecimal netWeight; + private BigDecimal grossWeight; + private BigDecimal length; + private String qualityStatus; + private String materialType; + private String temperGrade; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MesRollGrind.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MesRollGrind.java new file mode 100644 index 00000000..0ae63f45 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MesRollGrind.java @@ -0,0 +1,63 @@ +package com.ruoyi.mill.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 磨辊记录 mes_roll_grind + */ +@Data +public class MesRollGrind extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Excel(name = "磨削记录ID") + private Long grindId; + + private Long lineId; + + @Excel(name = "轧辊ID") + private Long rollId; + + @Excel(name = "轧辊编号") + private String rollNo; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "磨削时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date grindTime; + + @Excel(name = "班组") + private String team; + + @Excel(name = "磨前直径(mm)") + private BigDecimal diaBefore; + + @Excel(name = "磨后直径(mm)") + private BigDecimal diaAfter; + + @Excel(name = "磨削量(mm)") + private BigDecimal grindAmount; + + @Excel(name = "辊型") + private String rollShape; + + @Excel(name = "探伤结果") + private String flawResult; + + @Excel(name = "硬度") + private BigDecimal hardness; + + @Excel(name = "操作者") + private String operator; + + private Integer delFlag; + + // 时间范围查询 + private String beginTime; + private String endTime; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MesRollInfo.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MesRollInfo.java new file mode 100644 index 00000000..4389be25 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/MesRollInfo.java @@ -0,0 +1,73 @@ +package com.ruoyi.mill.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 轧辊库 mes_roll_info + */ +@Data +public class MesRollInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Excel(name = "轧辊ID") + private Long rollId; + + private Long lineId; + + @Excel(name = "轧辊编号") + private String rollNo; + + /** WR=工作辊 / BR=支撑辊 */ + @Excel(name = "辊型") + private String rollType; + + /** Offline / Standby / Online / Scrapped */ + @Excel(name = "状态") + private String status; + + @Excel(name = "初始辊径(mm)") + private BigDecimal initialDia; + + @Excel(name = "当前辊径(mm)") + private BigDecimal currentDia; + + @Excel(name = "最小辊径(mm)") + private BigDecimal minDia; + + @Excel(name = "粗糙度") + private BigDecimal roughness; + + @Excel(name = "凸度") + private BigDecimal crown; + + @Excel(name = "材质") + private String material; + + @Excel(name = "磨削次数") + private Integer grindCount; + + @Excel(name = "累计轧制重量(t)") + private BigDecimal totalRolledWeight; + + @Excel(name = "累计轧制长度(m)") + private BigDecimal totalRolledLength; + + @Excel(name = "累计轧制卷数") + private Integer totalRolledCount; + + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "制造日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date manufactureDate; + + @Excel(name = "厂家") + private String manufacturer; + + private Integer delFlag; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/QcInspectionItem.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/QcInspectionItem.java new file mode 100644 index 00000000..6ff76de1 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/QcInspectionItem.java @@ -0,0 +1,33 @@ +package com.ruoyi.mill.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 检验任务项目 qc_inspection_item + */ +@Data +public class QcInspectionItem extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private Long itemId; + private Long taskId; + private String itemName; + private String standardValue; + private BigDecimal upperLimit; + private BigDecimal lowerLimit; + private String unit; + private String itemType; + private String inspectValue; + private Integer isQualified; + private String judgeResult; + private String inspectUser; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date inspectTime; + private Integer delFlag; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/QcInspectionTask.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/QcInspectionTask.java new file mode 100644 index 00000000..a2734f85 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/QcInspectionTask.java @@ -0,0 +1,47 @@ +package com.ruoyi.mill.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 检验任务 qc_inspection_task + */ +@Data +public class QcInspectionTask extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private Long taskId; + private String taskCode; + private String taskType; + private String belongCompany; + private String sourceType; + private Long sourceId; + private Long schemeId; + private String schemeName; + private Integer status; + private String inspectUser; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date inspectTime; + private String auditUser; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date auditTime; + private String result; + private String remark; + private String coilIds; + private String enterCoilNos; + private String attachmentFiles; + private Integer delFlag; + + // 查询参数 + private String beginTime; + private String endTime; + private Long coilId; // 按单个 coilId 过滤 + + // 关联数据 + private List items; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/WmsCoilAbnormal.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/WmsCoilAbnormal.java new file mode 100644 index 00000000..7d9ced88 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/domain/WmsCoilAbnormal.java @@ -0,0 +1,46 @@ +package com.ruoyi.mill.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 钢卷异常 wms_coil_abnormal + */ +@Data +public class WmsCoilAbnormal extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private Long abnormalId; + private Long coilId; + private String productionLine; + private String position; + private String plateSurface; + private BigDecimal length; + private BigDecimal startPosition; + private BigDecimal endPosition; + private String defectCode; + private String defectType; + private BigDecimal defectRate; + private BigDecimal defectWeight; + private String degree; + private String judgeLevel; + private String judgeBy; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date judgeTime; + private Integer mainMark; + private Integer wholeCoilMark; + private String attachmentFiles; + private Integer delFlag; + + // 关联字段 + private String coilNo; // 从 wms_material_coil 带出 + + // 查询参数 + private String beginTime; + private String endTime; +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentChecklistMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentChecklistMapper.java new file mode 100644 index 00000000..6ec46102 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentChecklistMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.EqpEquipmentChecklist; + +import java.util.List; + +public interface EqpEquipmentChecklistMapper { + + List selectEqpChecklistList(EqpEquipmentChecklist checklist); + + EqpEquipmentChecklist selectEqpChecklistByCheckId(Long checkId); + + int insertEqpChecklist(EqpEquipmentChecklist checklist); + + int updateEqpChecklist(EqpEquipmentChecklist checklist); + + int deleteEqpChecklistByCheckId(Long checkId); + + int deleteEqpChecklistByCheckIds(Long[] checkIds); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentInspectionRecordMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentInspectionRecordMapper.java new file mode 100644 index 00000000..eb24b014 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentInspectionRecordMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.EqpEquipmentInspectionRecord; + +import java.util.List; + +public interface EqpEquipmentInspectionRecordMapper { + + List selectEqpInspectionRecordList(EqpEquipmentInspectionRecord record); + + EqpEquipmentInspectionRecord selectEqpInspectionRecordByRecordId(Long recordId); + + int insertEqpInspectionRecord(EqpEquipmentInspectionRecord record); + + int updateEqpInspectionRecord(EqpEquipmentInspectionRecord record); + + int deleteEqpInspectionRecordByRecordId(Long recordId); + + int deleteEqpInspectionRecordByRecordIds(Long[] recordIds); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentPartMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentPartMapper.java new file mode 100644 index 00000000..120864de --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/EqpEquipmentPartMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.EqpEquipmentPart; + +import java.util.List; + +public interface EqpEquipmentPartMapper { + + List selectEqpPartList(EqpEquipmentPart part); + + EqpEquipmentPart selectEqpPartByPartId(Long partId); + + int insertEqpPart(EqpEquipmentPart part); + + int updateEqpPart(EqpEquipmentPart part); + + int deleteEqpPartByPartId(Long partId); + + int deleteEqpPartByPartIds(Long[] partIds); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/KlpCoilMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/KlpCoilMapper.java new file mode 100644 index 00000000..302526cd --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/KlpCoilMapper.java @@ -0,0 +1,11 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.KlpCoilInfo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface KlpCoilMapper { + /** 根据入场钢卷号或当前钢卷号查询钢卷基础信息 */ + KlpCoilInfo selectByCoilNo(@Param("coilNo") String coilNo); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MesRollGrindMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MesRollGrindMapper.java new file mode 100644 index 00000000..e0c06cb0 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MesRollGrindMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.MesRollGrind; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +public interface MesRollGrindMapper { + + List selectMesRollGrindList(MesRollGrind grind); + + List selectMesRollGrindByRollId(@Param("rollId") Long rollId); + + MesRollGrind selectMesRollGrindById(Long grindId); + + int insertMesRollGrind(MesRollGrind grind); + + int updateMesRollGrind(MesRollGrind grind); + + int deleteMesRollGrindById(Long grindId); + + List> selectMonthlyStats(@Param("rollId") Long rollId, @Param("year") int year); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MesRollInfoMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MesRollInfoMapper.java new file mode 100644 index 00000000..32f419bd --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/MesRollInfoMapper.java @@ -0,0 +1,37 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.MesRollInfo; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +public interface MesRollInfoMapper { + + List selectMesRollInfoList(MesRollInfo rollInfo); + + MesRollInfo selectMesRollInfoById(Long rollId); + + MesRollInfo selectMesRollInfoByRollNo(@Param("rollNo") String rollNo); + + int insertMesRollInfo(MesRollInfo rollInfo); + + int updateMesRollInfo(MesRollInfo rollInfo); + + int deleteMesRollInfoById(Long rollId); + + int deleteMesRollInfoByIds(Long[] rollIds); + + List> selectStatusStats(@Param("lineId") Long lineId); + + List selectRollNoList(@Param("lineId") Long lineId, + @Param("rollType") String rollType, + @Param("status") String status); + + int updateStatusByRollNo(@Param("rollNo") String rollNo, @Param("status") String status); + + int incrementGrindCount(@Param("rollId") Long rollId, @Param("diaAfter") BigDecimal diaAfter); + + int updateCurrentDia(@Param("rollId") Long rollId, @Param("currentDia") BigDecimal currentDia); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/QcInspectionItemMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/QcInspectionItemMapper.java new file mode 100644 index 00000000..668abae2 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/QcInspectionItemMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.QcInspectionItem; + +import java.util.List; + +public interface QcInspectionItemMapper { + + List selectQcInspectionItemList(QcInspectionItem item); + + List selectQcInspectionItemByTaskId(Long taskId); + + QcInspectionItem selectQcInspectionItemById(Long itemId); + + int insertQcInspectionItem(QcInspectionItem item); + + int updateQcInspectionItem(QcInspectionItem item); + + int deleteQcInspectionItemById(Long itemId); + + int deleteQcInspectionItemByTaskId(Long taskId); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/QcInspectionTaskMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/QcInspectionTaskMapper.java new file mode 100644 index 00000000..032b37a9 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/QcInspectionTaskMapper.java @@ -0,0 +1,30 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.QcInspectionTask; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface QcInspectionTaskMapper { + + List selectQcInspectionTaskList(QcInspectionTask task); + + List selectQcInspectionTaskListByCoilIds(@Param("task") QcInspectionTask task, + @Param("coilIds") List coilIds); + + QcInspectionTask selectQcInspectionTaskById(Long taskId); + + int insertQcInspectionTask(QcInspectionTask task); + + int updateQcInspectionTask(QcInspectionTask task); + + int deleteQcInspectionTaskById(Long taskId); + + int deleteQcInspectionTaskByIds(Long[] taskIds); + + /** 获取所有 processed_coil_ids 字符串(来自双机架 action 类型) */ + List selectDoubleRackProcessedCoilIds(@Param("actionTypes") List actionTypes); + + /** 按 coilId 列表查询钢卷基本信息(coilId + current_coil_no) */ + List> selectCoilInfoByIds(@Param("coilIds") List coilIds); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/WmsCoilAbnormalMapper.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/WmsCoilAbnormalMapper.java new file mode 100644 index 00000000..1da94d00 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/mapper/WmsCoilAbnormalMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.mill.mapper; + +import com.ruoyi.mill.domain.WmsCoilAbnormal; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface WmsCoilAbnormalMapper { + + List selectWmsCoilAbnormalList(WmsCoilAbnormal abnormal); + + List selectWmsCoilAbnormalListByCoilIds(@Param("abnormal") WmsCoilAbnormal abnormal, + @Param("coilIds") List coilIds); + + WmsCoilAbnormal selectWmsCoilAbnormalById(Long abnormalId); + + int insertWmsCoilAbnormal(WmsCoilAbnormal abnormal); + + int updateWmsCoilAbnormal(WmsCoilAbnormal abnormal); + + int deleteWmsCoilAbnormalById(Long abnormalId); + + int deleteWmsCoilAbnormalByIds(Long[] abnormalIds); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentChecklistService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentChecklistService.java new file mode 100644 index 00000000..994b7f7a --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentChecklistService.java @@ -0,0 +1,20 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.EqpEquipmentChecklist; + +import java.util.List; + +public interface IEqpEquipmentChecklistService { + + List selectEqpChecklistList(EqpEquipmentChecklist checklist); + + EqpEquipmentChecklist selectEqpChecklistByCheckId(Long checkId); + + int insertEqpChecklist(EqpEquipmentChecklist checklist); + + int updateEqpChecklist(EqpEquipmentChecklist checklist); + + int deleteEqpChecklistByCheckIds(Long[] checkIds); + + int deleteEqpChecklistByCheckId(Long checkId); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentInspectionRecordService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentInspectionRecordService.java new file mode 100644 index 00000000..52c1a09f --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentInspectionRecordService.java @@ -0,0 +1,20 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.EqpEquipmentInspectionRecord; + +import java.util.List; + +public interface IEqpEquipmentInspectionRecordService { + + List selectEqpInspectionRecordList(EqpEquipmentInspectionRecord record); + + EqpEquipmentInspectionRecord selectEqpInspectionRecordByRecordId(Long recordId); + + int insertEqpInspectionRecord(EqpEquipmentInspectionRecord record); + + int updateEqpInspectionRecord(EqpEquipmentInspectionRecord record); + + int deleteEqpInspectionRecordByRecordIds(Long[] recordIds); + + int deleteEqpInspectionRecordByRecordId(Long recordId); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentPartService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentPartService.java new file mode 100644 index 00000000..4d01a509 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IEqpEquipmentPartService.java @@ -0,0 +1,20 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.EqpEquipmentPart; + +import java.util.List; + +public interface IEqpEquipmentPartService { + + List selectEqpPartList(EqpEquipmentPart part); + + EqpEquipmentPart selectEqpPartByPartId(Long partId); + + int insertEqpPart(EqpEquipmentPart part); + + int updateEqpPart(EqpEquipmentPart part); + + int deleteEqpPartByPartIds(Long[] partIds); + + int deleteEqpPartByPartId(Long partId); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IKlpCoilService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IKlpCoilService.java new file mode 100644 index 00000000..8bd92473 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IKlpCoilService.java @@ -0,0 +1,8 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.KlpCoilInfo; + +public interface IKlpCoilService { + /** 根据入场钢卷号或当前钢卷号查询三级 WMS 钢卷信息 */ + KlpCoilInfo queryByCoilNo(String coilNo); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMesRollGrindService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMesRollGrindService.java new file mode 100644 index 00000000..134511f1 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMesRollGrindService.java @@ -0,0 +1,23 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.MesRollGrind; + +import java.util.List; +import java.util.Map; + +public interface IMesRollGrindService { + + List selectMesRollGrindList(MesRollGrind grind); + + List selectMesRollGrindByRollId(Long rollId); + + MesRollGrind selectMesRollGrindById(Long grindId); + + int insertMesRollGrind(MesRollGrind grind); + + int updateMesRollGrind(MesRollGrind grind); + + int deleteMesRollGrindById(Long grindId); + + List> selectMonthlyStats(Long rollId, int year); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMesRollInfoService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMesRollInfoService.java new file mode 100644 index 00000000..81f52654 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IMesRollInfoService.java @@ -0,0 +1,25 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.MesRollInfo; + +import java.util.List; +import java.util.Map; + +public interface IMesRollInfoService { + + List selectMesRollInfoList(MesRollInfo rollInfo); + + MesRollInfo selectMesRollInfoById(Long rollId); + + int insertMesRollInfo(MesRollInfo rollInfo); + + int updateMesRollInfo(MesRollInfo rollInfo); + + int deleteMesRollInfoByIds(Long[] rollIds); + + Map selectStatusStats(Long lineId); + + List selectRollNoList(Long lineId, String rollType, String status); + + void scrapRoll(Long rollId); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IQcInspectionItemService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IQcInspectionItemService.java new file mode 100644 index 00000000..169b1476 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IQcInspectionItemService.java @@ -0,0 +1,22 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.QcInspectionItem; + +import java.util.List; + +public interface IQcInspectionItemService { + + List selectQcInspectionItemList(QcInspectionItem item); + + List selectQcInspectionItemByTaskId(Long taskId); + + QcInspectionItem selectQcInspectionItemById(Long itemId); + + int insertQcInspectionItem(QcInspectionItem item); + + int updateQcInspectionItem(QcInspectionItem item); + + int deleteQcInspectionItemById(Long itemId); + + int deleteQcInspectionItemByTaskId(Long taskId); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IQcInspectionTaskService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IQcInspectionTaskService.java new file mode 100644 index 00000000..b4f11cc2 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IQcInspectionTaskService.java @@ -0,0 +1,25 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.QcInspectionTask; + +import java.util.List; +import java.util.Map; + +public interface IQcInspectionTaskService { + + List selectQcInspectionTaskList(QcInspectionTask task); + + List selectQcInspectionTaskListByDoubleRack(QcInspectionTask task); + + QcInspectionTask selectQcInspectionTaskById(Long taskId); + + int insertQcInspectionTask(QcInspectionTask task); + + int updateQcInspectionTask(QcInspectionTask task); + + int deleteQcInspectionTaskById(Long taskId); + + int deleteQcInspectionTaskByIds(Long[] taskIds); + + List> selectDoubleRackCoilList(); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IWmsCoilAbnormalService.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IWmsCoilAbnormalService.java new file mode 100644 index 00000000..3407ea28 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/IWmsCoilAbnormalService.java @@ -0,0 +1,22 @@ +package com.ruoyi.mill.service; + +import com.ruoyi.mill.domain.WmsCoilAbnormal; + +import java.util.List; + +public interface IWmsCoilAbnormalService { + + List selectWmsCoilAbnormalList(WmsCoilAbnormal abnormal); + + List selectWmsCoilAbnormalListByDoubleRack(WmsCoilAbnormal abnormal); + + WmsCoilAbnormal selectWmsCoilAbnormalById(Long abnormalId); + + int insertWmsCoilAbnormal(WmsCoilAbnormal abnormal); + + int updateWmsCoilAbnormal(WmsCoilAbnormal abnormal); + + int deleteWmsCoilAbnormalById(Long abnormalId); + + int deleteWmsCoilAbnormalByIds(Long[] abnormalIds); +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentChecklistServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentChecklistServiceImpl.java new file mode 100644 index 00000000..a4c545f0 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentChecklistServiceImpl.java @@ -0,0 +1,52 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.mill.domain.EqpEquipmentChecklist; +import com.ruoyi.mill.mapper.EqpEquipmentChecklistMapper; +import com.ruoyi.mill.service.IEqpEquipmentChecklistService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@DataSource(DataSourceType.KLP) +public class EqpEquipmentChecklistServiceImpl implements IEqpEquipmentChecklistService { + + @Autowired + private EqpEquipmentChecklistMapper eqpEquipmentChecklistMapper; + + @Override + public List selectEqpChecklistList(EqpEquipmentChecklist checklist) { + return eqpEquipmentChecklistMapper.selectEqpChecklistList(checklist); + } + + @Override + public EqpEquipmentChecklist selectEqpChecklistByCheckId(Long checkId) { + return eqpEquipmentChecklistMapper.selectEqpChecklistByCheckId(checkId); + } + + @Override + public int insertEqpChecklist(EqpEquipmentChecklist checklist) { + checklist.setCreateTime(DateUtils.getNowDate()); + return eqpEquipmentChecklistMapper.insertEqpChecklist(checklist); + } + + @Override + public int updateEqpChecklist(EqpEquipmentChecklist checklist) { + checklist.setUpdateTime(DateUtils.getNowDate()); + return eqpEquipmentChecklistMapper.updateEqpChecklist(checklist); + } + + @Override + public int deleteEqpChecklistByCheckIds(Long[] checkIds) { + return eqpEquipmentChecklistMapper.deleteEqpChecklistByCheckIds(checkIds); + } + + @Override + public int deleteEqpChecklistByCheckId(Long checkId) { + return eqpEquipmentChecklistMapper.deleteEqpChecklistByCheckId(checkId); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentInspectionRecordServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentInspectionRecordServiceImpl.java new file mode 100644 index 00000000..60cd48dc --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentInspectionRecordServiceImpl.java @@ -0,0 +1,52 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.mill.domain.EqpEquipmentInspectionRecord; +import com.ruoyi.mill.mapper.EqpEquipmentInspectionRecordMapper; +import com.ruoyi.mill.service.IEqpEquipmentInspectionRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@DataSource(DataSourceType.KLP) +public class EqpEquipmentInspectionRecordServiceImpl implements IEqpEquipmentInspectionRecordService { + + @Autowired + private EqpEquipmentInspectionRecordMapper eqpEquipmentInspectionRecordMapper; + + @Override + public List selectEqpInspectionRecordList(EqpEquipmentInspectionRecord record) { + return eqpEquipmentInspectionRecordMapper.selectEqpInspectionRecordList(record); + } + + @Override + public EqpEquipmentInspectionRecord selectEqpInspectionRecordByRecordId(Long recordId) { + return eqpEquipmentInspectionRecordMapper.selectEqpInspectionRecordByRecordId(recordId); + } + + @Override + public int insertEqpInspectionRecord(EqpEquipmentInspectionRecord record) { + record.setCreateTime(DateUtils.getNowDate()); + return eqpEquipmentInspectionRecordMapper.insertEqpInspectionRecord(record); + } + + @Override + public int updateEqpInspectionRecord(EqpEquipmentInspectionRecord record) { + record.setUpdateTime(DateUtils.getNowDate()); + return eqpEquipmentInspectionRecordMapper.updateEqpInspectionRecord(record); + } + + @Override + public int deleteEqpInspectionRecordByRecordIds(Long[] recordIds) { + return eqpEquipmentInspectionRecordMapper.deleteEqpInspectionRecordByRecordIds(recordIds); + } + + @Override + public int deleteEqpInspectionRecordByRecordId(Long recordId) { + return eqpEquipmentInspectionRecordMapper.deleteEqpInspectionRecordByRecordId(recordId); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentPartServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentPartServiceImpl.java new file mode 100644 index 00000000..56f22657 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/EqpEquipmentPartServiceImpl.java @@ -0,0 +1,52 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.mill.domain.EqpEquipmentPart; +import com.ruoyi.mill.mapper.EqpEquipmentPartMapper; +import com.ruoyi.mill.service.IEqpEquipmentPartService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@DataSource(DataSourceType.KLP) +public class EqpEquipmentPartServiceImpl implements IEqpEquipmentPartService { + + @Autowired + private EqpEquipmentPartMapper eqpEquipmentPartMapper; + + @Override + public List selectEqpPartList(EqpEquipmentPart part) { + return eqpEquipmentPartMapper.selectEqpPartList(part); + } + + @Override + public EqpEquipmentPart selectEqpPartByPartId(Long partId) { + return eqpEquipmentPartMapper.selectEqpPartByPartId(partId); + } + + @Override + public int insertEqpPart(EqpEquipmentPart part) { + part.setCreateTime(DateUtils.getNowDate()); + return eqpEquipmentPartMapper.insertEqpPart(part); + } + + @Override + public int updateEqpPart(EqpEquipmentPart part) { + part.setUpdateTime(DateUtils.getNowDate()); + return eqpEquipmentPartMapper.updateEqpPart(part); + } + + @Override + public int deleteEqpPartByPartIds(Long[] partIds) { + return eqpEquipmentPartMapper.deleteEqpPartByPartIds(partIds); + } + + @Override + public int deleteEqpPartByPartId(Long partId) { + return eqpEquipmentPartMapper.deleteEqpPartByPartId(partId); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/KlpCoilServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/KlpCoilServiceImpl.java new file mode 100644 index 00000000..ac3f706e --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/KlpCoilServiceImpl.java @@ -0,0 +1,22 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.mill.domain.KlpCoilInfo; +import com.ruoyi.mill.mapper.KlpCoilMapper; +import com.ruoyi.mill.service.IKlpCoilService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@DataSource(DataSourceType.KLP) +public class KlpCoilServiceImpl implements IKlpCoilService { + + @Autowired + private KlpCoilMapper klpCoilMapper; + + @Override + public KlpCoilInfo queryByCoilNo(String coilNo) { + return klpCoilMapper.selectByCoilNo(coilNo); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MesRollGrindServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MesRollGrindServiceImpl.java new file mode 100644 index 00000000..bdfd9260 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MesRollGrindServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.mill.domain.MesRollGrind; +import com.ruoyi.mill.domain.MesRollInfo; +import com.ruoyi.mill.mapper.MesRollGrindMapper; +import com.ruoyi.mill.mapper.MesRollInfoMapper; +import com.ruoyi.mill.service.IMesRollGrindService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Service +@DataSource(DataSourceType.KLP) +public class MesRollGrindServiceImpl implements IMesRollGrindService { + + @Autowired + private MesRollGrindMapper grindMapper; + + @Autowired + private MesRollInfoMapper rollInfoMapper; + + @Override + public List selectMesRollGrindList(MesRollGrind grind) { + return grindMapper.selectMesRollGrindList(grind); + } + + @Override + public List selectMesRollGrindByRollId(Long rollId) { + return grindMapper.selectMesRollGrindByRollId(rollId); + } + + @Override + public MesRollGrind selectMesRollGrindById(Long grindId) { + return grindMapper.selectMesRollGrindById(grindId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int insertMesRollGrind(MesRollGrind grind) { + if (grind.getGrindTime() == null) { + grind.setGrindTime(new Date()); + } + if (grind.getDiaBefore() != null && grind.getDiaAfter() != null) { + grind.setGrindAmount(grind.getDiaBefore().subtract(grind.getDiaAfter())); + } + // 自动填写轧辊编号 + if (grind.getRollNo() == null && grind.getRollId() != null) { + MesRollInfo info = rollInfoMapper.selectMesRollInfoById(grind.getRollId()); + if (info != null) grind.setRollNo(info.getRollNo()); + } + int result = grindMapper.insertMesRollGrind(grind); + // 同步更新轧辊当前直径 + 磨削次数+1 + rollInfoMapper.incrementGrindCount(grind.getRollId(), grind.getDiaAfter()); + return result; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int updateMesRollGrind(MesRollGrind grind) { + if (grind.getDiaBefore() != null && grind.getDiaAfter() != null) { + grind.setGrindAmount(grind.getDiaBefore().subtract(grind.getDiaAfter())); + } + int result = grindMapper.updateMesRollGrind(grind); + // 以最新磨削记录的磨后径更新当前直径 + if (result > 0 && grind.getDiaAfter() != null && grind.getRollId() != null) { + List list = grindMapper.selectMesRollGrindByRollId(grind.getRollId()); + if (!list.isEmpty()) { + BigDecimal latestDia = list.get(list.size() - 1).getDiaAfter(); + if (latestDia != null) { + rollInfoMapper.updateCurrentDia(grind.getRollId(), latestDia); + } + } + } + return result; + } + + @Override + public int deleteMesRollGrindById(Long grindId) { + return grindMapper.deleteMesRollGrindById(grindId); + } + + @Override + public List> selectMonthlyStats(Long rollId, int year) { + return grindMapper.selectMonthlyStats(rollId, year); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MesRollInfoServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MesRollInfoServiceImpl.java new file mode 100644 index 00000000..c601a312 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/MesRollInfoServiceImpl.java @@ -0,0 +1,86 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.mill.domain.MesRollInfo; +import com.ruoyi.mill.mapper.MesRollInfoMapper; +import com.ruoyi.mill.service.IMesRollInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@DataSource(DataSourceType.KLP) +public class MesRollInfoServiceImpl implements IMesRollInfoService { + + @Autowired + private MesRollInfoMapper rollInfoMapper; + + @Override + public List selectMesRollInfoList(MesRollInfo rollInfo) { + return rollInfoMapper.selectMesRollInfoList(rollInfo); + } + + @Override + public MesRollInfo selectMesRollInfoById(Long rollId) { + return rollInfoMapper.selectMesRollInfoById(rollId); + } + + @Override + public int insertMesRollInfo(MesRollInfo rollInfo) { + if (rollInfo.getStatus() == null) { + rollInfo.setStatus("Offline"); + } + if (rollInfo.getGrindCount() == null) { + rollInfo.setGrindCount(0); + } + // 双机架产线 lineId 固定为 5 + rollInfo.setLineId(5L); + return rollInfoMapper.insertMesRollInfo(rollInfo); + } + + @Override + public int updateMesRollInfo(MesRollInfo rollInfo) { + return rollInfoMapper.updateMesRollInfo(rollInfo); + } + + @Override + public int deleteMesRollInfoByIds(Long[] rollIds) { + return rollInfoMapper.deleteMesRollInfoByIds(rollIds); + } + + @Override + public Map selectStatusStats(Long lineId) { + List> rows = rollInfoMapper.selectStatusStats(lineId); + Map result = new HashMap<>(8); + int total = 0; + for (Map row : rows) { + String status = (String) row.get("status"); + Number cnt = (Number) row.get("cnt"); + result.put(status, cnt.intValue()); + total += cnt.intValue(); + } + result.put("total", total); + return result; + } + + @Override + public List selectRollNoList(Long lineId, String rollType, String status) { + return rollInfoMapper.selectRollNoList(lineId, rollType, status); + } + + @Override + public void scrapRoll(Long rollId) { + MesRollInfo current = rollInfoMapper.selectMesRollInfoById(rollId); + if (current == null || !"Offline".equals(current.getStatus())) { + throw new RuntimeException("只有离线状态的轧辊才可封闭"); + } + MesRollInfo update = new MesRollInfo(); + update.setRollId(rollId); + update.setStatus("Scrapped"); + rollInfoMapper.updateMesRollInfo(update); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/QcInspectionItemServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/QcInspectionItemServiceImpl.java new file mode 100644 index 00000000..2988697c --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/QcInspectionItemServiceImpl.java @@ -0,0 +1,54 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.mill.domain.QcInspectionItem; +import com.ruoyi.mill.mapper.QcInspectionItemMapper; +import com.ruoyi.mill.service.IQcInspectionItemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@DataSource(DataSourceType.KLP) +public class QcInspectionItemServiceImpl implements IQcInspectionItemService { + + @Autowired + private QcInspectionItemMapper itemMapper; + + @Override + public List selectQcInspectionItemList(QcInspectionItem item) { + return itemMapper.selectQcInspectionItemList(item); + } + + @Override + public List selectQcInspectionItemByTaskId(Long taskId) { + return itemMapper.selectQcInspectionItemByTaskId(taskId); + } + + @Override + public QcInspectionItem selectQcInspectionItemById(Long itemId) { + return itemMapper.selectQcInspectionItemById(itemId); + } + + @Override + public int insertQcInspectionItem(QcInspectionItem item) { + return itemMapper.insertQcInspectionItem(item); + } + + @Override + public int updateQcInspectionItem(QcInspectionItem item) { + return itemMapper.updateQcInspectionItem(item); + } + + @Override + public int deleteQcInspectionItemById(Long itemId) { + return itemMapper.deleteQcInspectionItemById(itemId); + } + + @Override + public int deleteQcInspectionItemByTaskId(Long taskId) { + return itemMapper.deleteQcInspectionItemByTaskId(taskId); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/QcInspectionTaskServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/QcInspectionTaskServiceImpl.java new file mode 100644 index 00000000..b6f8235e --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/QcInspectionTaskServiceImpl.java @@ -0,0 +1,94 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.mill.domain.QcInspectionTask; +import com.ruoyi.mill.mapper.QcInspectionTaskMapper; +import com.ruoyi.mill.service.IQcInspectionTaskService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +@Service +@DataSource(DataSourceType.KLP) +public class QcInspectionTaskServiceImpl implements IQcInspectionTaskService { + + private static final List DOUBLE_RACK_ACTION_TYPES = Arrays.asList(205, 504, 524); + + @Autowired + private QcInspectionTaskMapper taskMapper; + + @Override + public List selectQcInspectionTaskList(QcInspectionTask task) { + return taskMapper.selectQcInspectionTaskList(task); + } + + @Override + public List selectQcInspectionTaskListByDoubleRack(QcInspectionTask task) { + List coilIds = getDoubleRackCoilIds(); + if (coilIds.isEmpty()) { + return Collections.emptyList(); + } + return taskMapper.selectQcInspectionTaskListByCoilIds(task, coilIds); + } + + @Override + public QcInspectionTask selectQcInspectionTaskById(Long taskId) { + return taskMapper.selectQcInspectionTaskById(taskId); + } + + @Override + public int insertQcInspectionTask(QcInspectionTask task) { + return taskMapper.insertQcInspectionTask(task); + } + + @Override + public int updateQcInspectionTask(QcInspectionTask task) { + return taskMapper.updateQcInspectionTask(task); + } + + @Override + public int deleteQcInspectionTaskById(Long taskId) { + return taskMapper.deleteQcInspectionTaskById(taskId); + } + + @Override + public int deleteQcInspectionTaskByIds(Long[] taskIds) { + return taskMapper.deleteQcInspectionTaskByIds(taskIds); + } + + @Override + public List> selectDoubleRackCoilList() { + List coilIds = getDoubleRackCoilIds(); + if (coilIds.isEmpty()) { + return Collections.emptyList(); + } + return taskMapper.selectCoilInfoByIds(coilIds); + } + + private List getDoubleRackCoilIds() { + List processedList = taskMapper.selectDoubleRackProcessedCoilIds(DOUBLE_RACK_ACTION_TYPES); + Set coilIdSet = new HashSet<>(); + for (String csv : processedList) { + if (csv != null && !csv.isEmpty()) { + for (String part : csv.split(",")) { + part = part.trim(); + if (!part.isEmpty()) { + try { + coilIdSet.add(Long.parseLong(part)); + } catch (NumberFormatException ignored) { + } + } + } + } + } + return coilIdSet.stream().collect(Collectors.toList()); + } +} diff --git a/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/WmsCoilAbnormalServiceImpl.java b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/WmsCoilAbnormalServiceImpl.java new file mode 100644 index 00000000..20453584 --- /dev/null +++ b/ruoyi-mill/src/main/java/com/ruoyi/mill/service/impl/WmsCoilAbnormalServiceImpl.java @@ -0,0 +1,88 @@ +package com.ruoyi.mill.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.mill.domain.WmsCoilAbnormal; +import com.ruoyi.mill.mapper.QcInspectionTaskMapper; +import com.ruoyi.mill.mapper.WmsCoilAbnormalMapper; +import com.ruoyi.mill.service.IWmsCoilAbnormalService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +@Service +@DataSource(DataSourceType.KLP) +public class WmsCoilAbnormalServiceImpl implements IWmsCoilAbnormalService { + + private static final List DOUBLE_RACK_ACTION_TYPES = Arrays.asList(205, 504, 524); + + @Autowired + private WmsCoilAbnormalMapper abnormalMapper; + + @Autowired + private QcInspectionTaskMapper taskMapper; + + @Override + public List selectWmsCoilAbnormalList(WmsCoilAbnormal abnormal) { + return abnormalMapper.selectWmsCoilAbnormalList(abnormal); + } + + @Override + public List selectWmsCoilAbnormalListByDoubleRack(WmsCoilAbnormal abnormal) { + List coilIds = getDoubleRackCoilIds(); + if (coilIds.isEmpty()) { + return Collections.emptyList(); + } + return abnormalMapper.selectWmsCoilAbnormalListByCoilIds(abnormal, coilIds); + } + + @Override + public WmsCoilAbnormal selectWmsCoilAbnormalById(Long abnormalId) { + return abnormalMapper.selectWmsCoilAbnormalById(abnormalId); + } + + @Override + public int insertWmsCoilAbnormal(WmsCoilAbnormal abnormal) { + return abnormalMapper.insertWmsCoilAbnormal(abnormal); + } + + @Override + public int updateWmsCoilAbnormal(WmsCoilAbnormal abnormal) { + return abnormalMapper.updateWmsCoilAbnormal(abnormal); + } + + @Override + public int deleteWmsCoilAbnormalById(Long abnormalId) { + return abnormalMapper.deleteWmsCoilAbnormalById(abnormalId); + } + + @Override + public int deleteWmsCoilAbnormalByIds(Long[] abnormalIds) { + return abnormalMapper.deleteWmsCoilAbnormalByIds(abnormalIds); + } + + private List getDoubleRackCoilIds() { + List processedList = taskMapper.selectDoubleRackProcessedCoilIds(DOUBLE_RACK_ACTION_TYPES); + Set coilIdSet = new HashSet<>(); + for (String csv : processedList) { + if (csv != null && !csv.isEmpty()) { + for (String part : csv.split(",")) { + part = part.trim(); + if (!part.isEmpty()) { + try { + coilIdSet.add(Long.parseLong(part)); + } catch (NumberFormatException ignored) { + } + } + } + } + } + return coilIdSet.stream().collect(Collectors.toList()); + } +} diff --git a/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentChecklistMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentChecklistMapper.xml new file mode 100644 index 00000000..f40c7787 --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentChecklistMapper.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + select check_id, check_no, part_id, part_name, check_content, equipment_state, + check_standard, responsible_person, remark, del_flag, + create_by, create_time, update_by, update_time + from eqp_equipment_checklist + + + + + + + + insert into eqp_equipment_checklist + + check_no, + part_id, + part_name, + check_content, + equipment_state, + check_standard, + responsible_person, + remark, + create_by, + create_time, + del_flag, + + + #{checkNo}, + #{partId}, + #{partName}, + #{checkContent}, + #{equipmentState}, + #{checkStandard}, + #{responsiblePerson}, + #{remark}, + #{createBy}, + #{createTime}, + '0', + + + + + update eqp_equipment_checklist + + check_no = #{checkNo}, + part_id = #{partId}, + part_name = #{partName}, + check_content = #{checkContent}, + equipment_state = #{equipmentState}, + check_standard = #{checkStandard}, + responsible_person = #{responsiblePerson}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where check_id = #{checkId} + + + + update eqp_equipment_checklist set del_flag = '2' where check_id = #{checkId} + + + + update eqp_equipment_checklist set del_flag = '2' where check_id in + + #{checkId} + + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentInspectionRecordMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentInspectionRecordMapper.xml new file mode 100644 index 00000000..2c252d8f --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentInspectionRecordMapper.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into eqp_equipment_inspection_record + + check_id, + shift, + inspect_time, + run_status, + inspector, + abnormal_desc, + photo, + remark, + create_by, + create_time, + del_flag, + + + #{checkId}, + #{shift}, + #{inspectTime}, + #{runStatus}, + #{inspector}, + #{abnormalDesc}, + #{photo}, + #{remark}, + #{createBy}, + #{createTime}, + '0', + + + + + update eqp_equipment_inspection_record + + check_id = #{checkId}, + shift = #{shift}, + inspect_time = #{inspectTime}, + run_status = #{runStatus}, + inspector = #{inspector}, + abnormal_desc = #{abnormalDesc}, + photo = #{photo}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where record_id = #{recordId} + + + + update eqp_equipment_inspection_record set del_flag = '2' where record_id = #{recordId} + + + + update eqp_equipment_inspection_record set del_flag = '2' where record_id in + + #{recordId} + + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentPartMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentPartMapper.xml new file mode 100644 index 00000000..b377360e --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/EqpEquipmentPartMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + select part_id, inspect_part, production_line, line_section, remark, + del_flag, create_by, create_time, update_by, update_time + from eqp_equipment_part + + + + + + + + insert into eqp_equipment_part + + inspect_part, + production_line, + line_section, + remark, + create_by, + create_time, + del_flag, + + + #{inspectPart}, + #{productionLine}, + #{lineSection}, + #{remark}, + #{createBy}, + #{createTime}, + '0', + + + + + update eqp_equipment_part + + inspect_part = #{inspectPart}, + production_line = #{productionLine}, + line_section = #{lineSection}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where part_id = #{partId} + + + + update eqp_equipment_part set del_flag = '2' where part_id = #{partId} + + + + update eqp_equipment_part set del_flag = '2' where part_id in + + #{partId} + + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/KlpCoilMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/KlpCoilMapper.xml new file mode 100644 index 00000000..09c570be --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/KlpCoilMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/MesRollGrindMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/MesRollGrindMapper.xml new file mode 100644 index 00000000..283a5453 --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/MesRollGrindMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into mes_roll_grind + + line_id, + roll_id, + roll_no, + grind_time, + team, + dia_before, + dia_after, + grind_amount, + roll_shape, + flaw_result, + hardness, + operator, + remark, + create_by, + create_time, + del_flag, + + + #{lineId}, + #{rollId}, + #{rollNo}, + #{grindTime}, + #{team}, + #{diaBefore}, + #{diaAfter}, + #{grindAmount}, + #{rollShape}, + #{flawResult}, + #{hardness}, + #{operator}, + #{remark}, + #{createBy}, + #{createTime}, + 0, + + + + + update mes_roll_grind + + grind_time = #{grindTime}, + team = #{team}, + dia_before = #{diaBefore}, + dia_after = #{diaAfter}, + grind_amount = #{grindAmount}, + roll_shape = #{rollShape}, + flaw_result = #{flawResult}, + hardness = #{hardness}, + operator = #{operator}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where grind_id = #{grindId} + + + + update mes_roll_grind set del_flag = 1 where grind_id = #{grindId} + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/MesRollInfoMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/MesRollInfoMapper.xml new file mode 100644 index 00000000..6dd1c90d --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/MesRollInfoMapper.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into mes_roll_info + + line_id, + roll_no, + roll_type, + status, + initial_dia, + current_dia, + min_dia, + roughness, + crown, + material, + grind_count, + manufacture_date, + manufacturer, + remark, + create_by, + create_time, + del_flag, + + + #{lineId}, + #{rollNo}, + #{rollType}, + #{status}, + #{initialDia}, + #{currentDia}, + #{minDia}, + #{roughness}, + #{crown}, + #{material}, + #{grindCount}, + #{manufactureDate}, + #{manufacturer}, + #{remark}, + #{createBy}, + #{createTime}, + 0, + + + + + update mes_roll_info + + roll_no = #{rollNo}, + roll_type = #{rollType}, + status = #{status}, + initial_dia = #{initialDia}, + current_dia = #{currentDia}, + min_dia = #{minDia}, + roughness = #{roughness}, + crown = #{crown}, + material = #{material}, + grind_count = #{grindCount}, + total_rolled_weight = #{totalRolledWeight}, + total_rolled_length = #{totalRolledLength}, + total_rolled_count = #{totalRolledCount}, + manufacture_date = #{manufactureDate}, + manufacturer = #{manufacturer}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where roll_id = #{rollId} + + + + update mes_roll_info set del_flag = 1 where roll_id = #{rollId} + + + + update mes_roll_info set del_flag = 1 where roll_id in + + #{rollId} + + + + + UPDATE mes_roll_info SET status = #{status}, update_time = NOW() + WHERE del_flag = 0 AND roll_no = #{rollNo} + + + + UPDATE mes_roll_info + SET grind_count = grind_count + 1, + current_dia = #{diaAfter}, + update_time = NOW() + WHERE del_flag = 0 AND roll_id = #{rollId} + + + + UPDATE mes_roll_info SET current_dia = #{currentDia}, update_time = NOW() + WHERE del_flag = 0 AND roll_id = #{rollId} + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/QcInspectionItemMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/QcInspectionItemMapper.xml new file mode 100644 index 00000000..533e25e5 --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/QcInspectionItemMapper.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO qc_inspection_item + + task_id, + item_name, + standard_value, + upper_limit, + lower_limit, + unit, + item_type, + inspect_value, + is_qualified, + judge_result, + inspect_user, + inspect_time, + remark, + create_by, + create_time, + del_flag, + + + #{taskId}, + #{itemName}, + #{standardValue}, + #{upperLimit}, + #{lowerLimit}, + #{unit}, + #{itemType}, + #{inspectValue}, + #{isQualified}, + #{judgeResult}, + #{inspectUser}, + #{inspectTime}, + #{remark}, + #{createBy}, + #{createTime}, + 0, + + + + + UPDATE qc_inspection_item + + item_name = #{itemName}, + standard_value = #{standardValue}, + upper_limit = #{upperLimit}, + lower_limit = #{lowerLimit}, + unit = #{unit}, + item_type = #{itemType}, + inspect_value = #{inspectValue}, + is_qualified = #{isQualified}, + judge_result = #{judgeResult}, + inspect_user = #{inspectUser}, + inspect_time = #{inspectTime}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + WHERE item_id = #{itemId} + + + + UPDATE qc_inspection_item SET del_flag = 1 WHERE item_id = #{itemId} + + + + UPDATE qc_inspection_item SET del_flag = 1 WHERE task_id = #{taskId} + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/QcInspectionTaskMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/QcInspectionTaskMapper.xml new file mode 100644 index 00000000..f1d7e308 --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/QcInspectionTaskMapper.xml @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT task_id, task_code, task_type, belong_company, source_type, source_id, + scheme_id, scheme_name, status, inspect_user, inspect_time, audit_user, audit_time, + result, remark, coil_ids, enter_coil_nos, attachment_files, del_flag, + create_by, create_time, update_by, update_time + FROM qc_inspection_task + + + + + + + + + + + + + + + + INSERT INTO qc_inspection_task + + task_code, + task_type, + belong_company, + source_type, + scheme_id, + scheme_name, + status, + inspect_user, + inspect_time, + result, + remark, + coil_ids, + enter_coil_nos, + create_by, + create_time, + del_flag, + + + #{taskCode}, + #{taskType}, + #{belongCompany}, + #{sourceType}, + #{schemeId}, + #{schemeName}, + #{status}, + #{inspectUser}, + #{inspectTime}, + #{result}, + #{remark}, + #{coilIds}, + #{enterCoilNos}, + #{createBy}, + #{createTime}, + 0, + + + + + UPDATE qc_inspection_task + + task_type = #{taskType}, + belong_company = #{belongCompany}, + scheme_name = #{schemeName}, + status = #{status}, + inspect_user = #{inspectUser}, + inspect_time = #{inspectTime}, + audit_user = #{auditUser}, + audit_time = #{auditTime}, + result = #{result}, + remark = #{remark}, + coil_ids = #{coilIds}, + enter_coil_nos = #{enterCoilNos}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + WHERE task_id = #{taskId} + + + + UPDATE qc_inspection_task SET del_flag = 1 WHERE task_id = #{taskId} + + + + UPDATE qc_inspection_task SET del_flag = 1 WHERE task_id IN + + #{taskId} + + + + diff --git a/ruoyi-mill/src/main/resources/mapper/mill/WmsCoilAbnormalMapper.xml b/ruoyi-mill/src/main/resources/mapper/mill/WmsCoilAbnormalMapper.xml new file mode 100644 index 00000000..a6cbc622 --- /dev/null +++ b/ruoyi-mill/src/main/resources/mapper/mill/WmsCoilAbnormalMapper.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT a.abnormal_id, a.coil_id, a.production_line, a.position, a.plate_surface, + a.length, a.start_position, a.end_position, a.defect_code, a.defect_type, + a.defect_rate, a.defect_weight, a.degree, a.judge_level, a.judge_by, a.judge_time, + a.main_mark, a.whole_coil_mark, a.attachment_files, a.remark, a.del_flag, + a.create_by, a.create_time, a.update_by, a.update_time, + mc.current_coil_no + FROM wms_coil_abnormal a + LEFT JOIN wms_material_coil mc ON a.coil_id = mc.coil_id AND mc.del_flag = 0 + + + + + + + + + + INSERT INTO wms_coil_abnormal + + coil_id, + production_line, + position, + plate_surface, + length, + start_position, + end_position, + defect_code, + defect_type, + defect_rate, + defect_weight, + degree, + judge_level, + judge_by, + judge_time, + main_mark, + whole_coil_mark, + remark, + create_by, + create_time, + del_flag, + + + #{coilId}, + #{productionLine}, + #{position}, + #{plateSurface}, + #{length}, + #{startPosition}, + #{endPosition}, + #{defectCode}, + #{defectType}, + #{defectRate}, + #{defectWeight}, + #{degree}, + #{judgeLevel}, + #{judgeBy}, + #{judgeTime}, + #{mainMark}, + #{wholeCoilMark}, + #{remark}, + #{createBy}, + #{createTime}, + 0, + + + + + UPDATE wms_coil_abnormal + + production_line = #{productionLine}, + position = #{position}, + plate_surface = #{plateSurface}, + defect_type = #{defectType}, + defect_rate = #{defectRate}, + defect_weight = #{defectWeight}, + degree = #{degree}, + judge_level = #{judgeLevel}, + judge_by = #{judgeBy}, + judge_time = #{judgeTime}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + WHERE abnormal_id = #{abnormalId} + + + + UPDATE wms_coil_abnormal SET del_flag = 1 WHERE abnormal_id = #{abnormalId} + + + + UPDATE wms_coil_abnormal SET del_flag = 1 WHERE abnormal_id IN + + #{id} + + + + diff --git a/ruoyi-ui/src/api/mill/equipmentChecklist.js b/ruoyi-ui/src/api/mill/equipmentChecklist.js new file mode 100644 index 00000000..971f3e47 --- /dev/null +++ b/ruoyi-ui/src/api/mill/equipmentChecklist.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +export function listEquipmentChecklist(query) { + return request({ url: '/mill/eqp/checklist/list', method: 'get', params: query }) +} + +export function getEquipmentChecklist(checkId) { + return request({ url: '/mill/eqp/checklist/' + checkId, method: 'get' }) +} + +export function addEquipmentChecklist(data) { + return request({ url: '/mill/eqp/checklist', method: 'post', data: data }) +} + +export function updateEquipmentChecklist(data) { + return request({ url: '/mill/eqp/checklist', method: 'put', data: data }) +} + +export function delEquipmentChecklist(checkId) { + return request({ url: '/mill/eqp/checklist/' + checkId, method: 'delete' }) +} diff --git a/ruoyi-ui/src/api/mill/equipmentInspectionRecord.js b/ruoyi-ui/src/api/mill/equipmentInspectionRecord.js new file mode 100644 index 00000000..ee834dff --- /dev/null +++ b/ruoyi-ui/src/api/mill/equipmentInspectionRecord.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +export function listEquipmentInspectionRecord(query) { + return request({ url: '/mill/eqp/record/list', method: 'get', params: query }) +} + +export function getEquipmentInspectionRecord(recordId) { + return request({ url: '/mill/eqp/record/' + recordId, method: 'get' }) +} + +export function addEquipmentInspectionRecord(data) { + return request({ url: '/mill/eqp/record', method: 'post', data: data }) +} + +export function updateEquipmentInspectionRecord(data) { + return request({ url: '/mill/eqp/record', method: 'put', data: data }) +} + +export function delEquipmentInspectionRecord(recordId) { + return request({ url: '/mill/eqp/record/' + recordId, method: 'delete' }) +} diff --git a/ruoyi-ui/src/api/mill/equipmentPart.js b/ruoyi-ui/src/api/mill/equipmentPart.js new file mode 100644 index 00000000..d6f48456 --- /dev/null +++ b/ruoyi-ui/src/api/mill/equipmentPart.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +export function listEquipmentPart(query) { + return request({ url: '/mill/eqp/part/list', method: 'get', params: query }) +} + +export function getEquipmentPart(partId) { + return request({ url: '/mill/eqp/part/' + partId, method: 'get' }) +} + +export function addEquipmentPart(data) { + return request({ url: '/mill/eqp/part', method: 'post', data: data }) +} + +export function updateEquipmentPart(data) { + return request({ url: '/mill/eqp/part', method: 'put', data: data }) +} + +export function delEquipmentPart(partId) { + return request({ url: '/mill/eqp/part/' + partId, method: 'delete' }) +} diff --git a/ruoyi-ui/src/api/mill/qc.js b/ruoyi-ui/src/api/mill/qc.js new file mode 100644 index 00000000..5a1ddd41 --- /dev/null +++ b/ruoyi-ui/src/api/mill/qc.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +// ---- 检验任务 ---- +export function listQcTask(query) { + return request({ url: '/mill/qc/task/list', method: 'get', params: query }) +} + +export function getQcTask(taskId) { + return request({ url: `/mill/qc/task/${taskId}`, method: 'get' }) +} + +export function addQcTask(data) { + return request({ url: '/mill/qc/task', method: 'post', data }) +} + +export function updateQcTask(data) { + return request({ url: '/mill/qc/task', method: 'put', data }) +} + +export function delQcTask(taskIds) { + return request({ url: `/mill/qc/task/${taskIds}`, method: 'delete' }) +} + +// 双机架钢卷列表(供下拉选择) +export function listDoubleRackCoils() { + return request({ url: '/mill/qc/task/coils', method: 'get' }) +} + +// ---- 检验项目 ---- +export function listQcItemByTask(taskId) { + return request({ url: `/mill/qc/item/byTask/${taskId}`, method: 'get' }) +} + +export function updateQcItem(data) { + return request({ url: '/mill/qc/item', method: 'put', data }) +} + +// ---- 质量异常 ---- +export function listQcAbnormal(query) { + return request({ url: '/mill/qc/abnormal/list', method: 'get', params: query }) +} + +export function getQcAbnormal(abnormalId) { + return request({ url: `/mill/qc/abnormal/${abnormalId}`, method: 'get' }) +} + +export function addQcAbnormal(data) { + return request({ url: '/mill/qc/abnormal', method: 'post', data }) +} + +export function updateQcAbnormal(data) { + return request({ url: '/mill/qc/abnormal', method: 'put', data }) +} + +export function delQcAbnormal(abnormalIds) { + return request({ url: `/mill/qc/abnormal/${abnormalIds}`, method: 'delete' }) +} diff --git a/ruoyi-ui/src/api/mill/rollGrind.js b/ruoyi-ui/src/api/mill/rollGrind.js new file mode 100644 index 00000000..ff9ab573 --- /dev/null +++ b/ruoyi-ui/src/api/mill/rollGrind.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +export function listRollGrind(rollId) { + return request({ url: '/mill/roll/grind/list', method: 'get', params: { rollId } }) +} + +export function getMonthlyStats(rollId, year) { + return request({ url: '/mill/roll/grind/monthlyStats', method: 'get', params: { rollId, year } }) +} + +export function addRollGrind(data) { + return request({ url: '/mill/roll/grind', method: 'post', data }) +} + +export function updateRollGrind(data) { + return request({ url: '/mill/roll/grind', method: 'put', data }) +} + +export function delRollGrind(grindId) { + return request({ url: '/mill/roll/grind/' + grindId, method: 'delete' }) +} diff --git a/ruoyi-ui/src/api/mill/rollInfo.js b/ruoyi-ui/src/api/mill/rollInfo.js new file mode 100644 index 00000000..c3f7a240 --- /dev/null +++ b/ruoyi-ui/src/api/mill/rollInfo.js @@ -0,0 +1,33 @@ +import request from '@/utils/request' + +export function listRollInfo(query) { + return request({ url: '/mill/roll/info/list', method: 'get', params: query }) +} + +export function getRollStats() { + return request({ url: '/mill/roll/info/stats', method: 'get' }) +} + +export function listRollOptions(rollType, status) { + return request({ url: '/mill/roll/info/options', method: 'get', params: { rollType, status } }) +} + +export function getRollInfo(rollId) { + return request({ url: '/mill/roll/info/' + rollId, method: 'get' }) +} + +export function addRollInfo(data) { + return request({ url: '/mill/roll/info', method: 'post', data }) +} + +export function updateRollInfo(data) { + return request({ url: '/mill/roll/info', method: 'put', data }) +} + +export function delRollInfo(rollIds) { + return request({ url: '/mill/roll/info/' + rollIds, method: 'delete' }) +} + +export function scrapRollInfo(rollId) { + return request({ url: '/mill/roll/info/' + rollId + '/scrap', method: 'put' }) +} diff --git a/ruoyi-ui/src/views/mill/eqp/day.vue b/ruoyi-ui/src/views/mill/eqp/day.vue new file mode 100644 index 00000000..3b127bda --- /dev/null +++ b/ruoyi-ui/src/views/mill/eqp/day.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/ruoyi-ui/src/views/mill/eqp/index.vue b/ruoyi-ui/src/views/mill/eqp/index.vue new file mode 100644 index 00000000..2e9beca0 --- /dev/null +++ b/ruoyi-ui/src/views/mill/eqp/index.vue @@ -0,0 +1,341 @@ + + + + + diff --git a/ruoyi-ui/src/views/mill/eqp/record.vue b/ruoyi-ui/src/views/mill/eqp/record.vue new file mode 100644 index 00000000..498589e1 --- /dev/null +++ b/ruoyi-ui/src/views/mill/eqp/record.vue @@ -0,0 +1,300 @@ + + + diff --git a/ruoyi-ui/src/views/mill/model-prediction.vue b/ruoyi-ui/src/views/mill/model-prediction.vue new file mode 100644 index 00000000..5f92c3bc --- /dev/null +++ b/ruoyi-ui/src/views/mill/model-prediction.vue @@ -0,0 +1,2594 @@ + + + + + diff --git a/ruoyi-ui/src/views/mill/qc/abnormal/index.vue b/ruoyi-ui/src/views/mill/qc/abnormal/index.vue new file mode 100644 index 00000000..054871d1 --- /dev/null +++ b/ruoyi-ui/src/views/mill/qc/abnormal/index.vue @@ -0,0 +1,126 @@ + + + diff --git a/ruoyi-ui/src/views/mill/qc/task/index.vue b/ruoyi-ui/src/views/mill/qc/task/index.vue new file mode 100644 index 00000000..805b37a1 --- /dev/null +++ b/ruoyi-ui/src/views/mill/qc/task/index.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/ruoyi-ui/src/views/mill/roll/grind/index.vue b/ruoyi-ui/src/views/mill/roll/grind/index.vue new file mode 100644 index 00000000..c59c012f --- /dev/null +++ b/ruoyi-ui/src/views/mill/roll/grind/index.vue @@ -0,0 +1,382 @@ + + + + + + + diff --git a/ruoyi-ui/src/views/mill/roll/overview/index.vue b/ruoyi-ui/src/views/mill/roll/overview/index.vue new file mode 100644 index 00000000..211eaf0a --- /dev/null +++ b/ruoyi-ui/src/views/mill/roll/overview/index.vue @@ -0,0 +1,372 @@ + + + + + diff --git a/sql/mill_eqp_tables.sql b/sql/mill_eqp_tables.sql new file mode 100644 index 00000000..95c7321b --- /dev/null +++ b/sql/mill_eqp_tables.sql @@ -0,0 +1,55 @@ +-- 双机架设备巡检模块建表语句 +-- 执行顺序:part → checklist → inspection_record + +CREATE TABLE IF NOT EXISTS `mill_eqp_part` ( + `part_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部位ID', + `inspect_part` varchar(200) NOT NULL COMMENT '巡检部位名称', + `production_line` varchar(100) DEFAULT NULL COMMENT '产线', + `line_section` varchar(100) DEFAULT NULL COMMENT '产线段', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0正常 2删除', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`part_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='双机架设备巡检部位'; + +CREATE TABLE IF NOT EXISTS `mill_eqp_checklist` ( + `check_id` bigint NOT NULL AUTO_INCREMENT COMMENT '清单ID', + `check_no` varchar(100) DEFAULT NULL COMMENT '检验编号', + `part_id` bigint DEFAULT NULL COMMENT '巡检部位ID', + `part_name` varchar(200) DEFAULT NULL COMMENT '设备部件名称', + `check_content` text DEFAULT NULL COMMENT '检验内容', + `equipment_state` varchar(50) DEFAULT NULL COMMENT '设备状态 运行/停止', + `check_standard` text DEFAULT NULL COMMENT '检验标准', + `responsible_person` varchar(100) DEFAULT NULL COMMENT '责任人', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0正常 2删除', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`check_id`), + KEY `idx_part_id` (`part_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='双机架设备检验清单'; + +CREATE TABLE IF NOT EXISTS `mill_eqp_inspection_record` ( + `record_id` bigint NOT NULL AUTO_INCREMENT COMMENT '记录ID', + `check_id` bigint DEFAULT NULL COMMENT '检验清单ID', + `shift` tinyint DEFAULT NULL COMMENT '班次 1白班 2夜班', + `inspect_time` datetime DEFAULT NULL COMMENT '巡检时间', + `run_status` tinyint DEFAULT NULL COMMENT '运行状态 1正常 2故障', + `inspector` varchar(100) DEFAULT NULL COMMENT '巡检人', + `abnormal_desc` text DEFAULT NULL COMMENT '异常描述', + `photo` varchar(1000) DEFAULT NULL COMMENT '巡检照片URL(逗号分隔)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志 0正常 2删除', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`record_id`), + KEY `idx_check_id` (`check_id`), + KEY `idx_inspect_time` (`inspect_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='双机架设备巡检记录';