|
|
|
@ -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> |
|
|
|
|