diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/UserInfoService.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/UserInfoService.java index c777158e..ade1b315 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/UserInfoService.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/UserInfoService.java @@ -104,4 +104,7 @@ public interface UserInfoService { */ DeptEntity querySysDeptEntityFromUrl(String taxpayerCode, String taxpayerName, String entId); + + DeptEntity querySysDeptEntity(DeptEntity deptEntity); + } diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/impl/UserInfoServiceImpl.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/impl/UserInfoServiceImpl.java index 9b04ad34..89446825 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/impl/UserInfoServiceImpl.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/impl/UserInfoServiceImpl.java @@ -23,6 +23,7 @@ import com.dxhy.order.constant.OrderManagementConstant; import com.dxhy.order.model.R; import com.dxhy.order.utils.HttpUtils; import com.dxhy.order.utils.JsonUtils; +import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -437,6 +438,29 @@ public class UserInfoServiceImpl implements UserInfoService { return null; } + @Override + public DeptEntity querySysDeptEntity(DeptEntity deptEntity) { + List groupIdList = Lists.newArrayList(); + groupIdList.add(deptEntity.getDeptId()); + List entityList = groupManagementService.queryByGroupIdList(groupIdList); + if (entityList != null && entityList.size() > 0) { + //选出默认项 + Optional groupManagementEntityOptional = entityList.stream() + .filter(groupManagementEntity -> OrderInfoEnum.ORDER_KPZZGL_SFMRX_0.getKey().equals(groupManagementEntity.getDefaultItem())) + .findFirst(); + GroupManagementEntity groupManagementEntity = groupManagementEntityOptional.orElseGet(() -> entityList.get(0)); + deptEntity.setTaxpayerCode(groupManagementEntity.getXhfNsrsbh()); + //todo 虚拟组织:组织名称和销方名称公用此字段会有问题,后期优化 + deptEntity.setName(groupManagementEntity.getGroupName()); + deptEntity.setTaxpayerName(groupManagementEntity.getXhfMc()); + deptEntity.setTaxpayerAddress(groupManagementEntity.getXhfDz()); + deptEntity.setTaxpayerPhone(groupManagementEntity.getXhfDh()); + deptEntity.setTaxpayerBank(groupManagementEntity.getXhfYh()); + deptEntity.setTaxpayerAccount(groupManagementEntity.getXhfZh()); + } + return deptEntity; + } + public UserEntity ssoUserTransUserEntity(SsoUser ssoUser) { UserEntity userEntity = new UserEntity(); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java index 433bc1ed..3f83b034 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java @@ -462,13 +462,14 @@ public class GenerateReadyOpenOrderServiceImpl implements GenerateReadyOpenOrder if (StringUtils.isBlank(customLimit)) { limit = taxDiskLimit; } else { + //不含稅 if (StringUtils.equals("0", hsbz)) { if (new BigDecimal(customLimit).compareTo(new BigDecimal(taxDiskLimit)) > 0) { throw new OrderSplitException(ConfigureConstant.STRING_9999, "自定义限额必须小于等于票种的单张开票限额"); } limit = customLimit; } else { - //计算不含税金额,将明细行所有金额和税额相加 + //计算含税金额,将明细行所有金额和税额相加 OrderInfo orderInfo = common.getOrderInfo(); String hjbhsje = orderInfo.getHjbhsje(); if (new BigDecimal(hjbhsje).compareTo(new BigDecimal(taxDiskLimit)) > 0) { diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java index eeaa580d..2309e44f 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java @@ -232,6 +232,9 @@ public class InvoiceRestApiV6 { poCommonResponseParam.setES_OUTPUT(esOutput); return JsonUtils.getInstance().toJsonString(poCommonResponseParam); }else { + if(StringUtils.isBlank(deptEntity.getInvoiceNsrsbh()) && StringUtils.isNotBlank(deptEntity.getDeptId())){ + deptEntity = userInfoService.querySysDeptEntity(deptEntity); + } DdpcxxReqBO ddpcxxReq = BeanTransitionUtils.transitionPoKpReq(poCommonRequestParam,deptEntity); DdpcxxRspV5 ddpcxxRspV5 = interfaceServiceV6.generateQdInvoiceV6(ddpcxxReq, secretId, null); PoCommonResponseParam poCommonResponseParam = BeanTransitionUtils.transitionPoKpResp(ddpcxxRspV5);