1.合同结算审核时,将结算日期按照合同保证金年限计算合同最终付款日期反写合同(合同质量保修期:1月、2月、3月、4月、5月、半年、1年、2年、3年、4年、5年)

S
This commit is contained in:
weiyunlong 2024-12-19 16:08:41 +08:00
parent 4ed0a524fa
commit db5f06c966
1 changed files with 47 additions and 19 deletions

View File

@ -31,34 +31,62 @@ public class ConsettlebillAuditOPPlugin extends AbstractOperationServicePlugIn {
DynamicObjectCollection qeug_bondentrys = contractbills.getDynamicObjectCollection("qeug_bondentry"); DynamicObjectCollection qeug_bondentrys = contractbills.getDynamicObjectCollection("qeug_bondentry");
for (DynamicObject qeugBondentry : qeug_bondentrys) { for (DynamicObject qeugBondentry : qeug_bondentrys) {
String qeugYear = qeugBondentry.getString("qeug_year");//年限 String qeugYear = qeugBondentry.getString("qeug_year");//年限
switch (qeugYear){ //1月2月3月4月5月半年1年2年3年4年5年
Date updatedDate = null; // 声明一个变量用于保存更新后的日期
switch (qeugYear) {
case "A": case "A":
//1年 updatedDate = updateBizDate(bizdate, 1); // 1个月
if (null !=bizdate) {
// Date 转换为 LocalDate
LocalDate localBizDate = bizdate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
// 加上一年
LocalDate newBizDate = localBizDate.plusYears(1);
//转换回 Date 类型
Date updatedBizDate = Date.from(newBizDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
qeugBondentry.set("qeug_finalpaymentdate",updatedBizDate);//最终付款日期
}
break; break;
case "B": case "B":
//半年 updatedDate = updateBizDate(bizdate, 2); // 2个月
if (null !=bizdate) { break;
LocalDate localBizDate = bizdate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); case "C":
// 加上六个月 updatedDate = updateBizDate(bizdate, 3); // 3个月
LocalDate newBizDate = localBizDate.plusMonths(6); break;
Date updatedBizDate = Date.from(newBizDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); case "D":
qeugBondentry.set("qeug_finalpaymentdate",updatedBizDate);//最终付款日期 updatedDate = updateBizDate(bizdate, 4); // 4个月
} break;
case "E":
updatedDate = updateBizDate(bizdate, 5); // 5个月
break;
case "F":
updatedDate = updateBizDate(bizdate, 6); // 6个月
break;
case "G":
updatedDate = updateBizDate(bizdate, 12); // 一年
break;
case "H":
updatedDate = updateBizDate(bizdate, 24); // 两年
break;
case "I":
updatedDate = updateBizDate(bizdate, 36); // 三年
break;
case "J":
updatedDate = updateBizDate(bizdate, 48); // 四年
break;
case "K":
updatedDate = updateBizDate(bizdate, 60); // 五年
break;
default: default:
break; break;
} }
// switch 语句外设置最终付款日期
if (updatedDate != null) {
qeugBondentry.set("qeug_finalpaymentdate", updatedDate); // 设置最终付款日期
}
} }
SaveServiceHelper.save(new DynamicObject[]{contractbills}); SaveServiceHelper.save(new DynamicObject[]{contractbills});
} }
} }
} }
private Date updateBizDate(Date bizdate, int monthsToAdd) {
if (bizdate != null) {
LocalDate localBizDate = bizdate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); // Date 转换为 LocalDate
LocalDate newBizDate = localBizDate.plusMonths(monthsToAdd); // 根据传入的月份数加上月份
return Date.from(newBizDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); // 返回更新后的 Date 类型
}
return null;
}
} }