Merge pull request 'develop' (#31) from develop into master
Reviewed-on: http://git.xdadan.loc/tanex/emis-service/pulls/31
This commit is contained in:
commit
0cad721e3b
@ -33,6 +33,7 @@ package com.xdadan.erp.emis.service;
|
|||||||
import com.xdadan.erp.system.service.ISysConfigService;
|
import com.xdadan.erp.system.service.ISysConfigService;
|
||||||
import com.xdadan.erp.system.service.ISysNoticeService;
|
import com.xdadan.erp.system.service.ISysNoticeService;
|
||||||
import com.xdadan.erp.system.service.ISysUserService;
|
import com.xdadan.erp.system.service.ISysUserService;
|
||||||
|
import jodd.util.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@ -46,6 +47,9 @@ package com.xdadan.erp.emis.service;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.time.format.DateTimeParseException;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -4050,6 +4054,40 @@ public class EmisBaseService {
|
|||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查月结客户首次签约日期,首次签约之前开的不允许修改
|
||||||
|
*
|
||||||
|
* @param emisWaybillOld
|
||||||
|
* @throws EmisBizError
|
||||||
|
*/
|
||||||
|
protected void checkFirstSigningDay(EmisWaybill emisWaybillOld) throws EmisBizError {
|
||||||
|
if (emisWaybillOld == null || emisWaybillOld.getOrderDate() == null || StringUtil.isBlank(emisWaybillOld.getCustNo())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
EmisCustomerUser emisCustomerUser = emisCustomerUserMapper
|
||||||
|
.selectMonthCustomerByMonthlyPayCode(emisWaybillOld.getCustNo());
|
||||||
|
if (emisCustomerUser == null || StringUtil.isBlank(emisCustomerUser.getFirstSigningDay())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
LocalDate firstSigningDate = LocalDate.parse(emisCustomerUser.getFirstSigningDay());
|
||||||
|
LocalDate orderDate = emisWaybillOld.getOrderDate().toInstant()
|
||||||
|
.atZone(ZoneId.systemDefault())
|
||||||
|
.toLocalDate();
|
||||||
|
|
||||||
|
if (orderDate.isBefore(firstSigningDate)) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR,
|
||||||
|
String.format("运单日期(%s)不能早于客户首次签约日期(%s)",
|
||||||
|
orderDate, firstSigningDate));
|
||||||
|
}
|
||||||
|
} catch (DateTimeParseException e) {
|
||||||
|
log.error("客户首次签约日期格式错误: {}", emisCustomerUser.getFirstSigningDay(), e);
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "客户首次签约日期格式错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws ParseException {
|
public static void main(String[] args) throws ParseException {
|
||||||
// Date startDate = new Date("202");
|
// Date startDate = new Date("202");
|
||||||
Date startDate= new SimpleDateFormat("yyyy-MM-dd").parse("2025-05-11");
|
Date startDate= new SimpleDateFormat("yyyy-MM-dd").parse("2025-05-11");
|
||||||
|
|||||||
@ -109,6 +109,9 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements
|
|||||||
throw new EmisBizError(EmisBizErrorType.FAIL,"有申请单审核中,待审核后再提交!");
|
throw new EmisBizError(EmisBizErrorType.FAIL,"有申请单审核中,待审核后再提交!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 检查月结客户首次签约日期,首次签约之前开的不允许修改
|
||||||
|
checkFirstSigningDay(emisWaybillOld);
|
||||||
|
|
||||||
// 插入数据
|
// 插入数据
|
||||||
emisWaybillAjustApplyMapper.insertEmisWaybillAjustApply(emisWaybillAjustApply);
|
emisWaybillAjustApplyMapper.insertEmisWaybillAjustApply(emisWaybillAjustApply);
|
||||||
|
|
||||||
|
|||||||
@ -43,6 +43,7 @@ package com.xdadan.erp.emis.service.impl;
|
|||||||
import com.xdadan.erp.system.domain.SysFileInfo;
|
import com.xdadan.erp.system.domain.SysFileInfo;
|
||||||
import com.xdadan.erp.system.service.ISysFileInfoService;
|
import com.xdadan.erp.system.service.ISysFileInfoService;
|
||||||
import com.xdadan.erp.system.service.ISysNoticeService;
|
import com.xdadan.erp.system.service.ISysNoticeService;
|
||||||
|
import jodd.util.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
@ -60,6 +61,9 @@ package com.xdadan.erp.emis.service.impl;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.time.format.DateTimeParseException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -1455,6 +1459,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
// 检查信用额度
|
// 检查信用额度
|
||||||
checkUseQuotaCredit(emisWaybillOld,emisWaybillSave);
|
checkUseQuotaCredit(emisWaybillOld,emisWaybillSave);
|
||||||
|
|
||||||
|
// 检查月结客户首次签约日期,首次签约之前开的不允许修改
|
||||||
|
checkFirstSigningDay(emisWaybillOld);
|
||||||
|
|
||||||
// 修改运单
|
// 修改运单
|
||||||
reUpdateWayBill(emisWaybillOld, emisWaybillSave,true);
|
reUpdateWayBill(emisWaybillOld, emisWaybillSave,true);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user