diff --git a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java index 0e91bf1d..0e048b38 100644 --- a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java +++ b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java @@ -225,6 +225,8 @@ public enum OrderInfoContentEnum { ORDER__SLD_NOT_CPY_ERROR("9638", "开具批次中包含成品油发票,但是受理点是非成品油受理点"), + ORDER__USER_INVALID_PERMISSIONS("9647", "当前用户关联组织权限不足,请关联对应组织再进行补录"), + READY_OPEN_ITEM_DJ_ERROR("9639", "请点击“编辑”按钮,去掉单价和数量,系统将自动按照限额拆分单据开票。"), GENERATE_READY_NCY_ERROR("9640", "农产品订单和非农产品订单不允许合并"), diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java index a20f0823..58bb2537 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java @@ -22,6 +22,7 @@ import com.dxhy.order.baseservice.module.taxclass.dao.TaxClassCodeMapper; import com.dxhy.order.baseservice.module.taxclass.model.TaxClassCodeEntity; import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity; +import com.dxhy.order.baseservice.module.thirdservice.user.model.TaxPlayerCodeDept; import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService; import com.dxhy.order.baseservice.utils.BaseServiceBeanTransitionUtils; import com.dxhy.order.constant.*; @@ -1784,7 +1785,21 @@ public class OrderInfoServiceImpl implements OrderInfoService { orderProcessInfo2.setBzdh(bzdh); orderProcessInfo2.setOrderInfoId(orderInfoId);//作为更新where条件 orderProcessInfo2.setXtly(orderProcessInfo != null && StringUtils.isNotBlank(orderProcessInfo.getXtly()) ? orderProcessInfo.getXtly() : orderProcessInfos.size() > 0 && StringUtils.isNotBlank(orderProcessInfos.get(0).getXtly())?orderProcessInfos.get(0).getXtly():"SAP"); - orderProcessInfo2.setGsdm(orderProcessInfo != null && StringUtils.isNotBlank(orderProcessInfo.getGsdm()) ? orderProcessInfo.getGsdm() : orderProcessInfos.size() > 0 && StringUtils.isNotBlank(orderProcessInfos.get(0).getGsdm())?orderProcessInfos.get(0).getGsdm():null); + //查询entId,判断如果为空 + String gsdm = orderProcessInfo != null && StringUtils.isNotBlank(orderProcessInfo.getGsdm()) ? orderProcessInfo.getGsdm() : orderProcessInfos.size() > 0 && StringUtils.isNotBlank(orderProcessInfos.get(0).getGsdm()) ? orderProcessInfos.get(0).getGsdm() : null; + if(StringUtils.isNotBlank(gsdm)){ + //根据orderInfoId 查询 发票公司代码是否为空 + OrderProcessInfo orderProcessInfo1 = orderProcessInfoMapper.selectByOrderId(orderInfoId, Arrays.asList(xhfNsrsbh)); + if(orderProcessInfo1 != null && StringUtils.isBlank(orderProcessInfo1.getGsdm())){ + //如果为空,根据entID查询大B获取公司代码 + List taxplayercodeDeptList = userInfoService.getUser().getTaxplayercodeDeptList(); + gsdm = taxplayercodeDeptList.stream().filter(t -> orderProcessInfo1.getEntId().equals(t.getDeptId())).map(t -> t.getEnterpriseNumbers()).findFirst().orElse(""); + if(StringUtils.isNotBlank(gsdm)){ + throw new OrderReceiveException(OrderInfoContentEnum.ORDER__USER_INVALID_PERMISSIONS); + } + } + } + orderProcessInfo2.setGsdm(gsdm); String ddh = orderProcessInfo != null && StringUtils.isNotBlank(orderProcessInfo.getDdh()) ? orderProcessInfo.getDdh() : orderProcessInfos.size() > 0 && StringUtils.isNotBlank(orderProcessInfos.get(0).getDdh()) ? orderProcessInfos.get(0).getDdh() : null; orderProcessInfo2.setDdh(ddh); int i = orderProcessInfoMapper.updateOrderProcessInfoByFpqqlsh(orderProcessInfo2, Arrays.asList(xhfNsrsbh));