update:修改标协会员的导入

This commit is contained in:
sunzheng
2024-07-10 10:16:38 +08:00
parent 66601cb712
commit 03e2f3e56b
6 changed files with 66 additions and 6 deletions
@@ -29,7 +29,9 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -81,6 +83,12 @@ public class CouncilMeetingSituationController extends JeroController<PayMeeting
} else {
meetingSituation.setIdentification(PayProjectCommon.NO);
}
Date estimatedArrivalDate = meetingSituation.getEstimatedArrivalDate();
if (estimatedArrivalDate != null) {
SimpleDateFormat targetFormat = new SimpleDateFormat("yyyy-MM");
String newDate = targetFormat.format(estimatedArrivalDate);
meetingSituation.setEstimatedArrivalDateStr(newDate);
}
}
return Result.OK(pageList);
}
@@ -29,7 +29,9 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -87,6 +89,12 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
}else {
meetingSituation.setIdentification(PayProjectCommon.NO);
}
Date estimatedArrivalDate = meetingSituation.getEstimatedArrivalDate();
if (estimatedArrivalDate != null) {
SimpleDateFormat targetFormat = new SimpleDateFormat("yyyy-MM");
String newDate = targetFormat.format(estimatedArrivalDate);
meetingSituation.setEstimatedArrivalDateStr(newDate);
}
}
return Result.OK(pageList);
}
@@ -586,4 +586,9 @@ public class PayMeetingSituation implements Serializable {
@ApiModelProperty(value = "预计到账日期")
private Date estimatedArrivalDate;
/**预计到账日期*/
@ApiModelProperty(value = "预计到账日期")
@TableField(exist = false)
private String estimatedArrivalDateStr;
}
@@ -1,5 +1,8 @@
package com.jero.member.service;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.*;
import cn.hutool.core.date.DateField;
@@ -275,10 +278,45 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
subitem.setAmountReceivable(new BigDecimal(amountReceivable));
}
//预估到账日期
if (ValidUtil.checkErrorList(errorList,"预估到账日期")) {
String estimatedArrivalDate = subitemExcel.getEstimatedArrivalDate();
subitem.setEstimatedArrivalDate(DateUtil.parseDate(estimatedArrivalDate));
// 预估到账日期
if (ValidUtil.checkErrorList(errorList, "预估到账日期")) {
String estimatedArrivalDateStr = subitemExcel.getEstimatedArrivalDate();
if (StringUtils.isNotBlank(estimatedArrivalDateStr)) {
try {
LocalDate parsedDate;
if (StringUtils.isNumeric(estimatedArrivalDateStr)) {
// 如果是数字格式的日期,将其转换为 LocalDate
double dateAsDouble = Double.parseDouble(estimatedArrivalDateStr);
LocalDate baseDate = LocalDate.of(1900, 1, 1).minusDays(2);
parsedDate = baseDate.plusDays((long) dateAsDouble);
} else {
DateTimeFormatter formatter;
if (estimatedArrivalDateStr.matches("\\d{4}-\\d{1,2}")) {
// 处理 yyyy-MM 格式
estimatedArrivalDateStr = estimatedArrivalDateStr + "-01";
formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
} else if (estimatedArrivalDateStr.matches("\\d{4}-\\d{1,2}-\\d{1,2}")) {
// 处理 yyyy-MM-dd 格式
formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
} else {
throw new DateTimeParseException("日期格式错误", estimatedArrivalDateStr, 0);
}
parsedDate = LocalDate.parse(estimatedArrivalDateStr, formatter);
}
// 增加日期合理性校验,比如判断年份范围
int year = parsedDate.getYear();
if (year < 1900 || year > 2100) {
errorMessage.add("" + errorRowNum + "行:" + "预估到账日期年份超出合理范围");
} else {
subitem.setEstimatedArrivalDate(java.sql.Date.valueOf(parsedDate)); // 设置正确格式的日期到对象中
}
} catch (Exception e) {
errorMessage.add("" + errorRowNum + "行:" + "预估到账日期格式错误");
}
} else {
errorMessage.add("" + errorRowNum + "行:" + "预估到账日期不能为空");
}
}
String paymentMethod = subitemExcel.getPaymentMethod();
@@ -61,9 +61,9 @@ public class TbMemberProjectSubitemExcelImport {
private String amountReceivable;
/**预估到账日期*/
// @NotBlank(message = "预估到账日期不能为空")
// @Pattern(regexp = "^\\d{4}-\\d{1,2}-\\d{1,2}$",message = "预估到账日期格式错误")
@ApiModelProperty(value = "预估到账日期")
@NotBlank(message = "预估到账日期不能为空")
@Pattern(regexp = "^\\d{4}-\\d{1,2}-\\d{1,2}$",message = "预估到账日期格式错误")
@Excel(name = "预估到账日期", width = 15)
private String estimatedArrivalDate;
@@ -380,5 +380,6 @@ public class PayCommonProject implements Serializable {
private String equityStatus;
@ApiModelProperty(value = "自定义排序顺序")
@TableField(exist = false)
private Integer sortNo;
}