|
@ -57,6 +57,7 @@ import java.io.InputStream; |
|
|
import java.math.BigDecimal; |
|
|
import java.math.BigDecimal; |
|
|
import java.math.BigInteger; |
|
|
import java.math.BigInteger; |
|
|
import java.math.RoundingMode; |
|
|
import java.math.RoundingMode; |
|
|
|
|
|
import java.rmi.ServerException; |
|
|
import java.text.SimpleDateFormat; |
|
|
import java.text.SimpleDateFormat; |
|
|
import java.time.LocalDate; |
|
|
import java.time.LocalDate; |
|
|
import java.time.ZoneId; |
|
|
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 |
|
|
@Override |
|
|
public void modifyPlanSpecialProject(MultipartFile multipartFile, String projectid,HttpServletResponse response) throws IOException { |
|
|
public void modifyPlanSpecialProject(MultipartFile multipartFile, String projectid,HttpServletResponse response) throws IOException { |
|
|
|
|
|
|
|
|
|
|
|
checkExcelName(multipartFile,"监理项目模板"); |
|
|
|
|
|
|
|
|
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
queryWrapper.eq(HuzhouPlaninfo::getProjectId,projectid) |
|
|
queryWrapper.eq(HuzhouPlaninfo::getProjectId,projectid) |
|
|
.last("LIMIT 1"); |
|
|
.last("LIMIT 1"); |
|
@ -1720,12 +1744,20 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper, |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 4. 更新新计划的组id
|
|
|
// 4. 更新新计划的组id
|
|
|
LambdaUpdateWrapper<HuzhouPlaninfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<HuzhouPlaninfo> updateWrapper1 = new LambdaUpdateWrapper<>(); |
|
|
updateWrapper.eq(HuzhouPlaninfo::getProjectId,projectid) |
|
|
updateWrapper1.eq(HuzhouPlaninfo::getProjectId,projectid) |
|
|
.set(HuzhouPlaninfo::getGroupId,groupId) |
|
|
.set(HuzhouPlaninfo::getGroupId,groupId) |
|
|
.set(HuzhouPlaninfo::getIsfinish, "0"); |
|
|
.set(HuzhouPlaninfo::getIsfinish, "0"); |
|
|
planInfoMapper.update(null, updateWrapper); |
|
|
planInfoMapper.update(null, updateWrapper1); |
|
|
// 5. 更新子项目计划更新标志,
|
|
|
|
|
|
|
|
|
// 立项阶段默认完成
|
|
|
|
|
|
// 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<>();
|
|
|
// LambdaUpdateWrapper<HuzhouSubProjectinfo> subUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
// subUpdateWrapper.eq(HuzhouSubProjectinfo::getId, projectid);
|
|
|
// subUpdateWrapper.eq(HuzhouSubProjectinfo::getId, projectid);
|
|
|
// subUpdateWrapper.set(HuzhouSubProjectinfo::getUpdatePlanFlag, "2");
|
|
|
// subUpdateWrapper.set(HuzhouSubProjectinfo::getUpdatePlanFlag, "2");
|
|
|