为双机架完成轧辊,质量,模型等内容

This commit is contained in:
2026-05-28 16:16:49 +08:00
parent 91fc8b6e38
commit 80d33d9a3b
69 changed files with 7788 additions and 0 deletions

View File

@@ -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<EqpEquipmentChecklist> 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<EqpEquipmentChecklist> list = eqpEquipmentChecklistService.selectEqpChecklistList(checklist);
ExcelUtil<EqpEquipmentChecklist> 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));
}
}

View File

@@ -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<EqpEquipmentInspectionRecord> 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<EqpEquipmentInspectionRecord> list = eqpEquipmentInspectionRecordService.selectEqpInspectionRecordList(record);
ExcelUtil<EqpEquipmentInspectionRecord> 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));
}
}

View File

@@ -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<EqpEquipmentPart> 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<EqpEquipmentPart> list = eqpEquipmentPartService.selectEqpPartList(part);
ExcelUtil<EqpEquipmentPart> 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));
}
}

View File

@@ -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);
}
}

View File

@@ -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));
}
}

View File

@@ -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<MesRollInfo> 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();
}
}

View File

@@ -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<QcInspectionItem> 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));
}
}

View File

@@ -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<QcInspectionTask> 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());
}
}

View File

@@ -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<WmsCoilAbnormal> 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));
}
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<QcInspectionItem> items;
}

View File

@@ -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;
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.mill.mapper;
import com.ruoyi.mill.domain.EqpEquipmentChecklist;
import java.util.List;
public interface EqpEquipmentChecklistMapper {
List<EqpEquipmentChecklist> selectEqpChecklistList(EqpEquipmentChecklist checklist);
EqpEquipmentChecklist selectEqpChecklistByCheckId(Long checkId);
int insertEqpChecklist(EqpEquipmentChecklist checklist);
int updateEqpChecklist(EqpEquipmentChecklist checklist);
int deleteEqpChecklistByCheckId(Long checkId);
int deleteEqpChecklistByCheckIds(Long[] checkIds);
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.mill.mapper;
import com.ruoyi.mill.domain.EqpEquipmentInspectionRecord;
import java.util.List;
public interface EqpEquipmentInspectionRecordMapper {
List<EqpEquipmentInspectionRecord> selectEqpInspectionRecordList(EqpEquipmentInspectionRecord record);
EqpEquipmentInspectionRecord selectEqpInspectionRecordByRecordId(Long recordId);
int insertEqpInspectionRecord(EqpEquipmentInspectionRecord record);
int updateEqpInspectionRecord(EqpEquipmentInspectionRecord record);
int deleteEqpInspectionRecordByRecordId(Long recordId);
int deleteEqpInspectionRecordByRecordIds(Long[] recordIds);
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.mill.mapper;
import com.ruoyi.mill.domain.EqpEquipmentPart;
import java.util.List;
public interface EqpEquipmentPartMapper {
List<EqpEquipmentPart> selectEqpPartList(EqpEquipmentPart part);
EqpEquipmentPart selectEqpPartByPartId(Long partId);
int insertEqpPart(EqpEquipmentPart part);
int updateEqpPart(EqpEquipmentPart part);
int deleteEqpPartByPartId(Long partId);
int deleteEqpPartByPartIds(Long[] partIds);
}

View File

@@ -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);
}

View File

@@ -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<MesRollGrind> selectMesRollGrindList(MesRollGrind grind);
List<MesRollGrind> selectMesRollGrindByRollId(@Param("rollId") Long rollId);
MesRollGrind selectMesRollGrindById(Long grindId);
int insertMesRollGrind(MesRollGrind grind);
int updateMesRollGrind(MesRollGrind grind);
int deleteMesRollGrindById(Long grindId);
List<Map<String, Object>> selectMonthlyStats(@Param("rollId") Long rollId, @Param("year") int year);
}

View File

@@ -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<MesRollInfo> 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<Map<String, Object>> selectStatusStats(@Param("lineId") Long lineId);
List<String> 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);
}

View File

@@ -0,0 +1,22 @@
package com.ruoyi.mill.mapper;
import com.ruoyi.mill.domain.QcInspectionItem;
import java.util.List;
public interface QcInspectionItemMapper {
List<QcInspectionItem> selectQcInspectionItemList(QcInspectionItem item);
List<QcInspectionItem> selectQcInspectionItemByTaskId(Long taskId);
QcInspectionItem selectQcInspectionItemById(Long itemId);
int insertQcInspectionItem(QcInspectionItem item);
int updateQcInspectionItem(QcInspectionItem item);
int deleteQcInspectionItemById(Long itemId);
int deleteQcInspectionItemByTaskId(Long taskId);
}

View File

@@ -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<QcInspectionTask> selectQcInspectionTaskList(QcInspectionTask task);
List<QcInspectionTask> selectQcInspectionTaskListByCoilIds(@Param("task") QcInspectionTask task,
@Param("coilIds") List<Long> 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<String> selectDoubleRackProcessedCoilIds(@Param("actionTypes") List<Integer> actionTypes);
/** 按 coilId 列表查询钢卷基本信息coilId + current_coil_no */
List<java.util.Map<String, Object>> selectCoilInfoByIds(@Param("coilIds") List<Long> coilIds);
}

View File

@@ -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<WmsCoilAbnormal> selectWmsCoilAbnormalList(WmsCoilAbnormal abnormal);
List<WmsCoilAbnormal> selectWmsCoilAbnormalListByCoilIds(@Param("abnormal") WmsCoilAbnormal abnormal,
@Param("coilIds") List<Long> coilIds);
WmsCoilAbnormal selectWmsCoilAbnormalById(Long abnormalId);
int insertWmsCoilAbnormal(WmsCoilAbnormal abnormal);
int updateWmsCoilAbnormal(WmsCoilAbnormal abnormal);
int deleteWmsCoilAbnormalById(Long abnormalId);
int deleteWmsCoilAbnormalByIds(Long[] abnormalIds);
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.mill.service;
import com.ruoyi.mill.domain.EqpEquipmentChecklist;
import java.util.List;
public interface IEqpEquipmentChecklistService {
List<EqpEquipmentChecklist> selectEqpChecklistList(EqpEquipmentChecklist checklist);
EqpEquipmentChecklist selectEqpChecklistByCheckId(Long checkId);
int insertEqpChecklist(EqpEquipmentChecklist checklist);
int updateEqpChecklist(EqpEquipmentChecklist checklist);
int deleteEqpChecklistByCheckIds(Long[] checkIds);
int deleteEqpChecklistByCheckId(Long checkId);
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.mill.service;
import com.ruoyi.mill.domain.EqpEquipmentInspectionRecord;
import java.util.List;
public interface IEqpEquipmentInspectionRecordService {
List<EqpEquipmentInspectionRecord> selectEqpInspectionRecordList(EqpEquipmentInspectionRecord record);
EqpEquipmentInspectionRecord selectEqpInspectionRecordByRecordId(Long recordId);
int insertEqpInspectionRecord(EqpEquipmentInspectionRecord record);
int updateEqpInspectionRecord(EqpEquipmentInspectionRecord record);
int deleteEqpInspectionRecordByRecordIds(Long[] recordIds);
int deleteEqpInspectionRecordByRecordId(Long recordId);
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.mill.service;
import com.ruoyi.mill.domain.EqpEquipmentPart;
import java.util.List;
public interface IEqpEquipmentPartService {
List<EqpEquipmentPart> selectEqpPartList(EqpEquipmentPart part);
EqpEquipmentPart selectEqpPartByPartId(Long partId);
int insertEqpPart(EqpEquipmentPart part);
int updateEqpPart(EqpEquipmentPart part);
int deleteEqpPartByPartIds(Long[] partIds);
int deleteEqpPartByPartId(Long partId);
}

View File

@@ -0,0 +1,8 @@
package com.ruoyi.mill.service;
import com.ruoyi.mill.domain.KlpCoilInfo;
public interface IKlpCoilService {
/** 根据入场钢卷号或当前钢卷号查询三级 WMS 钢卷信息 */
KlpCoilInfo queryByCoilNo(String coilNo);
}

View File

@@ -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<MesRollGrind> selectMesRollGrindList(MesRollGrind grind);
List<MesRollGrind> selectMesRollGrindByRollId(Long rollId);
MesRollGrind selectMesRollGrindById(Long grindId);
int insertMesRollGrind(MesRollGrind grind);
int updateMesRollGrind(MesRollGrind grind);
int deleteMesRollGrindById(Long grindId);
List<Map<String, Object>> selectMonthlyStats(Long rollId, int year);
}

View File

@@ -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<MesRollInfo> selectMesRollInfoList(MesRollInfo rollInfo);
MesRollInfo selectMesRollInfoById(Long rollId);
int insertMesRollInfo(MesRollInfo rollInfo);
int updateMesRollInfo(MesRollInfo rollInfo);
int deleteMesRollInfoByIds(Long[] rollIds);
Map<String, Object> selectStatusStats(Long lineId);
List<String> selectRollNoList(Long lineId, String rollType, String status);
void scrapRoll(Long rollId);
}

View File

@@ -0,0 +1,22 @@
package com.ruoyi.mill.service;
import com.ruoyi.mill.domain.QcInspectionItem;
import java.util.List;
public interface IQcInspectionItemService {
List<QcInspectionItem> selectQcInspectionItemList(QcInspectionItem item);
List<QcInspectionItem> selectQcInspectionItemByTaskId(Long taskId);
QcInspectionItem selectQcInspectionItemById(Long itemId);
int insertQcInspectionItem(QcInspectionItem item);
int updateQcInspectionItem(QcInspectionItem item);
int deleteQcInspectionItemById(Long itemId);
int deleteQcInspectionItemByTaskId(Long taskId);
}

View File

@@ -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<QcInspectionTask> selectQcInspectionTaskList(QcInspectionTask task);
List<QcInspectionTask> selectQcInspectionTaskListByDoubleRack(QcInspectionTask task);
QcInspectionTask selectQcInspectionTaskById(Long taskId);
int insertQcInspectionTask(QcInspectionTask task);
int updateQcInspectionTask(QcInspectionTask task);
int deleteQcInspectionTaskById(Long taskId);
int deleteQcInspectionTaskByIds(Long[] taskIds);
List<Map<String, Object>> selectDoubleRackCoilList();
}

View File

@@ -0,0 +1,22 @@
package com.ruoyi.mill.service;
import com.ruoyi.mill.domain.WmsCoilAbnormal;
import java.util.List;
public interface IWmsCoilAbnormalService {
List<WmsCoilAbnormal> selectWmsCoilAbnormalList(WmsCoilAbnormal abnormal);
List<WmsCoilAbnormal> selectWmsCoilAbnormalListByDoubleRack(WmsCoilAbnormal abnormal);
WmsCoilAbnormal selectWmsCoilAbnormalById(Long abnormalId);
int insertWmsCoilAbnormal(WmsCoilAbnormal abnormal);
int updateWmsCoilAbnormal(WmsCoilAbnormal abnormal);
int deleteWmsCoilAbnormalById(Long abnormalId);
int deleteWmsCoilAbnormalByIds(Long[] abnormalIds);
}

View File

@@ -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<EqpEquipmentChecklist> 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);
}
}

View File

@@ -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<EqpEquipmentInspectionRecord> 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);
}
}

View File

@@ -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<EqpEquipmentPart> 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);
}
}

View File

@@ -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);
}
}

View File

@@ -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<MesRollGrind> selectMesRollGrindList(MesRollGrind grind) {
return grindMapper.selectMesRollGrindList(grind);
}
@Override
public List<MesRollGrind> 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<MesRollGrind> 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<Map<String, Object>> selectMonthlyStats(Long rollId, int year) {
return grindMapper.selectMonthlyStats(rollId, year);
}
}

View File

@@ -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<MesRollInfo> 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<String, Object> selectStatusStats(Long lineId) {
List<Map<String, Object>> rows = rollInfoMapper.selectStatusStats(lineId);
Map<String, Object> result = new HashMap<>(8);
int total = 0;
for (Map<String, Object> 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<String> 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);
}
}

View File

@@ -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<QcInspectionItem> selectQcInspectionItemList(QcInspectionItem item) {
return itemMapper.selectQcInspectionItemList(item);
}
@Override
public List<QcInspectionItem> 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);
}
}

View File

@@ -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<Integer> DOUBLE_RACK_ACTION_TYPES = Arrays.asList(205, 504, 524);
@Autowired
private QcInspectionTaskMapper taskMapper;
@Override
public List<QcInspectionTask> selectQcInspectionTaskList(QcInspectionTask task) {
return taskMapper.selectQcInspectionTaskList(task);
}
@Override
public List<QcInspectionTask> selectQcInspectionTaskListByDoubleRack(QcInspectionTask task) {
List<Long> 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<Map<String, Object>> selectDoubleRackCoilList() {
List<Long> coilIds = getDoubleRackCoilIds();
if (coilIds.isEmpty()) {
return Collections.emptyList();
}
return taskMapper.selectCoilInfoByIds(coilIds);
}
private List<Long> getDoubleRackCoilIds() {
List<String> processedList = taskMapper.selectDoubleRackProcessedCoilIds(DOUBLE_RACK_ACTION_TYPES);
Set<Long> 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());
}
}

View File

@@ -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<Integer> DOUBLE_RACK_ACTION_TYPES = Arrays.asList(205, 504, 524);
@Autowired
private WmsCoilAbnormalMapper abnormalMapper;
@Autowired
private QcInspectionTaskMapper taskMapper;
@Override
public List<WmsCoilAbnormal> selectWmsCoilAbnormalList(WmsCoilAbnormal abnormal) {
return abnormalMapper.selectWmsCoilAbnormalList(abnormal);
}
@Override
public List<WmsCoilAbnormal> selectWmsCoilAbnormalListByDoubleRack(WmsCoilAbnormal abnormal) {
List<Long> 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<Long> getDoubleRackCoilIds() {
List<String> processedList = taskMapper.selectDoubleRackProcessedCoilIds(DOUBLE_RACK_ACTION_TYPES);
Set<Long> 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());
}
}

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.EqpEquipmentChecklistMapper">
<resultMap type="com.ruoyi.mill.domain.EqpEquipmentChecklist" id="EqpChecklistResult">
<id property="checkId" column="check_id" />
<result property="checkNo" column="check_no" />
<result property="partId" column="part_id" />
<result property="partName" column="part_name" />
<result property="checkContent" column="check_content" />
<result property="equipmentState" column="equipment_state" />
<result property="checkStandard" column="check_standard" />
<result property="responsiblePerson" column="responsible_person" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectEqpChecklistVo">
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
</sql>
<select id="selectEqpChecklistList" parameterType="com.ruoyi.mill.domain.EqpEquipmentChecklist" resultMap="EqpChecklistResult">
<include refid="selectEqpChecklistVo"/>
<where>
and del_flag = '0'
<if test="checkNo != null and checkNo != ''"> and check_no like concat('%', #{checkNo}, '%')</if>
<if test="partId != null"> and part_id = #{partId}</if>
<if test="partName != null and partName != ''"> and part_name like concat('%', #{partName}, '%')</if>
<if test="equipmentState != null and equipmentState != ''"> and equipment_state = #{equipmentState}</if>
<if test="checkStandard != null and checkStandard != ''"> and check_standard like concat('%', #{checkStandard}, '%')</if>
<if test="responsiblePerson != null and responsiblePerson != ''"> and responsible_person like concat('%', #{responsiblePerson}, '%')</if>
</where>
order by check_id asc
</select>
<select id="selectEqpChecklistByCheckId" parameterType="Long" resultMap="EqpChecklistResult">
<include refid="selectEqpChecklistVo"/>
where check_id = #{checkId} and del_flag = '0'
</select>
<insert id="insertEqpChecklist" parameterType="com.ruoyi.mill.domain.EqpEquipmentChecklist" useGeneratedKeys="true" keyProperty="checkId">
insert into eqp_equipment_checklist
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="checkNo != null">check_no,</if>
<if test="partId != null">part_id,</if>
<if test="partName != null">part_name,</if>
<if test="checkContent != null">check_content,</if>
<if test="equipmentState != null">equipment_state,</if>
<if test="checkStandard != null">check_standard,</if>
<if test="responsiblePerson != null">responsible_person,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="checkNo != null">#{checkNo},</if>
<if test="partId != null">#{partId},</if>
<if test="partName != null">#{partName},</if>
<if test="checkContent != null">#{checkContent},</if>
<if test="equipmentState != null">#{equipmentState},</if>
<if test="checkStandard != null">#{checkStandard},</if>
<if test="responsiblePerson != null">#{responsiblePerson},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
'0',
</trim>
</insert>
<update id="updateEqpChecklist" parameterType="com.ruoyi.mill.domain.EqpEquipmentChecklist">
update eqp_equipment_checklist
<trim prefix="SET" suffixOverrides=",">
<if test="checkNo != null">check_no = #{checkNo},</if>
<if test="partId != null">part_id = #{partId},</if>
<if test="partName != null">part_name = #{partName},</if>
<if test="checkContent != null">check_content = #{checkContent},</if>
<if test="equipmentState != null">equipment_state = #{equipmentState},</if>
<if test="checkStandard != null">check_standard = #{checkStandard},</if>
<if test="responsiblePerson != null">responsible_person = #{responsiblePerson},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where check_id = #{checkId}
</update>
<delete id="deleteEqpChecklistByCheckId" parameterType="Long">
update eqp_equipment_checklist set del_flag = '2' where check_id = #{checkId}
</delete>
<delete id="deleteEqpChecklistByCheckIds" parameterType="String">
update eqp_equipment_checklist set del_flag = '2' where check_id in
<foreach item="checkId" collection="array" open="(" separator="," close=")">
#{checkId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.EqpEquipmentInspectionRecordMapper">
<resultMap type="com.ruoyi.mill.domain.EqpEquipmentInspectionRecord" id="EqpInspectionRecordResult">
<id property="recordId" column="record_id" />
<result property="checkId" column="check_id" />
<result property="shift" column="shift" />
<result property="inspectTime" column="inspect_time" />
<result property="runStatus" column="run_status" />
<result property="inspector" column="inspector" />
<result property="abnormalDesc" column="abnormal_desc" />
<result property="photo" column="photo" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="checkContent" column="check_content" />
<result property="checkStandard" column="check_standard" />
<result property="partName" column="part_name" />
<result property="partId" column="part_id" />
</resultMap>
<select id="selectEqpInspectionRecordList" parameterType="com.ruoyi.mill.domain.EqpEquipmentInspectionRecord" resultMap="EqpInspectionRecordResult">
select r.record_id, r.check_id, r.shift, r.inspect_time, r.run_status,
r.inspector, r.abnormal_desc, r.photo, r.remark, r.del_flag,
r.create_by, r.create_time, r.update_by, r.update_time,
c.check_content, c.check_standard, c.part_name, c.part_id
from eqp_equipment_inspection_record r
left join eqp_equipment_checklist c on r.check_id = c.check_id and c.del_flag = '0'
<where>
and r.del_flag = '0'
<if test="checkId != null"> and r.check_id = #{checkId}</if>
<if test="partId != null"> and c.part_id = #{partId}</if>
<if test="shift != null"> and r.shift = #{shift}</if>
<if test="runStatus != null"> and r.run_status = #{runStatus}</if>
<if test="inspector != null and inspector != ''"> and r.inspector like concat('%', #{inspector}, '%')</if>
<if test="abnormalDesc != null and abnormalDesc != ''"> and r.abnormal_desc like concat('%', #{abnormalDesc}, '%')</if>
<if test="startInspectTime != null and startInspectTime != ''"> and r.inspect_time &gt;= #{startInspectTime}</if>
<if test="endInspectTime != null and endInspectTime != ''"> and r.inspect_time &lt;= concat(#{endInspectTime}, ' 23:59:59')</if>
</where>
order by r.inspect_time desc
</select>
<select id="selectEqpInspectionRecordByRecordId" parameterType="Long" resultMap="EqpInspectionRecordResult">
select r.record_id, r.check_id, r.shift, r.inspect_time, r.run_status,
r.inspector, r.abnormal_desc, r.photo, r.remark, r.del_flag,
r.create_by, r.create_time, r.update_by, r.update_time,
c.check_content, c.check_standard, c.part_name, c.part_id
from eqp_equipment_inspection_record r
left join eqp_equipment_checklist c on r.check_id = c.check_id and c.del_flag = '0'
where r.record_id = #{recordId} and r.del_flag = '0'
</select>
<insert id="insertEqpInspectionRecord" parameterType="com.ruoyi.mill.domain.EqpEquipmentInspectionRecord" useGeneratedKeys="true" keyProperty="recordId">
insert into eqp_equipment_inspection_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="checkId != null">check_id,</if>
<if test="shift != null">shift,</if>
<if test="inspectTime != null">inspect_time,</if>
<if test="runStatus != null">run_status,</if>
<if test="inspector != null">inspector,</if>
<if test="abnormalDesc != null">abnormal_desc,</if>
<if test="photo != null">photo,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="checkId != null">#{checkId},</if>
<if test="shift != null">#{shift},</if>
<if test="inspectTime != null">#{inspectTime},</if>
<if test="runStatus != null">#{runStatus},</if>
<if test="inspector != null">#{inspector},</if>
<if test="abnormalDesc != null">#{abnormalDesc},</if>
<if test="photo != null">#{photo},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
'0',
</trim>
</insert>
<update id="updateEqpInspectionRecord" parameterType="com.ruoyi.mill.domain.EqpEquipmentInspectionRecord">
update eqp_equipment_inspection_record
<trim prefix="SET" suffixOverrides=",">
<if test="checkId != null">check_id = #{checkId},</if>
<if test="shift != null">shift = #{shift},</if>
<if test="inspectTime != null">inspect_time = #{inspectTime},</if>
<if test="runStatus != null">run_status = #{runStatus},</if>
<if test="inspector != null">inspector = #{inspector},</if>
<if test="abnormalDesc != null">abnormal_desc = #{abnormalDesc},</if>
<if test="photo != null">photo = #{photo},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where record_id = #{recordId}
</update>
<delete id="deleteEqpInspectionRecordByRecordId" parameterType="Long">
update eqp_equipment_inspection_record set del_flag = '2' where record_id = #{recordId}
</delete>
<delete id="deleteEqpInspectionRecordByRecordIds" parameterType="String">
update eqp_equipment_inspection_record set del_flag = '2' where record_id in
<foreach item="recordId" collection="array" open="(" separator="," close=")">
#{recordId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.EqpEquipmentPartMapper">
<resultMap type="com.ruoyi.mill.domain.EqpEquipmentPart" id="EqpPartResult">
<id property="partId" column="part_id" />
<result property="inspectPart" column="inspect_part" />
<result property="productionLine" column="production_line" />
<result property="lineSection" column="line_section" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectEqpPartVo">
select part_id, inspect_part, production_line, line_section, remark,
del_flag, create_by, create_time, update_by, update_time
from eqp_equipment_part
</sql>
<select id="selectEqpPartList" parameterType="com.ruoyi.mill.domain.EqpEquipmentPart" resultMap="EqpPartResult">
<include refid="selectEqpPartVo"/>
<where>
and del_flag = '0'
<if test="inspectPart != null and inspectPart != ''"> and inspect_part like concat('%', #{inspectPart}, '%')</if>
<if test="productionLine != null and productionLine != ''"> and production_line = #{productionLine}</if>
<if test="lineSection != null and lineSection != ''"> and line_section like concat('%', #{lineSection}, '%')</if>
</where>
order by part_id asc
</select>
<select id="selectEqpPartByPartId" parameterType="Long" resultMap="EqpPartResult">
<include refid="selectEqpPartVo"/>
where part_id = #{partId} and del_flag = '0'
</select>
<insert id="insertEqpPart" parameterType="com.ruoyi.mill.domain.EqpEquipmentPart" useGeneratedKeys="true" keyProperty="partId">
insert into eqp_equipment_part
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="inspectPart != null and inspectPart != ''">inspect_part,</if>
<if test="productionLine != null">production_line,</if>
<if test="lineSection != null">line_section,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="inspectPart != null and inspectPart != ''">#{inspectPart},</if>
<if test="productionLine != null">#{productionLine},</if>
<if test="lineSection != null">#{lineSection},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
'0',
</trim>
</insert>
<update id="updateEqpPart" parameterType="com.ruoyi.mill.domain.EqpEquipmentPart">
update eqp_equipment_part
<trim prefix="SET" suffixOverrides=",">
<if test="inspectPart != null and inspectPart != ''">inspect_part = #{inspectPart},</if>
<if test="productionLine != null">production_line = #{productionLine},</if>
<if test="lineSection != null">line_section = #{lineSection},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where part_id = #{partId}
</update>
<delete id="deleteEqpPartByPartId" parameterType="Long">
update eqp_equipment_part set del_flag = '2' where part_id = #{partId}
</delete>
<delete id="deleteEqpPartByPartIds" parameterType="String">
update eqp_equipment_part set del_flag = '2' where part_id in
<foreach item="partId" collection="array" open="(" separator="," close=")">
#{partId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.KlpCoilMapper">
<resultMap id="KlpCoilInfoResult" type="com.ruoyi.mill.domain.KlpCoilInfo">
<id property="coilId" column="coil_id"/>
<result property="enterCoilNo" column="enter_coil_no"/>
<result property="currentCoilNo" column="current_coil_no"/>
<result property="supplierCoilNo" column="supplier_coil_no"/>
<result property="actualThickness" column="actual_thickness"/>
<result property="actualWidth" column="actual_width"/>
<result property="netWeight" column="net_weight"/>
<result property="grossWeight" column="gross_weight"/>
<result property="length" column="length"/>
<result property="qualityStatus" column="quality_status"/>
<result property="materialType" column="material_type"/>
<result property="temperGrade" column="temper_grade"/>
</resultMap>
<select id="selectByCoilNo" resultMap="KlpCoilInfoResult">
SELECT coil_id, enter_coil_no, current_coil_no, supplier_coil_no,
actual_thickness, actual_width, net_weight, gross_weight, length,
quality_status, material_type, temper_grade
FROM wms_material_coil
WHERE enter_coil_no = #{coilNo}
OR current_coil_no = #{coilNo}
LIMIT 1
</select>
</mapper>

View File

@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.MesRollGrindMapper">
<resultMap type="com.ruoyi.mill.domain.MesRollGrind" id="MesRollGrindResult">
<id property="grindId" column="grind_id" />
<result property="lineId" column="line_id" />
<result property="rollId" column="roll_id" />
<result property="rollNo" column="roll_no" />
<result property="grindTime" column="grind_time" />
<result property="team" column="team" />
<result property="diaBefore" column="dia_before" />
<result property="diaAfter" column="dia_after" />
<result property="grindAmount" column="grind_amount" />
<result property="rollShape" column="roll_shape" />
<result property="flawResult" column="flaw_result" />
<result property="hardness" column="hardness" />
<result property="operator" column="operator" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<select id="selectMesRollGrindList" parameterType="com.ruoyi.mill.domain.MesRollGrind" resultMap="MesRollGrindResult">
SELECT grind_id, line_id, roll_id, roll_no, grind_time, team, dia_before, dia_after,
grind_amount, roll_shape, flaw_result,
CASE WHEN hardness = '未倒角' THEN 0 ELSE CAST(hardness AS DECIMAL(10,1)) END AS hardness,
operator, remark, del_flag, create_by, create_time
FROM mes_roll_grind
<where>
and del_flag = 0
<if test="rollId != null"> and roll_id = #{rollId}</if>
<if test="lineId != null"> and line_id = #{lineId}</if>
<if test="beginTime != null and beginTime != ''"> and grind_time &gt;= #{beginTime}</if>
<if test="endTime != null and endTime != ''"> and grind_time &lt;= #{endTime}</if>
</where>
ORDER BY grind_time ASC, grind_id ASC
</select>
<select id="selectMesRollGrindByRollId" resultMap="MesRollGrindResult">
SELECT grind_id, line_id, roll_id, roll_no, grind_time, team, dia_before, dia_after,
grind_amount, roll_shape, flaw_result,
CASE WHEN hardness = '未倒角' THEN 0 ELSE CAST(hardness AS DECIMAL(10,1)) END AS hardness,
operator, remark, del_flag, create_by, create_time
FROM mes_roll_grind
WHERE del_flag = 0 AND roll_id = #{rollId}
ORDER BY grind_time ASC, grind_id ASC
</select>
<select id="selectMesRollGrindById" parameterType="Long" resultMap="MesRollGrindResult">
SELECT * FROM mes_roll_grind WHERE grind_id = #{grindId} AND del_flag = 0
</select>
<select id="selectMonthlyStats" resultType="map">
SELECT
DATE_FORMAT(grind_time, '%Y-%m') AS month,
COUNT(*) AS grindCount,
IFNULL(SUM(grind_amount), 0) AS totalGrindAmount
FROM mes_roll_grind
WHERE del_flag = 0
AND roll_id = #{rollId}
AND YEAR(grind_time) = #{year}
GROUP BY DATE_FORMAT(grind_time, '%Y-%m')
ORDER BY month ASC
</select>
<insert id="insertMesRollGrind" parameterType="com.ruoyi.mill.domain.MesRollGrind" useGeneratedKeys="true" keyProperty="grindId">
insert into mes_roll_grind
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="lineId != null">line_id,</if>
<if test="rollId != null">roll_id,</if>
<if test="rollNo != null">roll_no,</if>
<if test="grindTime != null">grind_time,</if>
<if test="team != null">team,</if>
<if test="diaBefore != null">dia_before,</if>
<if test="diaAfter != null">dia_after,</if>
<if test="grindAmount != null">grind_amount,</if>
<if test="rollShape != null">roll_shape,</if>
<if test="flawResult != null">flaw_result,</if>
<if test="hardness != null">hardness,</if>
<if test="operator != null">operator,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="lineId != null">#{lineId},</if>
<if test="rollId != null">#{rollId},</if>
<if test="rollNo != null">#{rollNo},</if>
<if test="grindTime != null">#{grindTime},</if>
<if test="team != null">#{team},</if>
<if test="diaBefore != null">#{diaBefore},</if>
<if test="diaAfter != null">#{diaAfter},</if>
<if test="grindAmount != null">#{grindAmount},</if>
<if test="rollShape != null">#{rollShape},</if>
<if test="flawResult != null">#{flawResult},</if>
<if test="hardness != null">#{hardness},</if>
<if test="operator != null">#{operator},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
0,
</trim>
</insert>
<update id="updateMesRollGrind" parameterType="com.ruoyi.mill.domain.MesRollGrind">
update mes_roll_grind
<trim prefix="SET" suffixOverrides=",">
<if test="grindTime != null">grind_time = #{grindTime},</if>
<if test="team != null">team = #{team},</if>
<if test="diaBefore != null">dia_before = #{diaBefore},</if>
<if test="diaAfter != null">dia_after = #{diaAfter},</if>
<if test="grindAmount != null">grind_amount = #{grindAmount},</if>
<if test="rollShape != null">roll_shape = #{rollShape},</if>
<if test="flawResult != null">flaw_result = #{flawResult},</if>
<if test="hardness != null">hardness = #{hardness},</if>
<if test="operator != null">operator = #{operator},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where grind_id = #{grindId}
</update>
<delete id="deleteMesRollGrindById" parameterType="Long">
update mes_roll_grind set del_flag = 1 where grind_id = #{grindId}
</delete>
</mapper>

View File

@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.MesRollInfoMapper">
<resultMap type="com.ruoyi.mill.domain.MesRollInfo" id="MesRollInfoResult">
<id property="rollId" column="roll_id" />
<result property="lineId" column="line_id" />
<result property="rollNo" column="roll_no" />
<result property="rollType" column="roll_type" />
<result property="status" column="status" />
<result property="initialDia" column="initial_dia" />
<result property="currentDia" column="current_dia" />
<result property="minDia" column="min_dia" />
<result property="roughness" column="roughness" />
<result property="crown" column="crown" />
<result property="material" column="material" />
<result property="grindCount" column="grind_count" />
<result property="totalRolledWeight" column="total_rolled_weight" />
<result property="totalRolledLength" column="total_rolled_length" />
<result property="totalRolledCount" column="total_rolled_count" />
<result property="manufactureDate" column="manufacture_date" />
<result property="manufacturer" column="manufacturer" />
<result property="delFlag" column="del_flag" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<select id="selectMesRollInfoList" parameterType="com.ruoyi.mill.domain.MesRollInfo" resultMap="MesRollInfoResult">
select roll_id, line_id, roll_no, roll_type, status, initial_dia, current_dia, min_dia,
roughness, crown, material, grind_count, total_rolled_weight, total_rolled_length,
total_rolled_count, manufacture_date, manufacturer, remark, del_flag,
create_by, create_time, update_by, update_time
from mes_roll_info
<where>
and del_flag = 0
<if test="lineId != null"> and line_id = #{lineId}</if>
<if test="rollNo != null and rollNo != ''"> and roll_no like concat('%', #{rollNo}, '%')</if>
<if test="rollType != null and rollType != ''"> and roll_type = #{rollType}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="manufacturer != null and manufacturer != ''"> and manufacturer like concat('%', #{manufacturer}, '%')</if>
</where>
order by roll_type asc, roll_id asc
</select>
<select id="selectMesRollInfoById" parameterType="Long" resultMap="MesRollInfoResult">
select roll_id, line_id, roll_no, roll_type, status, initial_dia, current_dia, min_dia,
roughness, crown, material, grind_count, total_rolled_weight, total_rolled_length,
total_rolled_count, manufacture_date, manufacturer, remark, del_flag,
create_by, create_time, update_by, update_time
from mes_roll_info
where del_flag = 0 and roll_id = #{rollId}
</select>
<select id="selectMesRollInfoByRollNo" resultMap="MesRollInfoResult">
select * from mes_roll_info where del_flag = 0 and roll_no = #{rollNo} limit 1
</select>
<select id="selectStatusStats" resultType="map">
SELECT status, COUNT(*) AS cnt
FROM mes_roll_info
WHERE del_flag = 0
<if test="lineId != null">AND line_id = #{lineId}</if>
GROUP BY status
</select>
<select id="selectRollNoList" resultType="string">
SELECT roll_no FROM mes_roll_info
WHERE del_flag = 0 AND status != 'Scrapped'
<if test="lineId != null">AND line_id = #{lineId}</if>
<if test="rollType != null and rollType != ''">AND roll_type = #{rollType}</if>
<if test="status != null and status != ''">AND status = #{status}</if>
ORDER BY roll_no ASC
</select>
<insert id="insertMesRollInfo" parameterType="com.ruoyi.mill.domain.MesRollInfo" useGeneratedKeys="true" keyProperty="rollId">
insert into mes_roll_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="lineId != null">line_id,</if>
<if test="rollNo != null">roll_no,</if>
<if test="rollType != null">roll_type,</if>
<if test="status != null">status,</if>
<if test="initialDia != null">initial_dia,</if>
<if test="currentDia != null">current_dia,</if>
<if test="minDia != null">min_dia,</if>
<if test="roughness != null">roughness,</if>
<if test="crown != null">crown,</if>
<if test="material != null">material,</if>
<if test="grindCount != null">grind_count,</if>
<if test="manufactureDate != null">manufacture_date,</if>
<if test="manufacturer != null">manufacturer,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="lineId != null">#{lineId},</if>
<if test="rollNo != null">#{rollNo},</if>
<if test="rollType != null">#{rollType},</if>
<if test="status != null">#{status},</if>
<if test="initialDia != null">#{initialDia},</if>
<if test="currentDia != null">#{currentDia},</if>
<if test="minDia != null">#{minDia},</if>
<if test="roughness != null">#{roughness},</if>
<if test="crown != null">#{crown},</if>
<if test="material != null">#{material},</if>
<if test="grindCount != null">#{grindCount},</if>
<if test="manufactureDate != null">#{manufactureDate},</if>
<if test="manufacturer != null">#{manufacturer},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
0,
</trim>
</insert>
<update id="updateMesRollInfo" parameterType="com.ruoyi.mill.domain.MesRollInfo">
update mes_roll_info
<trim prefix="SET" suffixOverrides=",">
<if test="rollNo != null">roll_no = #{rollNo},</if>
<if test="rollType != null">roll_type = #{rollType},</if>
<if test="status != null">status = #{status},</if>
<if test="initialDia != null">initial_dia = #{initialDia},</if>
<if test="currentDia != null">current_dia = #{currentDia},</if>
<if test="minDia != null">min_dia = #{minDia},</if>
<if test="roughness != null">roughness = #{roughness},</if>
<if test="crown != null">crown = #{crown},</if>
<if test="material != null">material = #{material},</if>
<if test="grindCount != null">grind_count = #{grindCount},</if>
<if test="totalRolledWeight != null">total_rolled_weight = #{totalRolledWeight},</if>
<if test="totalRolledLength != null">total_rolled_length = #{totalRolledLength},</if>
<if test="totalRolledCount != null">total_rolled_count = #{totalRolledCount},</if>
<if test="manufactureDate != null">manufacture_date = #{manufactureDate},</if>
<if test="manufacturer != null">manufacturer = #{manufacturer},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where roll_id = #{rollId}
</update>
<delete id="deleteMesRollInfoById" parameterType="Long">
update mes_roll_info set del_flag = 1 where roll_id = #{rollId}
</delete>
<delete id="deleteMesRollInfoByIds" parameterType="Long">
update mes_roll_info set del_flag = 1 where roll_id in
<foreach item="rollId" collection="array" open="(" separator="," close=")">
#{rollId}
</foreach>
</delete>
<update id="updateStatusByRollNo">
UPDATE mes_roll_info SET status = #{status}, update_time = NOW()
WHERE del_flag = 0 AND roll_no = #{rollNo}
</update>
<update id="incrementGrindCount">
UPDATE mes_roll_info
SET grind_count = grind_count + 1,
<if test="diaAfter != null">current_dia = #{diaAfter},</if>
update_time = NOW()
WHERE del_flag = 0 AND roll_id = #{rollId}
</update>
<update id="updateCurrentDia">
UPDATE mes_roll_info SET current_dia = #{currentDia}, update_time = NOW()
WHERE del_flag = 0 AND roll_id = #{rollId}
</update>
</mapper>

View File

@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.QcInspectionItemMapper">
<resultMap type="com.ruoyi.mill.domain.QcInspectionItem" id="QcInspectionItemResult">
<id property="itemId" column="item_id" />
<result property="taskId" column="task_id" />
<result property="itemName" column="item_name" />
<result property="standardValue" column="standard_value" />
<result property="upperLimit" column="upper_limit" />
<result property="lowerLimit" column="lower_limit" />
<result property="unit" column="unit" />
<result property="itemType" column="item_type" />
<result property="inspectValue" column="inspect_value" />
<result property="isQualified" column="is_qualified" />
<result property="judgeResult" column="judge_result" />
<result property="inspectUser" column="inspect_user" />
<result property="inspectTime" column="inspect_time" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<select id="selectQcInspectionItemList" parameterType="com.ruoyi.mill.domain.QcInspectionItem" resultMap="QcInspectionItemResult">
SELECT item_id, task_id, item_name, standard_value, upper_limit, lower_limit, unit,
item_type, inspect_value, is_qualified, judge_result, inspect_user, inspect_time,
remark, del_flag, create_by, create_time
FROM qc_inspection_item
<where>
AND del_flag = 0
<if test="taskId != null"> AND task_id = #{taskId}</if>
<if test="itemName != null and itemName != ''"> AND item_name LIKE concat('%', #{itemName}, '%')</if>
</where>
ORDER BY item_id ASC
</select>
<select id="selectQcInspectionItemByTaskId" resultMap="QcInspectionItemResult">
SELECT item_id, task_id, item_name, standard_value, upper_limit, lower_limit, unit,
item_type, inspect_value, is_qualified, judge_result, inspect_user, inspect_time, remark
FROM qc_inspection_item
WHERE del_flag = 0 AND task_id = #{taskId}
ORDER BY item_id ASC
</select>
<select id="selectQcInspectionItemById" parameterType="Long" resultMap="QcInspectionItemResult">
SELECT * FROM qc_inspection_item WHERE item_id = #{itemId} AND del_flag = 0
</select>
<insert id="insertQcInspectionItem" parameterType="com.ruoyi.mill.domain.QcInspectionItem" useGeneratedKeys="true" keyProperty="itemId">
INSERT INTO qc_inspection_item
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taskId != null">task_id,</if>
<if test="itemName != null">item_name,</if>
<if test="standardValue != null">standard_value,</if>
<if test="upperLimit != null">upper_limit,</if>
<if test="lowerLimit != null">lower_limit,</if>
<if test="unit != null">unit,</if>
<if test="itemType != null">item_type,</if>
<if test="inspectValue != null">inspect_value,</if>
<if test="isQualified != null">is_qualified,</if>
<if test="judgeResult != null">judge_result,</if>
<if test="inspectUser != null">inspect_user,</if>
<if test="inspectTime != null">inspect_time,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskId != null">#{taskId},</if>
<if test="itemName != null">#{itemName},</if>
<if test="standardValue != null">#{standardValue},</if>
<if test="upperLimit != null">#{upperLimit},</if>
<if test="lowerLimit != null">#{lowerLimit},</if>
<if test="unit != null">#{unit},</if>
<if test="itemType != null">#{itemType},</if>
<if test="inspectValue != null">#{inspectValue},</if>
<if test="isQualified != null">#{isQualified},</if>
<if test="judgeResult != null">#{judgeResult},</if>
<if test="inspectUser != null">#{inspectUser},</if>
<if test="inspectTime != null">#{inspectTime},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
0,
</trim>
</insert>
<update id="updateQcInspectionItem" parameterType="com.ruoyi.mill.domain.QcInspectionItem">
UPDATE qc_inspection_item
<trim prefix="SET" suffixOverrides=",">
<if test="itemName != null">item_name = #{itemName},</if>
<if test="standardValue != null">standard_value = #{standardValue},</if>
<if test="upperLimit != null">upper_limit = #{upperLimit},</if>
<if test="lowerLimit != null">lower_limit = #{lowerLimit},</if>
<if test="unit != null">unit = #{unit},</if>
<if test="itemType != null">item_type = #{itemType},</if>
<if test="inspectValue != null">inspect_value = #{inspectValue},</if>
<if test="isQualified != null">is_qualified = #{isQualified},</if>
<if test="judgeResult != null">judge_result = #{judgeResult},</if>
<if test="inspectUser != null">inspect_user = #{inspectUser},</if>
<if test="inspectTime != null">inspect_time = #{inspectTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
WHERE item_id = #{itemId}
</update>
<delete id="deleteQcInspectionItemById">
UPDATE qc_inspection_item SET del_flag = 1 WHERE item_id = #{itemId}
</delete>
<delete id="deleteQcInspectionItemByTaskId">
UPDATE qc_inspection_item SET del_flag = 1 WHERE task_id = #{taskId}
</delete>
</mapper>

View File

@@ -0,0 +1,182 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.QcInspectionTaskMapper">
<resultMap type="com.ruoyi.mill.domain.QcInspectionTask" id="QcInspectionTaskResult">
<id property="taskId" column="task_id" />
<result property="taskCode" column="task_code" />
<result property="taskType" column="task_type" />
<result property="belongCompany" column="belong_company" />
<result property="sourceType" column="source_type" />
<result property="sourceId" column="source_id" />
<result property="schemeId" column="scheme_id" />
<result property="schemeName" column="scheme_name" />
<result property="status" column="status" />
<result property="inspectUser" column="inspect_user" />
<result property="inspectTime" column="inspect_time" />
<result property="auditUser" column="audit_user" />
<result property="auditTime" column="audit_time" />
<result property="result" column="result" />
<result property="remark" column="remark" />
<result property="coilIds" column="coil_ids" />
<result property="enterCoilNos" column="enter_coil_nos" />
<result property="attachmentFiles" column="attachment_files" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectTaskVo">
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
</sql>
<select id="selectQcInspectionTaskList" parameterType="com.ruoyi.mill.domain.QcInspectionTask" resultMap="QcInspectionTaskResult">
<include refid="selectTaskVo"/>
<where>
AND del_flag = 0
<if test="taskCode != null and taskCode != ''"> AND task_code LIKE concat('%', #{taskCode}, '%')</if>
<if test="taskType != null and taskType != ''"> AND task_type = #{taskType}</if>
<if test="belongCompany != null and belongCompany != ''"> AND belong_company = #{belongCompany}</if>
<if test="schemeName != null and schemeName != ''"> AND scheme_name = #{schemeName}</if>
<if test="status != null"> AND status = #{status}</if>
<if test="inspectUser != null and inspectUser != ''"> AND inspect_user LIKE concat('%', #{inspectUser}, '%')</if>
<if test="result != null and result != ''"> AND result = #{result}</if>
<if test="coilId != null"> AND FIND_IN_SET(#{coilId}, coil_ids)</if>
<if test="beginTime != null and beginTime != ''"> AND create_time &gt;= #{beginTime}</if>
<if test="endTime != null and endTime != ''"> AND create_time &lt;= concat(#{endTime}, ' 23:59:59')</if>
</where>
ORDER BY create_time DESC
</select>
<select id="selectQcInspectionTaskListByCoilIds" resultMap="QcInspectionTaskResult">
<include refid="selectTaskVo"/>
<where>
AND del_flag = 0
<if test="task.taskCode != null and task.taskCode != ''"> AND task_code LIKE concat('%', #{task.taskCode}, '%')</if>
<if test="task.taskType != null and task.taskType != ''"> AND task_type = #{task.taskType}</if>
<if test="task.status != null"> AND status = #{task.status}</if>
<if test="task.inspectUser != null and task.inspectUser != ''"> AND inspect_user LIKE concat('%', #{task.inspectUser}, '%')</if>
<if test="task.result != null and task.result != ''"> AND result = #{task.result}</if>
<if test="task.coilId != null"> AND FIND_IN_SET(#{task.coilId}, coil_ids)</if>
<if test="task.beginTime != null and task.beginTime != ''"> AND create_time &gt;= #{task.beginTime}</if>
<if test="task.endTime != null and task.endTime != ''"> AND create_time &lt;= concat(#{task.endTime}, ' 23:59:59')</if>
<if test="coilIds != null and coilIds.size() > 0">
AND (
<foreach item="cid" collection="coilIds" separator=" OR ">
FIND_IN_SET(#{cid}, coil_ids)
</foreach>
)
</if>
</where>
ORDER BY create_time DESC
</select>
<select id="selectQcInspectionTaskById" parameterType="Long" resultMap="QcInspectionTaskResult">
<include refid="selectTaskVo"/>
WHERE task_id = #{taskId} AND del_flag = 0
</select>
<!-- 获取双机架 processed_coil_ids -->
<select id="selectDoubleRackProcessedCoilIds" resultType="string">
SELECT processed_coil_ids
FROM wms_coil_pending_action
WHERE del_flag = 0
AND processed_coil_ids IS NOT NULL
AND processed_coil_ids != ''
AND action_type IN
<foreach item="t" collection="actionTypes" open="(" separator="," close=")">
#{t}
</foreach>
</select>
<!-- 按 coilId 列表获取钢卷信息coilId + 卷号) -->
<select id="selectCoilInfoByIds" resultType="map">
SELECT coil_id AS coilId, current_coil_no AS coilNo, enter_coil_no AS enterCoilNo
FROM wms_material_coil
WHERE del_flag = 0
AND coil_id IN
<foreach item="id" collection="coilIds" open="(" separator="," close=")">
#{id}
</foreach>
ORDER BY create_time DESC
</select>
<insert id="insertQcInspectionTask" parameterType="com.ruoyi.mill.domain.QcInspectionTask" useGeneratedKeys="true" keyProperty="taskId">
INSERT INTO qc_inspection_task
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taskCode != null">task_code,</if>
<if test="taskType != null">task_type,</if>
<if test="belongCompany != null">belong_company,</if>
<if test="sourceType != null">source_type,</if>
<if test="schemeId != null">scheme_id,</if>
<if test="schemeName != null">scheme_name,</if>
<if test="status != null">status,</if>
<if test="inspectUser != null">inspect_user,</if>
<if test="inspectTime != null">inspect_time,</if>
<if test="result != null">result,</if>
<if test="remark != null">remark,</if>
<if test="coilIds != null">coil_ids,</if>
<if test="enterCoilNos != null">enter_coil_nos,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskCode != null">#{taskCode},</if>
<if test="taskType != null">#{taskType},</if>
<if test="belongCompany != null">#{belongCompany},</if>
<if test="sourceType != null">#{sourceType},</if>
<if test="schemeId != null">#{schemeId},</if>
<if test="schemeName != null">#{schemeName},</if>
<if test="status != null">#{status},</if>
<if test="inspectUser != null">#{inspectUser},</if>
<if test="inspectTime != null">#{inspectTime},</if>
<if test="result != null">#{result},</if>
<if test="remark != null">#{remark},</if>
<if test="coilIds != null">#{coilIds},</if>
<if test="enterCoilNos != null">#{enterCoilNos},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
0,
</trim>
</insert>
<update id="updateQcInspectionTask" parameterType="com.ruoyi.mill.domain.QcInspectionTask">
UPDATE qc_inspection_task
<trim prefix="SET" suffixOverrides=",">
<if test="taskType != null">task_type = #{taskType},</if>
<if test="belongCompany != null">belong_company = #{belongCompany},</if>
<if test="schemeName != null">scheme_name = #{schemeName},</if>
<if test="status != null">status = #{status},</if>
<if test="inspectUser != null">inspect_user = #{inspectUser},</if>
<if test="inspectTime != null">inspect_time = #{inspectTime},</if>
<if test="auditUser != null">audit_user = #{auditUser},</if>
<if test="auditTime != null">audit_time = #{auditTime},</if>
<if test="result != null">result = #{result},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="coilIds != null">coil_ids = #{coilIds},</if>
<if test="enterCoilNos != null">enter_coil_nos = #{enterCoilNos},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
WHERE task_id = #{taskId}
</update>
<delete id="deleteQcInspectionTaskById">
UPDATE qc_inspection_task SET del_flag = 1 WHERE task_id = #{taskId}
</delete>
<delete id="deleteQcInspectionTaskByIds">
UPDATE qc_inspection_task SET del_flag = 1 WHERE task_id IN
<foreach item="taskId" collection="array" open="(" separator="," close=")">
#{taskId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mill.mapper.WmsCoilAbnormalMapper">
<resultMap type="com.ruoyi.mill.domain.WmsCoilAbnormal" id="WmsCoilAbnormalResult">
<id property="abnormalId" column="abnormal_id" />
<result property="coilId" column="coil_id" />
<result property="productionLine" column="production_line" />
<result property="position" column="position" />
<result property="plateSurface" column="plate_surface" />
<result property="length" column="length" />
<result property="startPosition" column="start_position" />
<result property="endPosition" column="end_position" />
<result property="defectCode" column="defect_code" />
<result property="defectType" column="defect_type" />
<result property="defectRate" column="defect_rate" />
<result property="defectWeight" column="defect_weight" />
<result property="degree" column="degree" />
<result property="judgeLevel" column="judge_level" />
<result property="judgeBy" column="judge_by" />
<result property="judgeTime" column="judge_time" />
<result property="mainMark" column="main_mark" />
<result property="wholeCoilMark" column="whole_coil_mark" />
<result property="attachmentFiles" column="attachment_files" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="coilNo" column="current_coil_no" />
</resultMap>
<sql id="selectAbnormalVo">
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
</sql>
<select id="selectWmsCoilAbnormalList" parameterType="com.ruoyi.mill.domain.WmsCoilAbnormal" resultMap="WmsCoilAbnormalResult">
<include refid="selectAbnormalVo"/>
<where>
AND a.del_flag = 0
<if test="coilId != null"> AND a.coil_id = #{coilId}</if>
<if test="coilNo != null and coilNo != ''"> AND mc.current_coil_no LIKE concat('%', #{coilNo}, '%')</if>
<if test="productionLine != null and productionLine != ''"> AND a.production_line LIKE concat('%', #{productionLine}, '%')</if>
<if test="defectType != null and defectType != ''"> AND a.defect_type LIKE concat('%', #{defectType}, '%')</if>
<if test="degree != null and degree != ''"> AND a.degree = #{degree}</if>
<if test="judgeLevel != null and judgeLevel != ''"> AND a.judge_level = #{judgeLevel}</if>
<if test="beginTime != null and beginTime != ''"> AND a.judge_time &gt;= #{beginTime}</if>
<if test="endTime != null and endTime != ''"> AND a.judge_time &lt;= concat(#{endTime}, ' 23:59:59')</if>
</where>
ORDER BY a.create_time DESC
</select>
<select id="selectWmsCoilAbnormalListByCoilIds" resultMap="WmsCoilAbnormalResult">
<include refid="selectAbnormalVo"/>
<where>
AND a.del_flag = 0
<if test="abnormal.coilId != null"> AND a.coil_id = #{abnormal.coilId}</if>
<if test="abnormal.coilNo != null and abnormal.coilNo != ''"> AND mc.current_coil_no LIKE concat('%', #{abnormal.coilNo}, '%')</if>
<if test="abnormal.productionLine != null and abnormal.productionLine != ''"> AND a.production_line LIKE concat('%', #{abnormal.productionLine}, '%')</if>
<if test="abnormal.defectType != null and abnormal.defectType != ''"> AND a.defect_type LIKE concat('%', #{abnormal.defectType}, '%')</if>
<if test="abnormal.degree != null and abnormal.degree != ''"> AND a.degree = #{abnormal.degree}</if>
<if test="abnormal.beginTime != null and abnormal.beginTime != ''"> AND a.judge_time &gt;= #{abnormal.beginTime}</if>
<if test="abnormal.endTime != null and abnormal.endTime != ''"> AND a.judge_time &lt;= concat(#{abnormal.endTime}, ' 23:59:59')</if>
<if test="coilIds != null and coilIds.size() > 0">
AND a.coil_id IN
<foreach item="cid" collection="coilIds" open="(" separator="," close=")">
#{cid}
</foreach>
</if>
</where>
ORDER BY a.create_time DESC
</select>
<select id="selectWmsCoilAbnormalById" parameterType="Long" resultMap="WmsCoilAbnormalResult">
<include refid="selectAbnormalVo"/>
WHERE a.abnormal_id = #{abnormalId} AND a.del_flag = 0
</select>
<insert id="insertWmsCoilAbnormal" parameterType="com.ruoyi.mill.domain.WmsCoilAbnormal" useGeneratedKeys="true" keyProperty="abnormalId">
INSERT INTO wms_coil_abnormal
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="coilId != null">coil_id,</if>
<if test="productionLine != null">production_line,</if>
<if test="position != null">position,</if>
<if test="plateSurface != null">plate_surface,</if>
<if test="length != null">length,</if>
<if test="startPosition != null">start_position,</if>
<if test="endPosition != null">end_position,</if>
<if test="defectCode != null">defect_code,</if>
<if test="defectType != null">defect_type,</if>
<if test="defectRate != null">defect_rate,</if>
<if test="defectWeight != null">defect_weight,</if>
<if test="degree != null">degree,</if>
<if test="judgeLevel != null">judge_level,</if>
<if test="judgeBy != null">judge_by,</if>
<if test="judgeTime != null">judge_time,</if>
<if test="mainMark != null">main_mark,</if>
<if test="wholeCoilMark != null">whole_coil_mark,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="coilId != null">#{coilId},</if>
<if test="productionLine != null">#{productionLine},</if>
<if test="position != null">#{position},</if>
<if test="plateSurface != null">#{plateSurface},</if>
<if test="length != null">#{length},</if>
<if test="startPosition != null">#{startPosition},</if>
<if test="endPosition != null">#{endPosition},</if>
<if test="defectCode != null">#{defectCode},</if>
<if test="defectType != null">#{defectType},</if>
<if test="defectRate != null">#{defectRate},</if>
<if test="defectWeight != null">#{defectWeight},</if>
<if test="degree != null">#{degree},</if>
<if test="judgeLevel != null">#{judgeLevel},</if>
<if test="judgeBy != null">#{judgeBy},</if>
<if test="judgeTime != null">#{judgeTime},</if>
<if test="mainMark != null">#{mainMark},</if>
<if test="wholeCoilMark != null">#{wholeCoilMark},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
0,
</trim>
</insert>
<update id="updateWmsCoilAbnormal" parameterType="com.ruoyi.mill.domain.WmsCoilAbnormal">
UPDATE wms_coil_abnormal
<trim prefix="SET" suffixOverrides=",">
<if test="productionLine != null">production_line = #{productionLine},</if>
<if test="position != null">position = #{position},</if>
<if test="plateSurface != null">plate_surface = #{plateSurface},</if>
<if test="defectType != null">defect_type = #{defectType},</if>
<if test="defectRate != null">defect_rate = #{defectRate},</if>
<if test="defectWeight != null">defect_weight = #{defectWeight},</if>
<if test="degree != null">degree = #{degree},</if>
<if test="judgeLevel != null">judge_level = #{judgeLevel},</if>
<if test="judgeBy != null">judge_by = #{judgeBy},</if>
<if test="judgeTime != null">judge_time = #{judgeTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
WHERE abnormal_id = #{abnormalId}
</update>
<delete id="deleteWmsCoilAbnormalById">
UPDATE wms_coil_abnormal SET del_flag = 1 WHERE abnormal_id = #{abnormalId}
</delete>
<delete id="deleteWmsCoilAbnormalByIds">
UPDATE wms_coil_abnormal SET del_flag = 1 WHERE abnormal_id IN
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>