md
This commit is contained in:
parent
b9cd424585
commit
0ba0c4038d
@ -2202,32 +2202,32 @@ public class EmisBaseService {
|
|||||||
}else{
|
}else{
|
||||||
|
|
||||||
// 重复则只修改,不增加
|
// 重复则只修改,不增加
|
||||||
EmisCustomerAddress queryObj=new EmisCustomerAddress();
|
// EmisCustomerAddress queryObj=new EmisCustomerAddress();
|
||||||
queryObj.setCounty(emisCustomerAddressNew.getCounty());
|
// queryObj.setCounty(emisCustomerAddressNew.getCounty());
|
||||||
queryObj.setName(emisCustomerAddressNew.getName());
|
// queryObj.setName(emisCustomerAddressNew.getName());
|
||||||
queryObj.setPhone(emisCustomerAddressNew.getPhone());
|
// queryObj.setPhone(emisCustomerAddressNew.getPhone());
|
||||||
queryObj.setProvince(emisCustomerAddressNew.getProvince());
|
// queryObj.setProvince(emisCustomerAddressNew.getProvince());
|
||||||
queryObj.setCity(emisCustomerAddressNew.getCity());
|
// queryObj.setCity(emisCustomerAddressNew.getCity());
|
||||||
queryObj.setCounty(emisCustomerAddressNew.getCounty());
|
// queryObj.setCounty(emisCustomerAddressNew.getCounty());
|
||||||
queryObj.setAddressType(emisCustomerAddressNew.getAddressType());
|
// queryObj.setAddressType(emisCustomerAddressNew.getAddressType());
|
||||||
queryObj.setAddress(emisCustomerAddressNew.getAddress());
|
// queryObj.setAddress(emisCustomerAddressNew.getAddress());
|
||||||
queryObj.setCompany(emisCustomerAddressNew.getCompany());
|
// queryObj.setCompany(emisCustomerAddressNew.getCompany());
|
||||||
|
//
|
||||||
List<EmisCustomerAddress> existList=emisCustomerAddressMapper.selectExistAddressList(queryObj);
|
// List<EmisCustomerAddress> existList=emisCustomerAddressMapper.selectExistAddressList(queryObj);
|
||||||
// 重复数据需要修正地址的客户归属
|
// // 重复数据需要修正地址的客户归属
|
||||||
if(existList!=null){
|
// if(existList!=null){
|
||||||
for (EmisCustomerAddress cusddress:existList) {
|
// for (EmisCustomerAddress cusddress:existList) {
|
||||||
if(StringUtils.isEmpty(cusddress.getCustomerCode())){
|
// if(StringUtils.isEmpty(cusddress.getCustomerCode())){
|
||||||
// 增加使用站点
|
// // 增加使用站点
|
||||||
String useSiteCode = emisCustomerAddressNew.getUseSiteCode();
|
// String useSiteCode = emisCustomerAddressNew.getUseSiteCode();
|
||||||
if(useSiteCode.indexOf(emisCustomerAddressNew.getUseSiteCode())==-1){
|
// if(useSiteCode.indexOf(emisCustomerAddressNew.getUseSiteCode())==-1){
|
||||||
cusddress.setUseSiteCode(useSiteCode+","+emisCustomerAddressNew.getUseSiteCode());
|
// cusddress.setUseSiteCode(useSiteCode+","+emisCustomerAddressNew.getUseSiteCode());
|
||||||
}
|
// }
|
||||||
cusddress.setCustomerCode(emisCustomerAddressNew.getCustomerCode());
|
// cusddress.setCustomerCode(emisCustomerAddressNew.getCustomerCode());
|
||||||
emisCustomerAddressMapper.updateAddessCustomerCodeAndUseSite(cusddress);
|
// emisCustomerAddressMapper.updateAddessCustomerCodeAndUseSite(cusddress);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1054,39 +1054,61 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
emisWaybillSave.setOrderSn(orderSn);
|
emisWaybillSave.setOrderSn(orderSn);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 登记网点
|
|
||||||
if(isNew) {
|
if( StringUtils.isAnyEmpty(
|
||||||
emisWaybillSave.setRegisterSiteCode(getCurrentUser().getOwnerSiteCode());
|
emisWaybillSave.getTransLineType(),
|
||||||
emisWaybillSave.setRegisterManCode(getCurrentUser().getEmpCode());
|
emisWaybillSave.getProductType()
|
||||||
emisWaybillSave.setRegisterDate(new Date());
|
)
|
||||||
|
) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"线路、产品必填");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isNew) {
|
|
||||||
emisWaybillSave.setDataFrom(WaybillHelper.getDataFrom());
|
|
||||||
}
|
|
||||||
|
|
||||||
if(emisWaybillSave.getFreight().floatValue()<=0.0f){
|
// 检查数据
|
||||||
|
if(emisWaybillSave.getFreight()==null || emisWaybillSave.getFreight().floatValue()<=0.0f){
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"运费必须大于0");
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"运费必须大于0");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (emisWaybillSave.getSettlementWeight().floatValue() <= 0.0f
|
|
||||||
|| emisWaybillSave.getTotalVolume().floatValue() <= 0.0f
|
|
||||||
|| emisWaybillSave.getBillWeight().floatValue() <= 0.0f
|
if(emisWaybillSave.getBillWeight()==null || emisWaybillSave.getBillWeight().floatValue()<=0.0f){
|
||||||
|| emisWaybillSave.getVolumeWeight().floatValue() <= 0.0f
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"实重必须大于0");
|
||||||
) {
|
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "结算重量,体积,体积重量,实重必须大于0");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(StringUtils.isAnyEmpty(
|
if(emisWaybillSave.getTotalVolume()==null || emisWaybillSave.getTotalVolume().floatValue()<=0.0f){
|
||||||
emisWaybillSave.getPickupMethod(),
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"体积必须大于0");
|
||||||
emisWaybillSave.getDispatchMethod(),
|
|
||||||
emisWaybillSave.getCustomsEclaration(),
|
|
||||||
emisWaybillSave.getCustomsClear()
|
|
||||||
)
|
|
||||||
){
|
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"取件方式,派送方式,报关方式,清关方式必填");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(emisWaybillSave.getSettlementWeight()==null || emisWaybillSave.getSettlementWeight().floatValue()<=0.0f){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"结算重量必须大于0");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(emisWaybillSave.getVolumeWeight()==null || emisWaybillSave.getVolumeWeight().floatValue()<=0.0f){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"体积重量必须大于0");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isEmpty(emisWaybillSave.getPickupMethod())){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"取件方式必填");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isEmpty(emisWaybillSave.getDispatchMethod())){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"派送方式必填");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isEmpty(emisWaybillSave.getCustomsEclaration())){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"报关方式必填");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isEmpty(emisWaybillSave.getCustomsClear())){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"清关方式必填");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(StringUtils.isEmpty(emisWaybillSave.getPaymentType())){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"支付方式必填");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(StringUtils.isEmpty(emisWaybillSave.getCalcFeeType())){
|
if(StringUtils.isEmpty(emisWaybillSave.getCalcFeeType())){
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"计费方式必填");
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"计费方式必填");
|
||||||
}
|
}
|
||||||
@ -1096,22 +1118,81 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"寄件网点必填");
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"寄件网点必填");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 寄件网点财务中心
|
// 寄件地址
|
||||||
EmisSite sendSite = getSiteByCode(emisWaybillSave.getSendSiteCode());
|
if(StringUtils.isAnyEmpty(
|
||||||
if(sendSite!=null) {
|
emisWaybillSave.getSendCountry(),
|
||||||
emisWaybillSave.setSendCenterCode(sendSite.getParentSiteCode());
|
emisWaybillSave.getSendName(),
|
||||||
|
emisWaybillSave.getSendMobile(),
|
||||||
|
emisWaybillSave.getSendProvince(),
|
||||||
|
emisWaybillSave.getSendAddress()
|
||||||
|
)
|
||||||
|
){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"寄件人信息不完整检查名称, 电话,国家,省份,地址必填");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 收件地址
|
||||||
|
if(StringUtils.isAnyEmpty(
|
||||||
|
emisWaybillSave.getReceiveCountry(),
|
||||||
|
emisWaybillSave.getReceiveName(),
|
||||||
|
emisWaybillSave.getReceiveMobile(),
|
||||||
|
emisWaybillSave.getReceiveProvince(),
|
||||||
|
emisWaybillSave.getReceiveAddress()
|
||||||
|
)
|
||||||
|
|
||||||
|
){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"收件人信息不完整,名称, 电话,国家,省份,地址必填");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(StringUtils.isEmpty(emisWaybillSave.getPackType())){
|
if(StringUtils.isEmpty(emisWaybillSave.getPackType())){
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"包装类型必填");
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"包装类型必填");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 目的网点
|
// 目的网点
|
||||||
if(StringUtils.isEmpty(emisWaybillSave.getDispatchUnderlingSiteCode())){
|
if(StringUtils.isEmpty(emisWaybillSave.getDispatchUnderlingSiteCode())){
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"目的网点必填");
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"目的网点必填");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isNew) {
|
||||||
|
if( emisWaybillSave.getSendDate()==null ){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"发件日期必填");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断网点余额-运单金额 是否足够,如果不够则不允许下单
|
||||||
|
EmisSiteAccount emisSiteAccount = getSiteAccountBySiteCode(emisWaybillSave.getSendSiteCode());
|
||||||
|
if (emisSiteAccount == null) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL, "网点结算账户不存在,请先开结算账户");
|
||||||
|
}
|
||||||
|
|
||||||
|
BigDecimal curMoney = emisSiteAccount.getCurMoney();
|
||||||
|
BigDecimal closeMoney = emisSiteAccount.getCloseMoney();
|
||||||
|
|
||||||
|
BigDecimal newCurMoney = curMoney.subtract(emisWaybillSave.getFreight());
|
||||||
|
if (newCurMoney.compareTo(closeMoney) == -1) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL, "网点余额不足,请充值");
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------
|
||||||
|
// 登记网点
|
||||||
|
if(isNew) {
|
||||||
|
emisWaybillSave.setRegisterSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||||
|
emisWaybillSave.setRegisterManCode(getCurrentUser().getEmpCode());
|
||||||
|
emisWaybillSave.setRegisterDate(new Date());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isNew) {
|
||||||
|
emisWaybillSave.setDataFrom(WaybillHelper.getDataFrom());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 寄件网点财务中心
|
||||||
|
EmisSite sendSite = getSiteByCode(emisWaybillSave.getSendSiteCode());
|
||||||
|
if(sendSite!=null) {
|
||||||
|
emisWaybillSave.setSendCenterCode(sendSite.getParentSiteCode());
|
||||||
|
}
|
||||||
|
|
||||||
// 订单运单初始状态 订单为已接单,运单未初始,待揽收
|
// 订单运单初始状态 订单为已接单,运单未初始,待揽收
|
||||||
emisWaybillSave.setOrderStatus("1");
|
emisWaybillSave.setOrderStatus("1");
|
||||||
emisWaybillSave.setWaybillStatus("0");
|
emisWaybillSave.setWaybillStatus("0");
|
||||||
@ -1144,18 +1225,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
// 订单类型为正式单
|
// 订单类型为正式单
|
||||||
emisWaybillSave.setOrderType("1");
|
emisWaybillSave.setOrderType("1");
|
||||||
|
|
||||||
// 寄件地址
|
// 发件地址
|
||||||
if(StringUtils.isAnyEmpty(
|
|
||||||
emisWaybillSave.getSendCountry(),
|
|
||||||
emisWaybillSave.getSendName(),
|
|
||||||
emisWaybillSave.getSendMobile(),
|
|
||||||
emisWaybillSave.getSendProvince(),
|
|
||||||
emisWaybillSave.getSendAddress()
|
|
||||||
)
|
|
||||||
){
|
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"寄件人信息不完整,名称, 电话,国家,省份,地址必填");
|
|
||||||
}
|
|
||||||
|
|
||||||
EmisCustomerAddress sendAddress = new EmisCustomerAddress();
|
EmisCustomerAddress sendAddress = new EmisCustomerAddress();
|
||||||
sendAddress.setCountry(emisWaybillSave.getSendCountry());
|
sendAddress.setCountry(emisWaybillSave.getSendCountry());
|
||||||
sendAddress.setName(emisWaybillSave.getSendName());
|
sendAddress.setName(emisWaybillSave.getSendName());
|
||||||
@ -1171,19 +1241,8 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
sendAddress.setUseSiteCode(emisWaybillSave.getSendSiteCode());
|
sendAddress.setUseSiteCode(emisWaybillSave.getSendSiteCode());
|
||||||
sendAddress.setAddressType("1");
|
sendAddress.setAddressType("1");
|
||||||
|
|
||||||
|
|
||||||
// 收件地址
|
// 收件地址
|
||||||
if(StringUtils.isAnyEmpty(
|
|
||||||
emisWaybillSave.getReceiveCountry(),
|
|
||||||
emisWaybillSave.getReceiveName(),
|
|
||||||
emisWaybillSave.getReceiveMobile(),
|
|
||||||
emisWaybillSave.getReceiveProvince(),
|
|
||||||
emisWaybillSave.getReceiveAddress()
|
|
||||||
)
|
|
||||||
|
|
||||||
){
|
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"收件人信息不完整,名称, 电话,国家,省份,地址必填");
|
|
||||||
}
|
|
||||||
|
|
||||||
EmisCustomerAddress recieveAddress = new EmisCustomerAddress();
|
EmisCustomerAddress recieveAddress = new EmisCustomerAddress();
|
||||||
recieveAddress.setCountry(emisWaybillSave.getReceiveCountry());
|
recieveAddress.setCountry(emisWaybillSave.getReceiveCountry());
|
||||||
recieveAddress.setName(emisWaybillSave.getReceiveName());
|
recieveAddress.setName(emisWaybillSave.getReceiveName());
|
||||||
@ -1203,10 +1262,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
String customerCode=null;
|
String customerCode=null;
|
||||||
String customerName=null;
|
String customerName=null;
|
||||||
|
|
||||||
if( emisWaybillSave.getPaymentType()==null) {
|
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"支付方式必填");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 月结客户直接根据月结编号获取客户编码和名称
|
// 月结客户直接根据月结编号获取客户编码和名称
|
||||||
if(
|
if(
|
||||||
"2".equals(emisWaybillSave.getPaymentType())
|
"2".equals(emisWaybillSave.getPaymentType())
|
||||||
@ -1249,6 +1304,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
newEmisCustomerUser.setSettledType("1");
|
newEmisCustomerUser.setSettledType("1");
|
||||||
newEmisCustomerUser.setUserType("1");
|
newEmisCustomerUser.setUserType("1");
|
||||||
|
|
||||||
|
newEmisCustomerUser.setBlOpenOms("0");
|
||||||
|
newEmisCustomerUser.setRemark("开单自动生成的现金用户");
|
||||||
|
|
||||||
// 预置主归属网点
|
// 预置主归属网点
|
||||||
newEmisCustomerUser.setOwnerSite(emisWaybillSave.getSendSiteCode());
|
newEmisCustomerUser.setOwnerSite(emisWaybillSave.getSendSiteCode());
|
||||||
EmisCustomerUser newUser=createCustomerUser(newEmisCustomerUser);
|
EmisCustomerUser newUser=createCustomerUser(newEmisCustomerUser);
|
||||||
@ -1300,24 +1358,15 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存客户收件、寄件地址
|
// 保存客户收件、寄件地址,开单不要关联客户地址数据
|
||||||
sendAddress.setCustomerCode(customerCode);
|
// sendAddress.setCustomerCode(customerCode);
|
||||||
recieveAddress.setCustomerCode(customerCode);
|
// recieveAddress.setCustomerCode(customerCode);
|
||||||
createCustomerAddress(sendAddress);
|
createCustomerAddress(sendAddress);
|
||||||
createCustomerAddress(recieveAddress);
|
createCustomerAddress(recieveAddress);
|
||||||
|
|
||||||
emisWaybillSave.setCustomerCode(customerCode);
|
emisWaybillSave.setCustomerCode(customerCode);
|
||||||
emisWaybillSave.setCustomerName(customerName);
|
emisWaybillSave.setCustomerName(customerName);
|
||||||
|
|
||||||
if( StringUtils.isAnyEmpty(
|
|
||||||
emisWaybillSave.getTransLineType(),
|
|
||||||
emisWaybillSave.getProductType()
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"线路、产品必填");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 获取泡重比
|
// 获取泡重比
|
||||||
EmisTransLine emisTransLine = getTransLineByCode(emisWaybillSave.getTransLineType());
|
EmisTransLine emisTransLine = getTransLineByCode(emisWaybillSave.getTransLineType());
|
||||||
@ -1331,11 +1380,8 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
emisWaybillSave.setSendDate(new Date());
|
emisWaybillSave.setSendDate(new Date());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isNew) {
|
|
||||||
if( emisWaybillSave.getSendDate()==null ){
|
|
||||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"发件日期必填");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 开单当天不算时效
|
// 开单当天不算时效
|
||||||
Date estDate = getEstimateDate(
|
Date estDate = getEstimateDate(
|
||||||
emisWaybillSave.getSendDate(),emisWaybillSave.getProductType(),
|
emisWaybillSave.getSendDate(),emisWaybillSave.getProductType(),
|
||||||
@ -1372,19 +1418,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断网点余额-运单金额 是否足够,如果不够则不允许下单
|
|
||||||
EmisSiteAccount emisSiteAccount = getSiteAccountBySiteCode(emisWaybillSave.getSendSiteCode());
|
|
||||||
if (emisSiteAccount == null) {
|
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, "网点结算账户不存在,请先开结算账户");
|
|
||||||
}
|
|
||||||
|
|
||||||
BigDecimal curMoney = emisSiteAccount.getCurMoney();
|
|
||||||
BigDecimal closeMoney = emisSiteAccount.getCloseMoney();
|
|
||||||
|
|
||||||
BigDecimal newCurMoney = curMoney.subtract(emisWaybillSave.getFreight());
|
|
||||||
if (newCurMoney.compareTo(closeMoney) == -1) {
|
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, "网点余额不足,请充值");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 公共计算部分
|
// 公共计算部分
|
||||||
calcWayBillCommonInfo(emisWaybillSave,true);
|
calcWayBillCommonInfo(emisWaybillSave,true);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user