diff --git a/src/main/java/com/xujie/sys/modules/pms/data/QcTemplateItemRecordData.java b/src/main/java/com/xujie/sys/modules/pms/data/QcTemplateItemRecordData.java new file mode 100644 index 00000000..01a8793b --- /dev/null +++ b/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; + } +} diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java index ca3cb92b..968e8f5a 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java +++ b/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); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java index 3d8ec066..14760481 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java +++ b/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); diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index 841a8029..fa88d6e1 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/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} @@ -4934,6 +4935,14 @@ WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + 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()) + +