diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProCheckController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProCheckController.java new file mode 100644 index 000000000..4ef4186c0 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProCheckController.java @@ -0,0 +1,45 @@ +package com.op.mes.controller; + +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.mes.domain.ProCheckItem; +import com.op.mes.domain.ProCheckRecord; +import com.op.mes.service.ProCheckService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * Description: + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/28 + */ +@SuppressWarnings({"JavadocDeclaration", "unused", "SpellCheckingInspection"}) +@RestController +@RequestMapping("/procheck") +@RequiredArgsConstructor +public class ProCheckController extends BaseController { + final ProCheckService proCheckService; + + @GetMapping("/checkItem/list") + public List listAllCheckItem() { + return proCheckService.listAllCheckItem(); + } + + @PostMapping("/checkRecord/add") + @Log(title = "下班安全检查", businessType = BusinessType.INSERT) + public AjaxResult addRecord(@RequestBody ProCheckRecord checkRecord) { + try { + proCheckService.addRecord(checkRecord); + return success("填写成功!"); + } catch (Exception e) { + return error(e.getMessage()); + } + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckItem.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckItem.java new file mode 100644 index 000000000..ffcb01f73 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckItem.java @@ -0,0 +1,23 @@ +package com.op.mes.domain; + +import com.op.common.core.web.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: 停工停车-检查项定义 + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/27 + */ +@SuppressWarnings({"unused"}) +@Data +@EqualsAndHashCode(callSuper = true) +public class ProCheckItem extends BaseEntity { + Integer itemId; + String itemName; + String checkObject; + String sortOrder; + Boolean isDel; +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckRecord.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckRecord.java new file mode 100644 index 000000000..5e7cdf632 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckRecord.java @@ -0,0 +1,32 @@ +package com.op.mes.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.op.common.core.web.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import java.util.List; + +/** + * Description: + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/27 + */ +@SuppressWarnings({"unused", "SpellCheckingInspection"}) +@Data +@EqualsAndHashCode(callSuper = true) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProCheckRecord extends BaseEntity { + Integer recordId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + Date recordTime; + String recordPerson; + Boolean abnoStatus; + + List details; +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckRecordDetail.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckRecordDetail.java new file mode 100644 index 000000000..56688f95c --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProCheckRecordDetail.java @@ -0,0 +1,27 @@ +package com.op.mes.domain; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.op.common.core.web.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/27 + */ +@SuppressWarnings({"unused", "SpellCheckingInspection"}) +@Data +@EqualsAndHashCode(callSuper = true) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProCheckRecordDetail extends BaseEntity { + Integer detailId; + Integer recordId; + String itemName; + String checkObject; + Integer sortOrder; + String checkValue; + String abnoRemark; +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProCheckRecordMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProCheckRecordMapper.java new file mode 100644 index 000000000..33d620825 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProCheckRecordMapper.java @@ -0,0 +1,29 @@ +package com.op.mes.mapper; + +import com.op.mes.domain.ProCheckItem; +import com.op.mes.domain.ProCheckRecord; +import com.op.mes.domain.ProCheckRecordDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Options; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + * Description: + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/27 + */ +@SuppressWarnings({"JavadocDeclaration", "unused", "SpellCheckingInspection"}) +@Mapper +public interface ProCheckRecordMapper { + + List listAllCheckItem(); + + int insertRecord(ProCheckRecord checkRecord); + + int batchInsertRecordDetail(List list); +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/ProCheckService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/ProCheckService.java new file mode 100644 index 000000000..4a641298e --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/ProCheckService.java @@ -0,0 +1,21 @@ +package com.op.mes.service; + +import com.op.mes.domain.ProCheckItem; +import com.op.mes.domain.ProCheckRecord; + +import java.util.List; +import java.util.Map; + +/** + * Description: + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/27 + */ +@SuppressWarnings({"JavadocDeclaration", "unused", "SpellCheckingInspection"}) +public interface ProCheckService { + List listAllCheckItem(); + + void addRecord(ProCheckRecord checkRecord); +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProCheckServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProCheckServiceImpl.java new file mode 100644 index 000000000..4aa7e211d --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProCheckServiceImpl.java @@ -0,0 +1,55 @@ +package com.op.mes.service.impl; + +import com.alibaba.fastjson.util.TypeUtils; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.StringUtils; +import com.op.mes.domain.ProCheckItem; +import com.op.mes.domain.ProCheckRecord; +import com.op.mes.domain.ProCheckRecordDetail; +import com.op.mes.mapper.ProCheckRecordMapper; +import com.op.mes.service.ProCheckService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * Description: + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/28 + */ +@SuppressWarnings({"unused", "SpellCheckingInspection", "unchecked"}) +@Service +@RequiredArgsConstructor +public class ProCheckServiceImpl implements ProCheckService { + final ProCheckRecordMapper proCheckRecordMapper; + + @Override + @DS("#header.poolName") + public List listAllCheckItem() { + return proCheckRecordMapper.listAllCheckItem(); + } + + @Override + @DS("#header.poolName") + public void addRecord(ProCheckRecord checkRecord) { + checkRecord.setAbnoStatus(false); + List detailList=checkRecord.getDetails(); + for (ProCheckRecordDetail detail : detailList) { + if (StringUtils.isNotBlank(detail.getAbnoRemark())) { + checkRecord.setAbnoStatus(true); + break; + } + } + proCheckRecordMapper.insertRecord(checkRecord); + for(ProCheckRecordDetail detail : detailList){ + detail.setRecordId(checkRecord.getRecordId()); + } + proCheckRecordMapper.batchInsertRecordDetail(detailList); + } +} diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/ProCheckRecordMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/ProCheckRecordMapper.xml new file mode 100644 index 000000000..49a52b0ac --- /dev/null +++ b/op-modules/op-mes/src/main/resources/mapper/mes/ProCheckRecordMapper.xml @@ -0,0 +1,40 @@ + + + + + insert into pro_check_record + + record_time, + record_person, + abno_status, + + + #{recordTime}, + #{recordPerson}, + #{abnoStatus}, + + + + + INSERT INTO pro_check_record_detail (record_id, item_name, check_object,sort_order,check_value,abno_remark) + VALUES + + (#{item.recordId}, #{item.itemName}, #{item.checkObject}, #{item.sortOrder}, #{item.checkValue}, #{item.abnoRemark}) + + + + + + + \ No newline at end of file