diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/dao/GroupManagementMapper.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/dao/GroupManagementMapper.java index 462581f9..dce49143 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/dao/GroupManagementMapper.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/dao/GroupManagementMapper.java @@ -41,4 +41,6 @@ public interface GroupManagementMapper { * 删除组织信息 */ int deleteGroup(@Param(value = "id") String id); + + int countEntIdNumByXfnsrsbh(@Param("xfnsrsbh") String xfnsrsbh); } diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/GroupManagementService.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/GroupManagementService.java index 81300c51..03ccdd05 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/GroupManagementService.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/GroupManagementService.java @@ -53,4 +53,5 @@ public interface GroupManagementService { * 根据组织id集合查询组织信息 */ List queryByGroupIdList(List groupIdList); + } diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/impl/GroupManagementServiceImpl.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/impl/GroupManagementServiceImpl.java index d590e3e0..3253db74 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/impl/GroupManagementServiceImpl.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/impl/GroupManagementServiceImpl.java @@ -206,6 +206,7 @@ public class GroupManagementServiceImpl implements GroupManagementService { return groupManagementMapper.queryByGroupIdList(groupIdList, OrderInfoEnum.ORDER_KPZZGL_CXLX_1.getKey()); } + /** * 构建组织树集合 */ diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/model/DeptEntity.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/model/DeptEntity.java index 237d55eb..c69564ce 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/model/DeptEntity.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/model/DeptEntity.java @@ -1,5 +1,6 @@ package com.dxhy.order.baseservice.module.thirdservice.user.model; +import lombok.Data; import lombok.Getter; import lombok.Setter; @@ -12,8 +13,7 @@ import java.util.Date; * @author: yaoxuguang * @createDate: Created in 2020/4/8 18:22 */ -@Setter -@Getter +@Data public class DeptEntity implements Serializable { /** 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 a0d4fa7b..db567091 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 @@ -463,6 +463,7 @@ public class UserInfoServiceImpl implements UserInfoService { deptEntityNew.setTaxpayerAccount(groupManagementEntity.getXhfZh()); deptEntityNew.setInvoiceName(groupManagementEntity.getXhfMc()); deptEntityNew.setInvoiceNsrsbh(groupManagementEntity.getXhfNsrsbh()); + deptEntityNew.setEnterpriseNumbers(deptEntity.getEnterpriseNumbers()); } } return deptEntityNew; diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/GroupManagementMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/GroupManagementMapper.xml index 106165a1..e95e0529 100644 --- a/order-management-base-service/src/main/resources/mybatis/mapper/GroupManagementMapper.xml +++ b/order-management-base-service/src/main/resources/mybatis/mapper/GroupManagementMapper.xml @@ -82,6 +82,11 @@ ORDER BY update_time DESC + INSERT INTO diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GsClientMapper.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GsClientMapper.java index bf7b5868..5af00c41 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GsClientMapper.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GsClientMapper.java @@ -24,4 +24,6 @@ public interface GsClientMapper { int updateByPrimaryKeySelective(GsClient record); int updateByPrimaryKey(GsClient record); + + int countGsdm(@Param("gsdm") String gsdm); } \ No newline at end of file diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java index 3c710b11..b0d8c314 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java @@ -220,4 +220,13 @@ public interface OrderInfoService { @Transactional R mergeOrderItem(String entId,String orderInfoId,List itemList); + + + /** + * 判断是不是内部关联交易且是一个税号对应多个公司代码的填上备注 + * @param entId + * @param ghfId + * @return + */ + Boolean checkInvoiceRemarksFlag(String entId,String ghfId); } 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 5da67c2f..b80a8040 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 @@ -12,6 +12,7 @@ import com.dxhy.order.baseservice.config.BaseServiceConfig; import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity; import com.dxhy.order.baseservice.module.buyer.service.BuyerService; import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity; +import com.dxhy.order.baseservice.module.groupmanagement.dao.GroupManagementMapper; import com.dxhy.order.baseservice.module.taxclass.dao.TaxClassCodeMapper; import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity; @@ -21,6 +22,7 @@ import com.dxhy.order.constant.OrderInfoContentEnum; import com.dxhy.order.constant.OrderInfoEnum; import com.dxhy.order.constant.OrderManagementConstant; import com.dxhy.order.consumer.dao.GroupCommodityCodeMapper; +import com.dxhy.order.consumer.dao.GsClientMapper; import com.dxhy.order.consumer.dao.OrderBatchRequestMapper; import com.dxhy.order.consumer.dao.OrderProcessInfoMapper; import com.dxhy.order.consumer.model.OderDetailInfo; @@ -164,6 +166,12 @@ public class OrderInfoServiceImpl implements OrderInfoService { @Resource private OrderBatchRequestMapper orderBatchRequestMapper; + @Resource + private GroupManagementMapper groupManagementMapper; + + @Resource + private GsClientMapper gsClientMapper; + @Override public PageUtils selectOrderInfo(Map map, List shList, List entList) { return orderProcessService.selectOrderInfo(map, shList, entList); @@ -1916,6 +1924,30 @@ public class OrderInfoServiceImpl implements OrderInfoService { return R.ok(); } + @Override + @Transactional(readOnly = true) + public Boolean checkInvoiceRemarksFlag(String xfnsrsbh, String ghfId) { + if (StringUtils.isBlank(xfnsrsbh)) { + return Boolean.FALSE; + } + if (StringUtils.isBlank(ghfId)) { + return Boolean.FALSE; + } + if (groupManagementMapper.countEntIdNumByXfnsrsbh(xfnsrsbh) <= 1) { + return Boolean.FALSE; + } + if (ghfId.length()<=6) { + return Boolean.FALSE; + } + if (!"000060".equals(ghfId.substring(0,6))) { + return Boolean.FALSE; + } + if (gsClientMapper.countGsdm(ghfId.replace("000060","")) == 0) { + return Boolean.FALSE; + } + return Boolean.TRUE; + } + private void completeCommodityMessageBySpid(OrderItemInfo item, CommodityCodeEntity commodity) { //商品编码 item.setSpbm(commodity.getSpbm()); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/order/DdtxxBO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/order/DdtxxBO.java index 0d35f90f..32e56c77 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/order/DdtxxBO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/order/DdtxxBO.java @@ -368,5 +368,10 @@ public class DdtxxBO implements Serializable { */ private String KB; + /** + * 销方公司编码 + */ + private String XHFBM; + } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java index 71bc18c7..d98a8700 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java @@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; import com.dxhy.base.constant.OrderSeparationException; import com.dxhy.base.constant.TaxSeparateConfig; import com.dxhy.base.utils.PriceTaxSeparationUtilNew; @@ -131,6 +132,9 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt private GroupManagementService groupManagementService; @Resource private InvoiceRemarkSetService invoiceRemarkSetService; + + @Resource + private OrderInfoService orderInfoService; /** * 发票开具接口 * @@ -884,6 +888,14 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt } } } + // 拼接公司代码备注信息 + insertOrder.stream().forEach(item->{ + if (orderInfoService.checkInvoiceRemarksFlag(item.getXhfNsrsbh(), item.getGhfId())) { + log.info("ddpcxxReq:{}", JSONObject.toJSONString(ddpcxxReq)); + item.setBz(item.getBz()+";销方公司代码:"+ddpcxxReq.getDDZXX().get(0).getDDTXX().getXHFBM()+",销方公司名称:"+item.getXhfMc()+";"); + } + }); + /* * 手动导入判断 diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java index bfc8cea9..d52a6713 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; +import com.alibaba.fastjson.JSONObject; import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity; import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxCommonBO; import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbReqBO; @@ -3508,6 +3509,9 @@ public class BeanTransitionUtils { if(ConfigureConstant.STRING_1.equals(req.getZSFHZ())){ ddtxxBO.setTSCHBZ(ConfigureConstant.STRING_0); } + // 销方公司代码 + log.info("传入的deptEntity:{}",JSONObject.toJSONString(deptEntity)); + ddtxxBO.setXHFBM(deptEntity.getEnterpriseNumbers()); //明细信息 List ititem = req.getITITEM(); for (int i = 0; i < ititem.size(); i++) { @@ -3579,6 +3583,7 @@ public class BeanTransitionUtils { ddzxxList.add(ddzxxBO); ddpcxxReqBO.setDDPCXX(ddpcxxBO); ddpcxxReqBO.setDDZXX(ddzxxList); + log.info("转换后的DdpcxxReqBO:{}", JSONObject.toJSONString(ddpcxxReqBO)); return ddpcxxReqBO; } diff --git a/order-management-consumer/src/main/resources/mybatis/mapper/GsClientMapper.xml b/order-management-consumer/src/main/resources/mybatis/mapper/GsClientMapper.xml index 1fb3487b..438e27e7 100644 --- a/order-management-consumer/src/main/resources/mybatis/mapper/GsClientMapper.xml +++ b/order-management-consumer/src/main/resources/mybatis/mapper/GsClientMapper.xml @@ -22,6 +22,12 @@ from gs_client where gsdm = #{gsdm,jdbcType=VARCHAR} + + delete from gs_client