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

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

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