From 2f90e6d436601cd18455c3acb171cb32122c2c06 Mon Sep 17 00:00:00 2001 From: gaorl Date: Wed, 5 Apr 2023 15:48:54 +0800 Subject: [PATCH] =?UTF-8?q?feature=EF=BC=9A1=E3=80=81=E4=BA=A4=E6=8E=A5?= =?UTF-8?q?=E5=8D=95=E5=AF=BC=E5=87=BA=EF=BC=9B2=E3=80=81Excel=20=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=AE=A2=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../buyer/controller/BuyerController.java | 1 + .../dxhy/order/constant/OrderInfoEnum.java | 1 + .../dxhy/order/model/page/OrderListQuery.java | 2 + .../dxhy/order/utils/PageBeanConvertUtil.java | 3 + .../domain/dto/QuoteGroupCommodityDTO.java | 5 +- .../impl/GroupCommodityCodeServiceImpl.java | 18 ++-- .../impl/CommonInterfaceServiceImpl.java | 4 +- .../mapper/GroupCommodityCodeMapper.xml | 19 ++++- .../controller/ExportExcelController.java | 1 + .../invoice/dao/OrderInvoiceInfoMapper.java | 1 + .../model/excel/ExportInvoiceInfo.java | 7 +- .../excel/ExportInvoiceSignInfoEnum.java | 83 +++++++++++++++++++ .../service/OrderInvoiceInfoService.java | 1 - .../impl/OrderInvoiceInfoServiceImpl.java | 18 +++- .../mybatis/mapper/OrderInvoiceInfoMapper.xml | 19 +++++ 15 files changed, 165 insertions(+), 18 deletions(-) create mode 100644 order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/excel/ExportInvoiceSignInfoEnum.java diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/controller/BuyerController.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/controller/BuyerController.java index fadef3f2..4a40bb7f 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/controller/BuyerController.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/controller/BuyerController.java @@ -222,6 +222,7 @@ public class BuyerController { if (StringUtils.isEmpty(buyerEntity.getTaxpayerCode())) { buyerEntity.setGhfQylx(OrderInfoEnum.GHF_QYLX_03.getKey()); } + buyerEntity.setStatus("1"); //购方名称 带中文括号的转换成英文括号 buyerEntity.setPurchaseName(StringUtil.replaceStr(buyerEntity.getPurchaseName(), true)); buyerEntityList.add(buyerEntity); diff --git a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java index fcb9c546..556ee1ba 100644 --- a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java +++ b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java @@ -914,6 +914,7 @@ public enum OrderInfoEnum { EXPORT_EXCEL_TYPE_1("1", "发票明细"), EXPORT_EXCEL_TYPE_2("2", "机动车发票明细"), EXPORT_EXCEL_TYPE_3("3", "二手车发票明细"), + EXPORT_EXCEL_TYPE_4("4", "交接单导出"), /** * 二手车开票方类型 diff --git a/order-management-common/src/main/java/com/dxhy/order/model/page/OrderListQuery.java b/order-management-common/src/main/java/com/dxhy/order/model/page/OrderListQuery.java index 8797ab64..7d465024 100644 --- a/order-management-common/src/main/java/com/dxhy/order/model/page/OrderListQuery.java +++ b/order-management-common/src/main/java/com/dxhy/order/model/page/OrderListQuery.java @@ -296,4 +296,6 @@ public class OrderListQuery { */ private String dyzt; + private String orderInfoIds; + } diff --git a/order-management-common/src/main/java/com/dxhy/order/utils/PageBeanConvertUtil.java b/order-management-common/src/main/java/com/dxhy/order/utils/PageBeanConvertUtil.java index f7fb51d3..af4488a3 100644 --- a/order-management-common/src/main/java/com/dxhy/order/utils/PageBeanConvertUtil.java +++ b/order-management-common/src/main/java/com/dxhy/order/utils/PageBeanConvertUtil.java @@ -229,6 +229,9 @@ public class PageBeanConvertUtil { resultMap.put("kplx",OrderInfoEnum.ORDER_BILLING_INVOICE_TYPE_0.getKey()); } } + if(StringUtils.isNotBlank(orderListQuery.getOrderInfoIds())){ + resultMap.put("ids",Arrays.asList(orderListQuery.getOrderInfoIds().split(","))); + } return resultMap; } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QuoteGroupCommodityDTO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QuoteGroupCommodityDTO.java index 2ae712b2..69e312b8 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QuoteGroupCommodityDTO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QuoteGroupCommodityDTO.java @@ -18,6 +18,9 @@ public class QuoteGroupCommodityDTO { @NotBlank(message = "物料编码不能为空!") private String zxbm; - @NotBlank(message = "接收引用物料的销方纳税人识别号不能为空!") + //@NotBlank(message = "接收引用物料的销方纳税人识别号不能为空!") private String xhfNsrsbh; + + @NotBlank(message = "接收引用物料的销方企业id不能为空!") + private String deptId; } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/GroupCommodityCodeServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/GroupCommodityCodeServiceImpl.java index 13062839..a6a45f60 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/GroupCommodityCodeServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/GroupCommodityCodeServiceImpl.java @@ -87,13 +87,13 @@ public class GroupCommodityCodeServiceImpl implements IGroupCommodityCodeService @Transactional public R quoteGroupCommodityCode(QuoteGroupCommodityDTO quoteGroupCommodityDTO) { // 判断销方税号是否合法,因为某些情况下可能会传递list过来 - if (StringUtils.isBlank(quoteGroupCommodityDTO.getXhfNsrsbh())) { - return R.error(ConfigureConstant.STRING_0000, "销方税号不能为空"); - } - - if (quoteGroupCommodityDTO.getXhfNsrsbh().contains(ConfigureConstant.STRING_CHARSET_1)) { - return R.error(ConfigureConstant.STRING_0000, "销方税号非法"); - } +// if (StringUtils.isBlank(quoteGroupCommodityDTO.getXhfNsrsbh())) { +// return R.error(ConfigureConstant.STRING_0000, "销方税号不能为空"); +// } +// +// if (quoteGroupCommodityDTO.getXhfNsrsbh().contains(ConfigureConstant.STRING_CHARSET_1)) { +// return R.error(ConfigureConstant.STRING_0000, "销方税号非法"); +// } List zxbmList = Arrays.asList(StringUtils.split(quoteGroupCommodityDTO.getZxbm(), ",")); for (int i = 0; i < zxbmList.size(); i++) { @@ -103,7 +103,8 @@ public class GroupCommodityCodeServiceImpl implements IGroupCommodityCodeService return R.error("第" + (i + 1) + "条数据,物料编码不能为空"); } - CommodityCodeEntity commodityCodeEntity = groupCommodityMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(zxbm, quoteGroupCommodityDTO.getXhfNsrsbh()); + //CommodityCodeEntity commodityCodeEntity = groupCommodityMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(zxbm, quoteGroupCommodityDTO.getXhfNsrsbh()); + CommodityCodeEntity commodityCodeEntity = groupCommodityMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(zxbm, quoteGroupCommodityDTO.getXhfNsrsbh(), quoteGroupCommodityDTO.getDeptId()); // 根据文档4.2.1.2 (6) 若物料编码重复时,引用后不对子公司物料进行更新 if (commodityCodeEntity != null) { continue; @@ -127,6 +128,7 @@ public class GroupCommodityCodeServiceImpl implements IGroupCommodityCodeService newCommodityCodeEntity.setId(baseService.getGenerateShotKey()); newCommodityCodeEntity.setXhfNsrsbh(quoteGroupCommodityDTO.getXhfNsrsbh()); + newCommodityCodeEntity.setEntId(quoteGroupCommodityDTO.getDeptId()); if (groupCommodityMapper.insertCommodityCode(newCommodityCodeEntity) <= 0) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return R.error("第" + (i + 1) + "条数据,引用失败"); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java index 5b1ab823..7fa2ef99 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java @@ -559,13 +559,13 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { if (StringUtils.isNotEmpty(entId)) { commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), xhfNsrsbh, entId); } else { - commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), xhfNsrsbh); + commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), xhfNsrsbh,entId); } // 如果公司物料库匹配失败,从集团物料库匹配 if (commodityCodeEntity == null) { // 如果匹配不到,则去集团物料库匹配 - commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), "-1"); + commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), "-1",entId); if (commodityCodeEntity == null) { // ③ 若通过集团物料库仍未匹配到税编信息则,使用“物料名称”进行智能赋码开票(用SAAS接口赋码) // 智能赋码接口 diff --git a/order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml b/order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml index 0e98cd0c..d68ec7f8 100644 --- a/order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml +++ b/order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml @@ -124,7 +124,10 @@ @@ -137,7 +140,13 @@ @@ -251,6 +260,9 @@ wlflmc, + + ent_id, + @@ -363,6 +375,9 @@ #{wlflmc,jdbcType=VARCHAR}, + + #{entId,jdbcType=VARCHAR}, + diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/controller/ExportExcelController.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/controller/ExportExcelController.java index 6874ffac..a8b90862 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/controller/ExportExcelController.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/controller/ExportExcelController.java @@ -42,6 +42,7 @@ import java.util.zip.ZipOutputStream; public class ExportExcelController { private static final String LOGGER_MSG = "excel导出控制层"; + private static final String LOGGER_MSG_DELIVERY = "交接单excel导出控制层"; @Resource private OrderInvoiceInfoService orderInvoiceInfoService; diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInvoiceInfoMapper.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInvoiceInfoMapper.java index 7044df07..58357577 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInvoiceInfoMapper.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInvoiceInfoMapper.java @@ -86,6 +86,7 @@ public interface OrderInvoiceInfoMapper { */ List selectRedAndInvoiceBymap(@Param("map") Map map, @Param("shList") List shList, @Param("entList") List entList); + List selectInvoiceByIds(@Param("ids") List ids); /** * 根据条件统计总金额数量 * diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/excel/ExportInvoiceInfo.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/excel/ExportInvoiceInfo.java index b44bdc0a..19a1dc8d 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/excel/ExportInvoiceInfo.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/excel/ExportInvoiceInfo.java @@ -158,7 +158,12 @@ public class ExportInvoiceInfo implements Serializable { * 车辆识别代号 */ private String clsbdh; - + + private String mark; + + private String signName; + + private String signDate; private List exportInvoiceItemInfoList; } diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/excel/ExportInvoiceSignInfoEnum.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/excel/ExportInvoiceSignInfoEnum.java new file mode 100644 index 00000000..c1fc948c --- /dev/null +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/model/excel/ExportInvoiceSignInfoEnum.java @@ -0,0 +1,83 @@ +package com.dxhy.order.invoice.module.invoice.model.excel; + +import java.util.ArrayList; +import java.util.List; + +/** + * 导出excel-发票主信息 + * + * @author ZSC-DXHY + * @date 创建时间: 2021-05-10 18:35 + */ +public enum ExportInvoiceSignInfoEnum { + + /** + * Excel导出发票主信息 + * 必须按照顺序存放,否则会异常 + */ + EXCEL_EXPORT_INVOICE_KPRQ("0", "kprq", "开票日期"), + EXCEL_EXPORT_INVOICE_XHFMC("1", "xhfMc", "销方单位名称"), + EXCEL_EXPORT_INVOICE_GHFMC("2", "ghfMc", "购方单位名称"), + EXCEL_EXPORT_INVOICE_FPDM("3", "fpdm", "发票代码"), + EXCEL_EXPORT_INVOICE_FPHM("4", "fphm", "发票号码"), + EXCEL_EXPORT_INVOICE_HJJE("5", "hjbhsje", "不含税金额"), + EXCEL_EXPORT_INVOICE_HJSE("6", "kpse", "税额"), + EXCEL_EXPORT_INVOICE_JSHJ("7", "kphjje", "价税合计金额"), + EXCEL_EXPORT_INVOICE_FPLX("8", "mark", "备注"), + EXCEL_EXPORT_INVOICE_XHFNSRSBH("9", "signName", "交接人"), + EXCEL_EXPORT_INVOICE_GHFNSRSBH("10", "signDate", "交接日期"); + + /** + * key + */ + private final String key; + + /** + * 值 + */ + private final String value; + + /** + * 表格头名称 + */ + private final String cellName; + + public String getKey() { + return key; + } + + public String getValue() { + return value; + } + + public String getCellName() { + return cellName; + } + + ExportInvoiceSignInfoEnum(String key, String value, String cellName) { + this.key = key; + this.value = value; + this.cellName = cellName; + } + + public static ExportInvoiceSignInfoEnum getCodeValue(String key) { + + for (ExportInvoiceSignInfoEnum item : values()) { + if (item.getKey().equals(key)) { + return item; + } + } + return null; + } + + public static List getValues() { + + List resultList = new ArrayList<>(); + for (ExportInvoiceSignInfoEnum item : values()) { + resultList.add(item.getValue()); + } + return resultList; + } + + +} diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/OrderInvoiceInfoService.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/OrderInvoiceInfoService.java index 6060a592..e6970ef3 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/OrderInvoiceInfoService.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/OrderInvoiceInfoService.java @@ -194,7 +194,6 @@ public interface OrderInvoiceInfoService { * @param entList */ void exportInvoiceDetailExcel(OutputStream out, Map map, String type, List shList, List entList); - /** * 通用获取pdf或ofd文件 * diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java index 73bcbc80..8a56d6e0 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java @@ -453,7 +453,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { public List exportAllInvoiceDetailByPage(Map paramMap, List shList, List entList, String type) { List exportInvoiceInfoList = new ArrayList<>(); //非主信息的需要查询明细数据 - boolean isNeedItem = !OrderInfoEnum.EXPORT_EXCEL_TYPE_0.getKey().equals(type); + boolean isNeedItem = !OrderInfoEnum.EXPORT_EXCEL_TYPE_0.getKey().equals(type)||!OrderInfoEnum.EXPORT_EXCEL_TYPE_4.getKey().equals(type); int pageSize = Integer.parseInt(String.valueOf(paramMap.get(ConfigureConstant.STRING_PAGE_SIZE))); int currPage = Integer.parseInt(String.valueOf(paramMap.get(ConfigureConstant.STRING_CURR_PAGE))); @@ -467,7 +467,12 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { PageHelper.startPage(currPage, pageSize); log.info("发票明细excel导出查询数据库入参:{}", JsonUtils.getInstance().toJsonString(paramMap)); - List orderInvoiceDetails = orderInvoiceInfoMapper.selectRedAndInvoiceBymap(paramMap, shList, entList); + List orderInvoiceDetails = null; + if(OrderInfoEnum.EXPORT_EXCEL_TYPE_4.getKey().equals(type)){ + orderInvoiceDetails = orderInvoiceInfoMapper.selectInvoiceByIds((List)paramMap.get("ids")); + }else{ + orderInvoiceDetails = orderInvoiceInfoMapper.selectRedAndInvoiceBymap(paramMap, shList, entList); + } //获取明细 Map> itemParamMap = new HashMap<>(5); @@ -592,7 +597,9 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { exportInvoiceInfo.setBz(StringUtils.isNotBlank(orderInvoiceDetail.getBz()) ? orderInvoiceDetail.getBz() : ""); exportInvoiceInfo.setKpxm(StringUtils.isNotBlank(orderInvoiceDetail.getKpxm()) ? orderInvoiceDetail.getKpxm() : ""); exportInvoiceInfo.setBmbbbh(StringUtils.isNotBlank(orderInvoiceDetail.getBmbbbh()) ? orderInvoiceDetail.getBmbbbh() : ""); - + exportInvoiceInfo.setMark(""); + exportInvoiceInfo.setSignName(""); + exportInvoiceInfo.setSignDate(""); //作废标志展示信息转换 if (OrderInfoEnum.INVALID_INVOICE_0.getKey().equals(orderInvoiceDetail.getZfbz())) { @@ -689,6 +696,11 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { headToProperty.put(exportEscInvoiceInfoEnum.getValue(), exportEscInvoiceInfoEnum.getCellName()); headerToColumnMap.put(exportEscInvoiceInfoEnum.getValue(), exportEscInvoiceInfoEnum.getKey()); } + } else if (OrderInfoEnum.EXPORT_EXCEL_TYPE_4.getKey().equals(type)) { + for (ExportInvoiceSignInfoEnum exportEscInvoiceInfoEnum : ExportInvoiceSignInfoEnum.values()) { + headToProperty.put(exportEscInvoiceInfoEnum.getValue(), exportEscInvoiceInfoEnum.getCellName()); + headerToColumnMap.put(exportEscInvoiceInfoEnum.getValue(), exportEscInvoiceInfoEnum.getKey()); + } } diff --git a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml index c78f72fe..c3062937 100644 --- a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml +++ b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml @@ -1593,6 +1593,25 @@ + +