diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index 23cd633fb..58f6e19d6 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -3567,10 +3567,18 @@ public class EmisBaseService { return emisCustomerAddressMapper.insertEmisCustomerAddress(emisCustomerAddressNew); } else { if ("1".equals(emisCustomerAddressNew.getAddressType()) && "0086".equals(emisCustomerAddressNew.getCountry())) { - List emisCustomerAddressIds = emisCustomerAddressList.stream().filter(i -> (StringUtil.isBlank(i.getEnterpriseTaxId()) || StringUtil.isBlank(i.getEnterpriseName()))).map(EmisCustomerAddress::getId).collect(Collectors.toList()); + List emisCustomerAddressIds = emisCustomerAddressList.stream().filter(i -> (!emisCustomerAddressNew.getEnterpriseTaxId().equals(i.getEnterpriseTaxId()) || !emisCustomerAddressNew.getEnterpriseName().equals(i.getEnterpriseName()))).map(EmisCustomerAddress::getId).collect(Collectors.toList()); if (CollectionUtil.isEmpty(emisCustomerAddressIds)) { return 1; } + if (emisCustomerAddressNew.getId() != null) { + EmisCustomerAddress emisCustomerAddress = new EmisCustomerAddress(); + emisCustomerAddress.setId(emisCustomerAddressNew.getId()); + emisCustomerAddress.setEnterpriseTaxId(emisCustomerAddressNew.getEnterpriseTaxId()); + emisCustomerAddress.setEnterpriseName(emisCustomerAddressNew.getEnterpriseName()); + emisCustomerAddressMapper.updateEmisCustomerAddress(emisCustomerAddress); + return 1; + } for (Long id : emisCustomerAddressIds) { EmisCustomerAddress emisCustomerAddress = new EmisCustomerAddress(); emisCustomerAddress.setId(id); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 54a64f0ee..c9424c4d0 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -2524,6 +2524,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb sendAddress.setAddressType("1"); sendAddress.setEnterpriseName(emisWaybillSave.getEnterpriseName()); sendAddress.setEnterpriseTaxId(emisWaybillSave.getEnterpriseTaxId()); + if (emisWaybillSave.getSendCustomerAddressId() != null) { + sendAddress.setId(Long.valueOf(emisWaybillSave.getSendCustomerAddressId())); + } // 收件地址 EmisCustomerAddress recieveAddress = new EmisCustomerAddress(); diff --git a/emis-biz/src/main/resources/mapper/EmisCustomerAddressMapper.xml b/emis-biz/src/main/resources/mapper/EmisCustomerAddressMapper.xml index 4439efaa1..faa89b795 100644 --- a/emis-biz/src/main/resources/mapper/EmisCustomerAddressMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCustomerAddressMapper.xml @@ -302,11 +302,11 @@ and company = #{company} and company is null - and enterprise_name = #{enterpriseName} - and enterprise_name is null + + - and enterprise_tax_id = #{enterpriseTaxId} - and enterprise_tax_id is null + + and address_type = #{addressType}