Browse Source

文件名称校验,归档计划为空补充,项目计划模板更新

master
gjh 3 days ago
parent
commit
db4585a6f2
  1. 40
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java
  2. 8
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java
  3. BIN
      huzhou/src/main/resources/excelTemplate/项目计划模板.xlsx

40
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java

@ -57,6 +57,7 @@ import java.io.InputStream;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.rmi.ServerException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
@ -1683,8 +1684,31 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
}
private void checkExcelName(MultipartFile file, String templateFileName) throws ServerException {
if (file == null || file.isEmpty()) {
throw new EasyException("请选择要上传的文件");
}
// ✅ 获取上传文件的原始名称
String originalFilename = file.getOriginalFilename();
// 校验文件名称是否匹配模板 templateFileName = "监理项目模板";
String excelName1 = String.format("%s.xlsx", "监理项目模板");
String excelName2 = String.format("%s.xls", "监理项目模板");
if (!originalFilename.contains(excelName1) && !originalFilename.contains(excelName2)) {
throw new EasyException("请检查上传的文件名称! Excel名称应该为:监理项目模板");
}
if (originalFilename == null || !(originalFilename.endsWith(".xls") || originalFilename.endsWith(".xlsx"))) {
throw new EasyException("请上传正确的文件格式");
}
// 打印文件名(例如:test.xlsx)
log.info("上传的文件名是:" + originalFilename);
}
@Override
public void modifyPlanSpecialProject(MultipartFile multipartFile, String projectid,HttpServletResponse response) throws IOException {
checkExcelName(multipartFile,"监理项目模板");
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId,projectid)
.last("LIMIT 1");
@ -1720,12 +1744,20 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
}
// 4. 更新新计划的组id
LambdaUpdateWrapper<HuzhouPlaninfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(HuzhouPlaninfo::getProjectId,projectid)
LambdaUpdateWrapper<HuzhouPlaninfo> updateWrapper1 = new LambdaUpdateWrapper<>();
updateWrapper1.eq(HuzhouPlaninfo::getProjectId,projectid)
.set(HuzhouPlaninfo::getGroupId,groupId)
.set(HuzhouPlaninfo::getIsfinish, "0");
planInfoMapper.update(null, updateWrapper);
// 5. 更新子项目计划更新标志,
planInfoMapper.update(null, updateWrapper1);
// 立项阶段默认完成
// LambdaUpdateWrapper<HuzhouPlaninfo> updateWrapper2 = new LambdaUpdateWrapper<>();
// updateWrapper2.eq(HuzhouPlaninfo::getProjectId, projectid)
// .likeRight(HuzhouPlaninfo::getTaskLevel, "1")
// .set(HuzhouPlaninfo::getIsfinish, "2");
// planInfoMapper.update(null, updateWrapper2);
// TODO 5. 更新子项目计划更新标志
// LambdaUpdateWrapper<HuzhouSubProjectinfo> subUpdateWrapper = new LambdaUpdateWrapper<>();
// subUpdateWrapper.eq(HuzhouSubProjectinfo::getId, projectid);
// subUpdateWrapper.set(HuzhouSubProjectinfo::getUpdatePlanFlag, "2");

8
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

@ -3,6 +3,7 @@ package com.easy.admin.modules.huzhou.service.impl;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -462,12 +463,15 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId,projectId);
List<HuzhouPlaninfo> planInfoList = planinfoMapper.selectList(queryWrapper);
if (CollectionUtil.isNotEmpty(planInfoList)){
// 判断是否所有 isfinish 都等于 "2"
boolean allFinished = planInfoList.stream()
.allMatch(plan -> "2".equals(plan.getIsfinish()));
record.setIsArchive(allFinished);
}else {
record.setIsArchive(false);
}
}
return projectAndChildInfoPageList;
}

BIN
huzhou/src/main/resources/excelTemplate/项目计划模板.xlsx

Binary file not shown.
Loading…
Cancel
Save