提交 20fcb1ae authored 作者: douxy's avatar douxy

增加店内执行计划导出/入功能:处理控制数据 修改为空也更新

上级 acc4610a
......@@ -188,54 +188,33 @@ public class NormalDisplayImportStrategyImpl implements IImportApExcelStrategy<S
SalesApDisplay updateDisplay = new SalesApDisplay();
BeanUtils.copyProperties(dbDisplay, updateDisplay);
// ========== 核心优化:赋值DTO中的基础实际值到新实体 ==========
// 1. 主货架基础值(实际)
if (dto.getActualMainShelfType() != null) {
updateDisplay.setActualMainShelfType(dto.getActualMainShelfType());
}
if (dto.getActualMainShelfQty() != null) {
updateDisplay.setActualMainShelfQty(dto.getActualMainShelfQty());
}
// 2. 端架基础值(实际)
if (dto.getActualEndCapQty() != null) {
updateDisplay.setActualEndCapQty(dto.getActualEndCapQty());
}
// 3. 地堆基础值(实际)
if (dto.getActualFloorStackArea() != null) {
updateDisplay.setActualFloorStackArea(dto.getActualFloorStackArea());
}
if (dto.getActualFloorStackQty() != null) {
updateDisplay.setActualFloorStackQty(dto.getActualFloorStackQty());
}
updateDisplay.setActualMainShelfType(dto.getActualMainShelfType());
updateDisplay.setActualMainShelfQty(dto.getActualMainShelfQty());
updateDisplay.setActualEndCapQty(dto.getActualEndCapQty());
updateDisplay.setActualFloorStackArea(dto.getActualFloorStackArea());
updateDisplay.setActualFloorStackQty(dto.getActualFloorStackQty());
// 4. 多点陈列基础值(实际)
String actualMultiDisplay = StringUtils.trimToNull(dto.getActualMultiDisplay());
if (actualMultiDisplay != null) {
updateDisplay.setActualMultiDisplay(actualMultiDisplay);
}
updateDisplay.setActualMultiDisplay(actualMultiDisplay);
// 5. 挂条基础值(实际)
String actualHangingStrip = StringUtils.trimToNull(dto.getActualHangingStripQuantityForm());
if (actualHangingStrip != null) {
updateDisplay.setActualHangingStripQuantityForm(actualHangingStrip);
}
updateDisplay.setActualHangingStripQuantityForm(actualHangingStrip);
// 6. 备注
if (dto.getRemark() != null) {
updateDisplay.setRemark(dto.getRemark());
}
// ========== 执行状态计算(按业务规则处理空值) ==========
// 1. 主货架执行状态计算
updateDisplay.setRemark(dto.getRemark());
// 主货架执行状态计算
if (updateDisplay.getPlannedMainShelfType() != null && updateDisplay.getPlannedMainShelfQty() != null
&& dto.getActualMainShelfType() != null && dto.getActualMainShelfQty() != null) {
boolean mainShelfTypeMatch = dto.getActualMainShelfType().equals(updateDisplay.getPlannedMainShelfType());
boolean mainShelfQtySufficient = dto.getActualMainShelfQty() >= updateDisplay.getPlannedMainShelfQty();
updateDisplay.setActualMainShelfExecuted((mainShelfTypeMatch && mainShelfQtySufficient) ? "执行" : "未执行");
} else {
// 业务规则:计划/实际值不全时,清空执行状态
updateDisplay.setActualMainShelfExecuted(null);
}
......@@ -255,7 +234,7 @@ public class NormalDisplayImportStrategyImpl implements IImportApExcelStrategy<S
boolean qtySufficient = dto.getActualFloorStackQty() >= updateDisplay.getPlannedFloorStackQty();
updateDisplay.setActualFloorStackExecuted((areaSufficient && qtySufficient) ? "执行" : "未执行");
} else {
updateDisplay.setActualFloorStackExecuted(null);
updateDisplay.setActualFloorStackExecuted("未执行");
}
// 4. 多点陈列执行状态(处理空字符串)
......@@ -264,7 +243,7 @@ public class NormalDisplayImportStrategyImpl implements IImportApExcelStrategy<S
StringUtils.equals("执行与计划一致", actualMultiDisplay) ? "执行" : "未执行"
);
} else {
updateDisplay.setActualMultiDisplayExecuted(null);
updateDisplay.setActualMultiDisplayExecuted("未执行");
}
// 5. 挂条执行状态(处理空字符串)
......@@ -273,7 +252,7 @@ public class NormalDisplayImportStrategyImpl implements IImportApExcelStrategy<S
StringUtils.equals("执行与计划一致", actualHangingStrip) ? "执行" : "未执行"
);
} else {
updateDisplay.setHangingStripExecuted(null);
updateDisplay.setHangingStripExecuted("未执行");
}
// 添加到更新列表
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论