编辑代码

import java.text.SimpleDateFormat
import java.util.Calendar

// 设置日期格式
def dateFormat = new SimpleDateFormat('yyyy-MM-dd')

// 设置交货日期、收货处理时间和计划交货时间
Date deliveryDate = dateFormat.parse('2024-04-03')
int receiptProcessingDays = 2 // 收货处理时间(只计工作日)
int plannedDeliveryDays = 3 // 计划交货时间(计所有天)

// 首先减去计划交货时间(所有天)
Calendar calendar = Calendar.getInstance()
calendar.setTime(deliveryDate)
calendar.add(Calendar.DATE, -plannedDeliveryDays)

// 然后减去收货处理时间(只计工作日)
for (int i = 0; i < receiptProcessingDays; ) {
    calendar.add(Calendar.DATE, -1)
    // 如果不是周六和周日,则计入收货处理时间
    if (!(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY ||
          calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)) {
        i++
    }
}

// 输出收货需求日期
println(dateFormat.format(calendar.getTime()))