feat(停工停产安全检查): 新增检查项查询和新增检查记录接口
parent
4c6deb977a
commit
7a6979e829
@ -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<ProCheckItem> 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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<ProCheckRecordDetail> details;
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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<ProCheckItem> listAllCheckItem();
|
||||
|
||||
int insertRecord(ProCheckRecord checkRecord);
|
||||
|
||||
int batchInsertRecordDetail(List<ProCheckRecordDetail> list);
|
||||
}
|
||||
@ -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<ProCheckItem> listAllCheckItem();
|
||||
|
||||
void addRecord(ProCheckRecord checkRecord);
|
||||
}
|
||||
@ -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<ProCheckItem> listAllCheckItem() {
|
||||
return proCheckRecordMapper.listAllCheckItem();
|
||||
}
|
||||
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public void addRecord(ProCheckRecord checkRecord) {
|
||||
checkRecord.setAbnoStatus(false);
|
||||
List<ProCheckRecordDetail> 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);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
<?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.op.mes.mapper.ProCheckRecordMapper">
|
||||
<insert id="insertRecord" useGeneratedKeys="true" keyProperty="recordId">
|
||||
insert into pro_check_record
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="recordTime != null">record_time,</if>
|
||||
<if test="recordPerson != null">record_person,</if>
|
||||
<if test="abnoStatus != null">abno_status,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="recordTime != null">#{recordTime},</if>
|
||||
<if test="recordPerson != null">#{recordPerson},</if>
|
||||
<if test="abnoStatus != null">#{abnoStatus},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<insert id="batchInsertRecordDetail" useGeneratedKeys="true" keyProperty="detailId">
|
||||
INSERT INTO pro_check_record_detail (record_id, item_name, check_object,sort_order,check_value,abno_remark)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.recordId}, #{item.itemName}, #{item.checkObject}, #{item.sortOrder}, #{item.checkValue}, #{item.abnoRemark})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<select id="listAllCheckItem"
|
||||
resultType="com.op.mes.domain.ProCheckItem">
|
||||
select item_id as itemId,
|
||||
item_name as itemName,
|
||||
check_object as checkObject,
|
||||
sort_order as sortOrder,
|
||||
is_del as isDel
|
||||
from pro_check_item
|
||||
order by sort_order,item_id
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue