Browse Source

feat(pms): 添加检验模板项目操作记录功能

- 在 QcMapper 中新增 insertTemplateItemRecord 方法
- 在 QcMapper.xml 中新增检验模板项目操作记录的插入 SQL
- 修改查询模板详细信息的 SQL 以包含 order_id 字段
- 在 QcServiceImpl 中实现新增和删除操作时同步记录操作历史
- 新增 QcTemplateItemRecordData 实体类用于存储操作记录数据
- 实现添加和删除操作的审计日志记录机制
ecss-tx
qiankanghui 3 months ago
parent
commit
64d6462e87
  1. 137
      src/main/java/com/xujie/sys/modules/pms/data/QcTemplateItemRecordData.java
  2. 2
      src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java
  3. 43
      src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java
  4. 11
      src/main/resources/mapper/pms/QcMapper.xml

137
src/main/java/com/xujie/sys/modules/pms/data/QcTemplateItemRecordData.java

@ -0,0 +1,137 @@
package com.xujie.sys.modules.pms.data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description: 检验模板项目操作记录实体类
* @date: 2026/8/13
*/
public class QcTemplateItemRecordData {
// 自增主键
private Integer id;
// 模板编码
private String templateId;
// 检验项目编码
private String itemNo;
// 默认值
private String defaultValue;
// 最大值
private BigDecimal maxValue;
// 最小值
private BigDecimal minValue;
// 设备编码
private String objectId;
// 工厂编码
private String site;
// BU编码
private String buNo;
// 排序
private Integer orderId;
// 操作类型: ADD / DELETE
private String operationType;
// 操作时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date operateTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTemplateId() {
return templateId;
}
public void setTemplateId(String templateId) {
this.templateId = templateId;
}
public String getItemNo() {
return itemNo;
}
public void setItemNo(String itemNo) {
this.itemNo = itemNo;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
public BigDecimal getMaxValue() {
return maxValue;
}
public void setMaxValue(BigDecimal maxValue) {
this.maxValue = maxValue;
}
public BigDecimal getMinValue() {
return minValue;
}
public void setMinValue(BigDecimal minValue) {
this.minValue = minValue;
}
public String getObjectId() {
return objectId;
}
public void setObjectId(String objectId) {
this.objectId = objectId;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getBuNo() {
return buNo;
}
public void setBuNo(String buNo) {
this.buNo = buNo;
}
public Integer getOrderId() {
return orderId;
}
public void setOrderId(Integer orderId) {
this.orderId = orderId;
}
public String getOperationType() {
return operationType;
}
public void setOperationType(String operationType) {
this.operationType = operationType;
}
public Date getOperateTime() {
return operateTime;
}
public void setOperateTime(Date operateTime) {
this.operateTime = operateTime;
}
}

2
src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java

@ -710,4 +710,6 @@ public interface QcMapper {
QcFAIRecordData getIPQCRecordStatus(QcFAIRecordData data);
QcFAIRecordData getFAIRecordStatus(QcFAIRecordData data);
void insertTemplateItemRecord(QcTemplateItemRecordData data);
}

43
src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java

@ -618,6 +618,19 @@ public class QcServiceImpl implements QcService {
qcData.setOrderId(qcMapper.getQCDetailOrderId(data));
// 新增
qcMapper.addItemDetails(qcData);
// 同步写入操作记录表
QcTemplateItemRecordData record = new QcTemplateItemRecordData();
record.setSite(qcData.getSite());
record.setBuNo(qcData.getBuNo());
record.setTemplateId(qcData.getTemplateId());
record.setItemNo(qcData.getItemNo());
record.setDefaultValue(qcData.getDefaultValue());
record.setMaxValue(qcData.getMaxValue());
record.setMinValue(qcData.getMinValue());
record.setObjectId(qcData.getObjectID());
record.setOrderId(qcData.getOrderId());
record.setOperationType("ADD");
qcMapper.insertTemplateItemRecord(record);
}
}
@ -631,11 +644,41 @@ public class QcServiceImpl implements QcService {
for (QcTemplateData qcData : data.getItemList()){
qcData.setItemType(data.getItemType());
qcData.setTemplateId(data.getTemplateId());
// 删除前先写入操作记录表
QcTemplateData existData = qcMapper.selectItemDetails(qcData);
if (existData != null) {
QcTemplateItemRecordData record = new QcTemplateItemRecordData();
record.setSite(qcData.getSite());
record.setBuNo(qcData.getBuNo());
record.setTemplateId(qcData.getTemplateId());
record.setItemNo(qcData.getItemNo());
record.setDefaultValue(existData.getDefaultValue());
record.setMaxValue(existData.getMaxValue());
record.setMinValue(existData.getMinValue());
record.setOrderId(existData.getOrderId());
record.setOperationType("DELETE");
qcMapper.insertTemplateItemRecord(record);
}
qcMapper.delItemDetails(qcData);
// 删除判定标准
qcMapper.deleteInspectionStandard2(qcData);
}
} else { // 单条删除
// 删除前先写入操作记录表
QcTemplateData existData = qcMapper.selectItemDetails(data);
if (existData != null) {
QcTemplateItemRecordData record = new QcTemplateItemRecordData();
record.setSite(data.getSite());
record.setBuNo(data.getBuNo());
record.setTemplateId(data.getTemplateId());
record.setItemNo(data.getItemNo());
record.setDefaultValue(existData.getDefaultValue());
record.setMaxValue(existData.getMaxValue());
record.setMinValue(existData.getMinValue());
record.setOrderId(existData.getOrderId());
record.setOperationType("DELETE");
qcMapper.insertTemplateItemRecord(record);
}
qcMapper.delItemDetails(data);
// 删除判定标准
qcMapper.deleteInspectionStandard2(data);

11
src/main/resources/mapper/pms/QcMapper.xml

@ -518,7 +518,8 @@
ItemNo,
default_value,
max_value,
min_value
min_value,
order_id
FROM qc_template_detailed
WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
</select>
@ -4934,6 +4935,14 @@
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</select>
<!-- 新增检验模板项目操作记录 -->
<insert id="insertTemplateItemRecord" parameterType="com.xujie.sys.modules.pms.data.QcTemplateItemRecordData">
INSERT INTO qc_template_item_record
(site, bu_no, template_id, item_no, default_value, max_value, min_value, object_id, order_id, operation_type, operate_time)
VALUES
(#{site}, #{buNo}, #{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{objectId}, #{orderId}, #{operationType}, GETDATE())
</insert>
</mapper>

Loading…
Cancel
Save