diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml index a38dacc6..bc66332a 100644 --- a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml +++ b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml @@ -97,7 +97,8 @@ cc.wlflmc, cc.ent_id, cc.tswl, - cc.invoice_name + cc.invoice_name, + cc.encoding FROM commodity_code cc LEFT JOIN group_commodity gc ON gc.id = cc.group_id @@ -160,6 +161,12 @@ AND cc.tswl = #{map.tswl,jdbcType=VARCHAR} + + AND cc.encoding like concat('%',#{map.encoding,jdbcType=VARCHAR},'%') + + + AND cc.specification_model like concat('%',#{map.specificationModel,jdbcType=VARCHAR},'%') + diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java index d95e780d..f9c18ee3 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java @@ -1,5 +1,6 @@ package com.dxhy.order.consumer.dao; +import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoTotalAmountVO; import com.dxhy.order.model.OrderProcessInfo; import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountBO; import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountTotalBO; @@ -78,6 +79,8 @@ public interface OrderProcessInfoMapper { */ List queryOrderInfo(@Param("map") Map map, @Param("shList") List shList, @Param("entList") List entList); + OrderInfoTotalAmountVO queryOrderInfoTotalAmount(@Param("map") Map map, @Param("shList") List shList, @Param("entList") List entList); + /** * 通过orderId查询处理表 * diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java index 438cff55..08bc2c97 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java @@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject; import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity; import com.dxhy.order.constant.*; import com.dxhy.order.consumer.modules.order.model.dto.RewriteBzdhDTO; +import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoTotalAmountVO; import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoVo; import com.dxhy.order.consumer.modules.order.service.OrderBzdhService; import com.dxhy.order.exception.OrderReceiveException; @@ -150,8 +151,11 @@ public class OrderInfoController { //查询数据库 PageUtils page = orderInfoService.selectOrderInfo(paramMap, null, entList); - - return R.ok().put(OrderManagementConstant.DATA, page); + + // 统计金额税额 + OrderInfoTotalAmountVO totalAmountVO = orderInfoService.selectOrderSum(paramMap, null, entList); + + return R.ok().put(OrderManagementConstant.DATA, page).put("total", totalAmountVO); } catch (Exception e) { log.error("{}列表查询异常:{}", LOGGER_MSG, e); return R.error(OrderInfoContentEnum.INTERNAL_SERVER_ERROR); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInvoiceController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInvoiceController.java index d2b50edf..52efb000 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInvoiceController.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInvoiceController.java @@ -3,6 +3,7 @@ package com.dxhy.order.consumer.modules.order.controller; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONException; +import com.dxhy.order.baseservice.module.base.service.BaseService; import com.dxhy.order.constant.ConfigureConstant; import com.dxhy.order.constant.OrderInfoContentEnum; import com.dxhy.order.constant.OrderInfoEnum; @@ -78,6 +79,9 @@ public class OrderInvoiceController { @Resource private OrderBzdhService bzdhService; + @Resource + private BaseService baseService; + /** * 异常订单直接开票接口 @@ -396,10 +400,11 @@ public class OrderInvoiceController { errorMsgList.append(preStr).append(OrderInfoContentEnum.UPDATE_ORDER_STATUS_QUERY_NULL.getMessage()).append("\r\n"); continue; } - if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isEmpty(ly)) { - errorMsgList.append(preStr).append(OrderInfoContentEnum.UPDATE_ORDER_STATUS_YWXT.getMessage()).append("\r\n"); - continue; - } + // 任务4516增加SAP推送的数据也能删除功能 +// if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isEmpty(ly)) { +// errorMsgList.append(preStr).append(OrderInfoContentEnum.UPDATE_ORDER_STATUS_YWXT.getMessage()).append("\r\n"); +// continue; +// } //判断订单来源是否为合并后或拆分后开票,如果为合并后拆分后开票数据不允许删除.产品提出规划,禅道bug45276 if (OrderInfoEnum.ORDER_TYPE_2.getKey().equals(orderProcessInfo.getDdlx()) || OrderInfoEnum.ORDER_TYPE_1.getKey().equals(orderProcessInfo.getDdlx())) { errorMsgList.append(preStr).append(OrderInfoContentEnum.UPDATE_ORDER_STATUS_MERGE.getMessage()).append("\r\n"); @@ -450,11 +455,17 @@ public class OrderInvoiceController { orderProcessInfo1.setBhzt(ConfigureConstant.STRING_1); orderProcessInfo1.setFpqqlsh(pageRequest.getFpqqlsh() + "-bh" ); } - int success = orderProcessService.updateOrderProcessInfoByProcessId(orderProcessInfo1, shList); - if (success < 0) { - errorMsgList.append(preStr).append("数据删除失败").append("\r\n"); - continue; + if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isEmpty(ly)) { + // 删除SAP推送数据时修改流水号 + orderProcessInfo1.setFpqqlsh(baseService.getGenerateShotKey()); + orderProcessInfo1.setXtly(orderProcessInfo.getXtly()); } +// int success = orderProcessService.updateOrderProcessInfoByProcessId(orderProcessInfo1, shList); + orderProcessService.deleteOrderProcessInfoAndOrderInfoByProcessId(orderProcessInfo1, shList); +// if (success < 0) { +// errorMsgList.append(preStr).append("数据删除失败").append("\r\n"); +// continue; +// } //如果是红票数据,并且是专票,需要更新红字信息表数据 // 红字专票 作废后修改申请单的状态为未开票 if (OrderInfoEnum.ORDER_INVOICE_TYPE_0.getKey().equals(orderProcessInfo.getFpzlDm()) || OrderInfoEnum.ORDER_INVOICE_TYPE_52.getKey().equals(orderProcessInfo.getFpzlDm())) { diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/vo/OrderInfoTotalAmountVO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/vo/OrderInfoTotalAmountVO.java new file mode 100644 index 00000000..ce5b36cd --- /dev/null +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/vo/OrderInfoTotalAmountVO.java @@ -0,0 +1,29 @@ +package com.dxhy.order.consumer.modules.order.model.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 发票申请单管理 发票处理中心金额、税额、价税合计统计VO + */ +@Data +public class OrderInfoTotalAmountVO { + + /** + * 开票合计金额 + */ + private BigDecimal kphjje; + + /** + * 合计不含税金额 + */ + private BigDecimal hjbhsje; + + /** + * 开票税额 + */ + private BigDecimal kpse; + + +} 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 8b85dca0..c366bf0b 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 @@ -3,6 +3,7 @@ package com.dxhy.order.consumer.modules.order.service; import com.alibaba.fastjson.JSONObject; import com.dxhy.order.consumer.model.page.PageRequestVO; import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoVo; +import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoTotalAmountVO; import com.dxhy.order.exception.OrderReceiveException; import com.dxhy.order.model.*; import com.dxhy.base.constant.OrderSeparationException; @@ -13,6 +14,7 @@ import com.dxhy.order.consumer.modules.order.model.PageKySlRsp; import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountTotalBO; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -34,6 +36,15 @@ public interface OrderInfoService { */ PageUtils selectOrderInfo(Map map, List shList, List entList); + /** + * 查询订单列表金额统计 + * @param map + * @param shList + * @param entList + * @return + */ + OrderInfoTotalAmountVO selectOrderSum(Map map, List shList, List entList); + /** * 根据发票请求流水号 查询订单信息和订单明细 * diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderProcessService.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderProcessService.java index 749653e1..3beb8826 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderProcessService.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderProcessService.java @@ -78,6 +78,12 @@ public interface OrderProcessService { */ int updateOrderProcessInfoByProcessId(OrderProcessInfo orderProcessInfo, List shList); + /** + * 删除开票申请单 + * @param orderProcessInfo + */ + void deleteOrderProcessInfoAndOrderInfoByProcessId(OrderProcessInfo orderProcessInfo, List shList); + /** * 根据销方税号,订单号,发票请求流水号进行查询orderprocess信息 * 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 612537aa..0a5b3db2 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 @@ -35,6 +35,7 @@ import com.dxhy.order.consumer.modules.order.model.PageKySlReq; import com.dxhy.order.consumer.modules.order.model.PageKySlRsp; import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountTotalBO; import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoVo; +import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoTotalAmountVO; import com.dxhy.order.consumer.modules.order.service.*; import com.dxhy.order.consumer.modules.validate.service.ValidateOrderInfoService; import com.dxhy.order.consumer.openapi.service.CommonInterfaceService; @@ -183,6 +184,11 @@ public class OrderInfoServiceImpl implements OrderInfoService { return orderProcessService.selectOrderInfo(map, shList, entList); } + @Override + public OrderInfoTotalAmountVO selectOrderSum(Map map, List shList, List entList) { + return orderProcessInfoMapper.queryOrderInfoTotalAmount(map, shList, entList); + } + @Override public OderDetailInfo selectOrderDetailByFpqqlsh(String fpqqlsh, List shList) { /** diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java index bcd1c274..c7b974ea 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java @@ -2,6 +2,7 @@ package com.dxhy.order.consumer.modules.order.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; +import com.dxhy.base.constant.OrderSeparationException; import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity; import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService; import com.dxhy.order.constant.ConfigureConstant; @@ -11,15 +12,14 @@ import com.dxhy.order.consumer.dao.OrderProcessInfoMapper; import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountBO; import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountTotalBO; import com.dxhy.order.consumer.modules.order.service.OrderProcessService; +import com.dxhy.order.invoice.module.invoice.dao.OrderInfoMapper; import com.dxhy.order.invoice.module.invoice.service.OrderInvoiceInfoService; -import com.dxhy.order.model.OrderInvoiceInfo; -import com.dxhy.order.model.OrderProcessInfo; -import com.dxhy.order.model.OrderProcessInfoExt; -import com.dxhy.order.model.PageUtils; +import com.dxhy.order.model.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -50,6 +50,9 @@ public class OrderProcessServiceImpl implements OrderProcessService { private OrderInvoiceInfoService orderInvoiceInfoService; @Resource private UserInfoService userInfoService; + + @Autowired + private OrderInfoMapper orderInfoMapper; @Override public OrderProcessInfo selectOrderProcessInfoByProcessId(String id, List shList) { @@ -130,7 +133,23 @@ public class OrderProcessServiceImpl implements OrderProcessService { public int updateOrderProcessInfoByProcessId(OrderProcessInfo orderProcessInfo, List shList) { return orderProcessInfoMapper.updateOrderProcessInfoByProcessId(orderProcessInfo, shList); } - + + @Override + public void deleteOrderProcessInfoAndOrderInfoByProcessId(OrderProcessInfo orderProcessInfo, List shList) { + if (StringUtils.isNotBlank(orderProcessInfo.getXtly())&&OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())) { + OrderInfo orderInfo = orderInfoMapper.queryOrderInfoByProcessId(orderProcessInfo.getId()); + if (orderInfo == null) { + throw new RuntimeException("删除SAP推送单据,数据异常"); + } + orderInfo.setFpqqlsh(orderProcessInfo.getFpqqlsh()); + int rs = orderInfoMapper.updateOrderInfoByOrderId(orderInfo, null); + if (rs == 0) { + throw new RuntimeException("删除SAP推送单据,数据异常"); + } + } + orderProcessInfoMapper.updateOrderProcessInfoByProcessId(orderProcessInfo, shList); + } + /** * 根据销方税号,订单号,发票请求流水号进行查询orderprocess信息 * diff --git a/order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml b/order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml index 2c5ff953..1944d52f 100644 --- a/order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml +++ b/order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml @@ -1317,6 +1317,295 @@ + diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInfoMapper.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInfoMapper.java index 03fe7741..64acddf9 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInfoMapper.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/dao/OrderInfoMapper.java @@ -31,6 +31,8 @@ public interface OrderInfoMapper { */ OrderInfo selectOrderInfoByOrderId(@Param(value = "id") String id, @Param("shList") List shList); + OrderInfo queryOrderInfoByProcessId(@Param("processId") String processId); + /** * 根据发票请求流水号获取订单数据,主要用于查询数据是否存在. * diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OfdToPngSDEnergyServiceImpl.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OfdToPngSDEnergyServiceImpl.java index 92dc933a..e8403c09 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OfdToPngSDEnergyServiceImpl.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OfdToPngSDEnergyServiceImpl.java @@ -3,6 +3,7 @@ package com.dxhy.order.invoice.module.invoice.service.impl; import cn.hutool.core.util.IdUtil; import cn.hutool.crypto.digest.DigestUtil; import com.alibaba.fastjson.JSONObject; +import com.dxhy.order.constant.ConfigureConstant; import com.dxhy.order.constant.OrderInfoEnum; import com.dxhy.order.invoice.module.invoice.service.OfdToPngSDEnergyService; import com.dxhy.order.model.ofd.OfdToPngResponse; @@ -36,6 +37,7 @@ public class OfdToPngSDEnergyServiceImpl implements OfdToPngSDEnergyService { String url = yxurl + "/yxSims/ofdToImage?timestamp="+timestamp+"&md5Str="+md5Str; OfdToPngResponse ofdToPngResponse = new OfdToPngResponse(); + ofdToPngResponse.setZTDM(ConfigureConstant.STRING_0000); try { log.info("调用影像接口ofd转png,url:{}",url); String rs = HttpUtils.doPostUpload(url, bytes, IdUtil.fastSimpleUUID()+".ofd"); diff --git a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInfoMapper.xml b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInfoMapper.xml index 7ceca33a..8b83fe38 100644 --- a/order-management-invoice/src/main/resources/mybatis/mapper/OrderInfoMapper.xml +++ b/order-management-invoice/src/main/resources/mybatis/mapper/OrderInfoMapper.xml @@ -548,7 +548,7 @@ - + +