Commit 6865caebcb50a39285f2615d2321a1459bfa4606

Authored by 曾国涛
1 parent f707c437

fix(order): 修复项目基本信息字段申请通过后数据不更新及生产起止时间计算错误问题

- 修复字段申请通过后数据不更新的问题:在获取记录字段时,使用 Optional.ofNullable() 方法避免空指针异常
- 修复生产起止时间计算错误的问题:在计算生产天数时,增加 1 天以确保正确性
src/main/java/com/order/erp/service/order/impl/ProjectBaseInfoServiceImpl.java
@@ -167,7 +167,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe @@ -167,7 +167,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe
167 .build(); 167 .build();
168 } 168 }
169 ProjectBaseInfoLockFieldVO applyLockFieldVO = JSONObject.parseObject(applyDO.getFields(), ProjectBaseInfoLockFieldVO.class); 169 ProjectBaseInfoLockFieldVO applyLockFieldVO = JSONObject.parseObject(applyDO.getFields(), ProjectBaseInfoLockFieldVO.class);
170 - ProjectBaseInfoLockFieldVO recordLockFieldVO = JSONObject.parseObject(recordDO.getFields(), ProjectBaseInfoLockFieldVO.class); 170 + ProjectBaseInfoLockFieldVO recordLockFieldVO = JSONObject.parseObject(Optional.ofNullable(recordDO.getFields()).orElse("{}"), ProjectBaseInfoLockFieldVO.class);
171 if(ProjectApplyTypeEnum.FIELD_EDIT_APPLY.name().equals(applyDO.getType())){ 171 if(ProjectApplyTypeEnum.FIELD_EDIT_APPLY.name().equals(applyDO.getType())){
172 ProjectBaseInfoLockFieldVO projectBaseInfoLockFieldVO = Optional.ofNullable(recordLockFieldVO).orElse(new ProjectBaseInfoLockFieldVO()); 172 ProjectBaseInfoLockFieldVO projectBaseInfoLockFieldVO = Optional.ofNullable(recordLockFieldVO).orElse(new ProjectBaseInfoLockFieldVO());
173 BeanUtil.copyProperties(applyLockFieldVO, projectBaseInfoLockFieldVO, CopyOptions.create().setIgnoreProperties("projectInnerProfitInfoStartTime","projectInnerProfitInfoEndTime").ignoreNullValue()); 173 BeanUtil.copyProperties(applyLockFieldVO, projectBaseInfoLockFieldVO, CopyOptions.create().setIgnoreProperties("projectInnerProfitInfoStartTime","projectInnerProfitInfoEndTime").ignoreNullValue());
@@ -943,7 +943,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe @@ -943,7 +943,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe
943 String projectStartTime = Optional.ofNullable(vo.getProduceStartTime()).map(dateTimeFormatter::format).orElse("-"); 943 String projectStartTime = Optional.ofNullable(vo.getProduceStartTime()).map(dateTimeFormatter::format).orElse("-");
944 String projectEndTime = Optional.ofNullable(vo.getProduceEndTime()).map(dateTimeFormatter::format).orElse("-"); 944 String projectEndTime = Optional.ofNullable(vo.getProduceEndTime()).map(dateTimeFormatter::format).orElse("-");
945 String duration = (vo.getProduceStartTime() != null && vo.getProduceEndTime() != null) 945 String duration = (vo.getProduceStartTime() != null && vo.getProduceEndTime() != null)
946 - ? String.valueOf(Duration.between(vo.getProduceStartTime(), vo.getProduceEndTime()).toDays()) 946 + ? String.valueOf(Duration.between(vo.getProduceStartTime(), vo.getProduceEndTime()).toDays()+1)
947 : "-"; 947 : "-";
948 createMergedRow(sheet, cellStyle, 6, 7, 0, 1, ""); 948 createMergedRow(sheet, cellStyle, 6, 7, 0, 1, "");
949 createMergedRow(sheet, cellStyle, 6, 7, 2, 3, "生产起止时间"); 949 createMergedRow(sheet, cellStyle, 6, 7, 2, 3, "生产起止时间");