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