Browse Source

修改记录

master
常熟吴彦祖 2 months ago
parent
commit
bc3a15116b
  1. 80
      src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java
  2. 48
      src/main/java/com/gaotao/modules/warehouse/service/impl/PalletServiceImpl.java

80
src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java

@ -13,6 +13,8 @@ import com.gaotao.modules.automatedWarehouse.mapper.AgvStationMapper;
import com.gaotao.modules.automatedWarehouse.service.AgvStationService;
import com.gaotao.modules.warehouse.entity.Location;
import com.gaotao.modules.warehouse.dao.LocationMapper;
import com.gaotao.modules.system.entity.SensitiveFieldChangeLog; // 新增 - rqrq
import com.gaotao.modules.system.service.SensitiveFieldChangeLogService; // 新增 - rqrq
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@ -30,6 +32,8 @@ public class AgvStationServiceImpl extends ServiceImpl<AgvStationMapper, AgvStat
@Autowired
private LocationMapper locationMapper;
@Autowired
private SensitiveFieldChangeLogService sensitiveFieldChangeLogService; // 新增 - rqrq
/**
* @Description 分页查询AGV站点列表 - rqrq
@ -151,6 +155,9 @@ public class AgvStationServiceImpl extends ServiceImpl<AgvStationMapper, AgvStat
public void updateAgvStation(AgvStationData data) throws Exception {
System.out.println("开始修改AGV站点 - rqrq,站点ID:" + data.getId());
// 查询修改前的站点信息 - rqrq
AgvStation oldStation = this.getById(data.getId());
// 校验库位是否存在 - rqrq
validateLocation(data.getLocationCode(), data.getWarehouseCode());
@ -189,9 +196,82 @@ public class AgvStationServiceImpl extends ServiceImpl<AgvStationMapper, AgvStat
// 更新到数据库 - rqrq
this.updateById(data);
// 记录status_db变化 - rqrq
if (oldStation != null) {
Integer oldStatusDb = oldStation.getStatusDb();
Integer newStatusDb = data.getStatusDb();
// 判断status_db是否发生变化 - rqrq
boolean statusChanged = false;
if (oldStatusDb == null && newStatusDb != null) {
statusChanged = true;
} else if (oldStatusDb != null && !oldStatusDb.equals(newStatusDb)) {
statusChanged = true;
}
if (statusChanged) {
System.out.println("检测到status_db变化 - rqrq,原值:" + oldStatusDb + ",新值:" + newStatusDb);
try {
// 获取站点编码和名称 - rqrq
String stationCode = oldStation.getStationCode();
String stationName = oldStation.getStationName();
// 获取状态描述 - rqrq
String oldStatusDesc = getStatusDesc(oldStatusDb);
String newStatusDesc = getStatusDesc(newStatusDb);
SensitiveFieldChangeLog log = new SensitiveFieldChangeLog();
log.setSite("55"); // AGV站点通常属于55站点 - rqrq
log.setFunctionPage("AGV站点管理");
log.setOperationName("修改站点");
log.setOperationObject("站点" + stationCode + (StringUtils.hasText(stationName) ? "(" + stationName + ")" : ""));
log.setTableName("agv_station");
log.setFieldName("status_db");
log.setOldValue(oldStatusDb != null ? oldStatusDb + "(" + oldStatusDesc + ")" : "");
log.setNewValue(newStatusDb != null ? newStatusDb + "(" + newStatusDesc + ")" : "");
log.setOperator("SYSTEM"); // 可根据实际情况从上下文获取 - rqrq
log.setOperationTime(new java.util.Date());
log.setRecordId(data.getId());
log.setOperationType("UPDATE");
sensitiveFieldChangeLogService.recordFieldChange(log);
} catch (Exception e) {
System.out.println("记录status_db变化失败 - rqrq:" + e.getMessage());
e.printStackTrace();
// 不影响主流程只记录异常 - rqrq
}
}
}
System.out.println("修改AGV站点完成 - rqrq");
}
/**
* @Description 获取状态描述 - rqrq
* @param statusDb 状态值
* @return 状态描述
* @author rqrq
* @date 2025/11/15
*/
private String getStatusDesc(Integer statusDb) {
if (statusDb == null) {
return "未知";
}
switch (statusDb) {
case 0:
return "空闲";
case 1:
return "有货";
case 2:
return "待放货";
case 3:
return "待取货";
default:
return "未知";
}
}
/**
* @Description 获取区域类型下拉选项 - rqrq
* @return List<Area>

48
src/main/java/com/gaotao/modules/warehouse/service/impl/PalletServiceImpl.java

@ -16,6 +16,8 @@ import com.gaotao.modules.warehouse.entity.PalletData;
import com.gaotao.modules.warehouse.entity.dto.PalletQueryDto;
import com.gaotao.modules.warehouse.entity.vo.PalletVo;
import com.gaotao.modules.warehouse.service.PalletService;
import com.gaotao.modules.system.entity.SensitiveFieldChangeLog; // 新增 - rqrq
import com.gaotao.modules.system.service.SensitiveFieldChangeLogService; // 新增 - rqrq
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -38,6 +40,8 @@ public class PalletServiceImpl extends ServiceImpl<PalletMapper, Pallet> impleme
private TransNoControlService transNoControlService;
@Autowired
private WcsIntegrationMapper wcsIntegrationMapper;
@Autowired
private SensitiveFieldChangeLogService sensitiveFieldChangeLogService; // 新增 - rqrq
@Override
public PageUtils queryPage(PalletData queryDto) {
@ -121,6 +125,9 @@ public class PalletServiceImpl extends ServiceImpl<PalletMapper, Pallet> impleme
public boolean updatePallet(PalletData palletData) {
System.out.println("开始修改托盘 - rqrq,托盘ID:" + palletData.getPalletId());
// 查询修改前的托盘信息 - rqrq
Pallet oldPallet = this.getById(palletData.getId());
// 检查托盘ID是否已被其他记录使用 - rqrq
if (checkPalletIdExists(palletData.getPalletId(), palletData.getId())) {
throw new RuntimeException("托盘ID [" + palletData.getPalletId() + "] 已被其他记录使用");
@ -139,6 +146,47 @@ public class PalletServiceImpl extends ServiceImpl<PalletMapper, Pallet> impleme
palletData.setUpdatedTime(new Date());
boolean result = this.updateById(palletData);
// 记录location_code变化 - rqrq
if (oldPallet != null) {
String oldLocationCode = oldPallet.getLocationCode();
String newLocationCode = palletData.getLocationCode();
// 判断location_code是否发生变化 - rqrq
boolean locationChanged = false;
if (oldLocationCode == null && newLocationCode != null) {
locationChanged = true;
} else if (oldLocationCode != null && !oldLocationCode.equals(newLocationCode)) {
locationChanged = true;
}
if (locationChanged) {
System.out.println("检测到location_code变化 - rqrq,原值:" + oldLocationCode + ",新值:" + newLocationCode);
try {
SensitiveFieldChangeLog log = new SensitiveFieldChangeLog();
log.setSite(palletData.getSite());
log.setFunctionPage("托盘管理");
log.setOperationName("修改托盘");
log.setOperationObject("托盘" + palletData.getPalletId());
log.setTableName("pallet");
log.setFieldName("location_code");
log.setOldValue(oldLocationCode != null ? oldLocationCode : "");
log.setNewValue(newLocationCode != null ? newLocationCode : "");
log.setOperator("SYSTEM"); // 可根据实际情况从上下文获取 - rqrq
log.setOperationTime(new Date());
log.setRecordId(palletData.getId());
log.setOperationType("UPDATE");
sensitiveFieldChangeLogService.recordFieldChange(log);
} catch (Exception e) {
System.out.println("记录location_code变化失败 - rqrq:" + e.getMessage());
e.printStackTrace();
// 不影响主流程只记录异常 - rqrq
}
}
}
System.out.println("托盘修改完成 - rqrq");
return result;
}

Loading…
Cancel
Save