feature:山能易行订单回推、excel订单导入

release
gaorl 2 years ago
parent 79999ae5f5
commit fd41a367d0
  1. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java
  2. 133
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java
  3. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderProcessService.java
  4. 5
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java
  5. 3
      order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java
  6. BIN
      order-management-consumer/src/main/resources/download/OrderExcel.xlsx
  7. BIN
      order-management-consumer/src/main/resources/download/QdfpImportExcel.xlsx
  8. 26
      order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml

@ -51,6 +51,8 @@ public interface OrderProcessInfoMapper {
*/ */
OrderProcessInfo queryOrderProcessInfoByFpqqlsh(@Param("fpqqlsh") String fpqqlsh, @Param("shList") List<String> shList); OrderProcessInfo queryOrderProcessInfoByFpqqlsh(@Param("fpqqlsh") String fpqqlsh, @Param("shList") List<String> shList);
List<OrderProcessInfo> queryOrderProcessInfoByBzdh(@Param("bzdh") String bzdh, @Param("shList")List<String> shList);
/** /**
* 根据批次号查询订单处理表数据 * 根据批次号查询订单处理表数据
* *

@ -400,16 +400,16 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
//按照接口类型获取对应的报文数据 //按照接口类型获取对应的报文数据
//推送影像系统 //推送影像系统
String content = getPushContent(fpTsMqData, pushInfo, shList); String content = getPushContent(fpTsMqData, pushInfo, shList);
if (StrUtil.isBlank(content)) {
log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh());
break;
}
try { try {
//推送影像系统 //推送影像系统
sendImageSys(content); sendImageSys(content);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
if (StrUtil.isBlank(content)) {
log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh());
continue;
}
OrderProcessInfo orderProcessInfo = null; OrderProcessInfo orderProcessInfo = null;
Map<String, String> requestMap = commonDisposeService.getRequestParameter(pushInfo.getNsrsbh(), pushInfo.getZipCode(), pushInfo.getEncryptCode(), content, pushInfo.getPushUrl(), pushInfo.getInterfaceType(), pushInfo.getVersionIdent()); Map<String, String> requestMap = commonDisposeService.getRequestParameter(pushInfo.getNsrsbh(), pushInfo.getZipCode(), pushInfo.getEncryptCode(), content, pushInfo.getPushUrl(), pushInfo.getInterfaceType(), pushInfo.getVersionIdent());
if (OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_1.getKey().equals(fpTsMqData.getPushType())) { if (OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_1.getKey().equals(fpTsMqData.getPushType())) {
@ -1469,30 +1469,19 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
} }
String version = pushInfo.getVersionIdent(); String version = pushInfo.getVersionIdent();
String pushWjl = pushInfo.getPushWjl(); String pushWjl = pushInfo.getPushWjl();
List<OrderProcessInfo> orderProcessInfoList = new ArrayList<>();
OrderProcessInfo orderProcessInfo = orderProcessService.queryOrderProcessInfoByFpqqlsh(fpTsMqData.getFpqqlsh(), shList); OrderProcessInfo orderProcessInfo = orderProcessService.queryOrderProcessInfoByFpqqlsh(fpTsMqData.getFpqqlsh(), shList);
log.info("{}推送接口orderProcessInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderProcessInfo)); log.info("{}推送接口orderProcessInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderProcessInfo));
if(OrderInfoEnum.SYS_SOURCE_SNYXX.getKey().equals(orderProcessInfo.getXtly())){
OrderInfo orderInfo = orderInfoService.selectOrderInfoByOrderId(orderProcessInfo.getOrderInfoId(), shList); List<OrderProcessInfo> orderProcessInfos = orderProcessService.queryOrderProcessInfoByBzdh(orderProcessInfo.getBzdh(), shList);
log.info("{}推送接口orderInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderInfo)); int count = (int)orderProcessInfos.stream().filter(t -> OrderInfoEnum.ORDER_STATUS_5.getKey().equals(t.getDdzt())).count();
if(orderProcessInfos.size() != count){
List<OrderItemInfo> orderItemInfos = orderItemInfoService.selectOrderItemInfoByOrderId(orderProcessInfo.getOrderInfoId(), shList); return null;
List<DdmxxxBO> ddmxxxList = BeanTransitionUtils.transitionOrderInvoiceItemV3(orderItemInfos); }
List<OrderInvoiceItemBO> orderInvoiceItems = BeanTransitionUtils.transitionOrderInvoiceItem(orderItemInfos); orderProcessInfoList.addAll(orderProcessInfos);
}else{
OrderInvoiceInfo orderInvoiceInfo1 = new OrderInvoiceInfo(); orderProcessInfoList.add(orderProcessInfo);
orderInvoiceInfo1.setFpqqlsh(orderProcessInfo.getFpqqlsh()); }
OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfo(orderInvoiceInfo1, shList);
log.info("{}推送接口orderInvoiceInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderInvoiceInfo));
List<OrderProcessInfo> orderProcessInfoRelevantList = orderProcessService.findTopParentList(orderProcessInfo, shList);
List<DdkzxxBO> orderExtensionInfos = BeanTransitionUtils.transitionOrderExtensionInfos(orderProcessInfoRelevantList);
log.info("{}推送接口orderExtensionInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderExtensionInfos));
/**
* 查询税控设备信息
*/
String terminalCode = orderInvoiceInfo.getSksbdm();
//判断推送版本 //判断推送版本
if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(version) if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(version)
@ -1500,9 +1489,10 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
List<DdfpzxxV5> ddfpzxxV5s = new ArrayList<>(); List<DdfpzxxV5> ddfpzxxV5s = new ArrayList<>();
try { try {
DdfpzxxV5 interfaceOrderV5 = interfaceServiceV5.getInterfaceOrderV5(orderProcessInfo, shList, ConfigureConstant.STRING_0); for (OrderProcessInfo processInfo : orderProcessInfoList) {
DdfpzxxV5 interfaceOrderV5 = interfaceServiceV5.getInterfaceOrderV5(processInfo, shList, ConfigureConstant.STRING_0);
ddfpzxxV5s.add(interfaceOrderV5); ddfpzxxV5s.add(interfaceOrderV5);
}
} catch (InterfaceException e) { } catch (InterfaceException e) {
throw new OrderReceiveException(e.getCode(), e.getMessage()); throw new OrderReceiveException(e.getCode(), e.getMessage());
@ -1512,6 +1502,25 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
content = JsonUtils.getInstance().toJsonString(ddfpzxxV5s); content = JsonUtils.getInstance().toJsonString(ddfpzxxV5s);
} else if (ConfigurerInfo.INTERFACE_VERSION_V4.equals(version) || ConfigurerInfo.INTERFACE_VERSION_V3.equals(version)) { } else if (ConfigurerInfo.INTERFACE_VERSION_V4.equals(version) || ConfigurerInfo.INTERFACE_VERSION_V3.equals(version)) {
OrderInfo orderInfo = orderInfoService.selectOrderInfoByOrderId(orderProcessInfo.getOrderInfoId(), shList);
log.info("{}推送接口orderInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderInfo));
List<OrderItemInfo> orderItemInfos = orderItemInfoService.selectOrderItemInfoByOrderId(orderProcessInfo.getOrderInfoId(), shList);
List<DdmxxxBO> ddmxxxList = BeanTransitionUtils.transitionOrderInvoiceItemV3(orderItemInfos);
List<OrderInvoiceItemBO> orderInvoiceItems = BeanTransitionUtils.transitionOrderInvoiceItem(orderItemInfos);
OrderInvoiceInfo orderInvoiceInfo1 = new OrderInvoiceInfo();
orderInvoiceInfo1.setFpqqlsh(orderProcessInfo.getFpqqlsh());
OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfo(orderInvoiceInfo1, shList);
log.info("{}推送接口orderInvoiceInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderInvoiceInfo));
List<OrderProcessInfo> orderProcessInfoRelevantList = orderProcessService.findTopParentList(orderProcessInfo, shList);
List<DdkzxxBO> orderExtensionInfos = BeanTransitionUtils.transitionOrderExtensionInfos(orderProcessInfoRelevantList);
log.info("{}推送接口orderExtensionInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderExtensionInfos));
/**
* 查询税控设备信息
*/
String terminalCode = orderInvoiceInfo.getSksbdm();
//新版本请求参数组装response //新版本请求参数组装response
DdfpcxRspBO ddfpcxRsp = new DdfpcxRspBO(); DdfpcxRspBO ddfpcxRsp = new DdfpcxRspBO();
//新版本组装数据方式 //新版本组装数据方式
@ -1708,42 +1717,42 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
} }
} else { } else {
//旧版本请求参数组装response //旧版本请求参数组装response
PushReqBO response = new PushReqBO(); // PushReqBO response = new PushReqBO();
//旧版本组装方式 // //旧版本组装方式
List<CommonOrderInvocieBO> commonOrderInvocies = new ArrayList<>(); // List<CommonOrderInvocieBO> commonOrderInvocies = new ArrayList<>();
CommonOrderInvocieBO commonOrderInvocie = new CommonOrderInvocieBO(); // CommonOrderInvocieBO commonOrderInvocie = new CommonOrderInvocieBO();
log.info("==>推送旧的版本接口"); // log.info("==>推送旧的版本接口");
OrderInvoiceHeadBO orderInvoiceHead = BeanTransitionUtils.transitionOrderInvoiceHead(orderInfo, orderInvoiceInfo); // OrderInvoiceHeadBO orderInvoiceHead = BeanTransitionUtils.transitionOrderInvoiceHead(orderInfo, orderInvoiceInfo);
boolean fpdmhmDp = (OrderInfoEnum.ORDER_INVOICE_TYPE_51.getKey().equals(orderInvoiceInfo.getFpzlDm()) // boolean fpdmhmDp = (OrderInfoEnum.ORDER_INVOICE_TYPE_51.getKey().equals(orderInvoiceInfo.getFpzlDm())
|| OrderInfoEnum.ORDER_INVOICE_TYPE_01.getKey().equals(orderInvoiceInfo.getFpzlDm()) // || OrderInfoEnum.ORDER_INVOICE_TYPE_01.getKey().equals(orderInvoiceInfo.getFpzlDm())
|| OrderInfoEnum.ORDER_INVOICE_TYPE_02.getKey().equals(orderInvoiceInfo.getFpzlDm()) // || OrderInfoEnum.ORDER_INVOICE_TYPE_02.getKey().equals(orderInvoiceInfo.getFpzlDm())
|| OrderInfoEnum.ORDER_INVOICE_TYPE_52.getKey().equals(orderInvoiceInfo.getFpzlDm())) // || OrderInfoEnum.ORDER_INVOICE_TYPE_52.getKey().equals(orderInvoiceInfo.getFpzlDm()))
&& StringUtils.isNotEmpty(orderInvoiceInfo.getFphm()); // && StringUtils.isNotEmpty(orderInvoiceInfo.getFphm());
if (fpdmhmDp) { // if (fpdmhmDp) {
/** // /**
* 获取PDF判断 // * 获取PDF判断
*/ // */
List<FileDownLoad> fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode,""); // List<FileDownLoad> fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode,"");
if (ObjectUtil.isNotEmpty(fileDownLoadList)) { // if (ObjectUtil.isNotEmpty(fileDownLoadList)) {
orderInvoiceHead.setPDF_FILE(fileDownLoadList.get(0).getFileContent()); // orderInvoiceHead.setPDF_FILE(fileDownLoadList.get(0).getFileContent());
} else { // } else {
orderInvoiceHead.setPDF_FILE(""); // orderInvoiceHead.setPDF_FILE("");
} // }
} else { // } else {
orderInvoiceHead.setPDF_FILE(""); // orderInvoiceHead.setPDF_FILE("");
} // }
//组装 //组装
commonOrderInvocie.setORDER_INVOICE_HEAD(orderInvoiceHead); // commonOrderInvocie.setORDER_INVOICE_HEAD(orderInvoiceHead);
commonOrderInvocie.setORDER_INVOICE_ITEMS(orderInvoiceItems); // commonOrderInvocie.setORDER_INVOICE_ITEMS(orderInvoiceItems);
commonOrderInvocies.add(commonOrderInvocie); // commonOrderInvocies.add(commonOrderInvocie);
//
//发票开具状态码 0000 成功 9999 失败 // //发票开具状态码 0000 成功 9999 失败
response.setSTATUS_CODE(OrderInfoContentEnum.PUSH_ENTERPRISE_SUCCESS.getKey()); // response.setSTATUS_CODE(OrderInfoContentEnum.PUSH_ENTERPRISE_SUCCESS.getKey());
response.setSTATUS_MESSAGE(OrderInfoContentEnum.PUSH_ENTERPRISE_SUCCESS.getMessage()); // response.setSTATUS_MESSAGE(OrderInfoContentEnum.PUSH_ENTERPRISE_SUCCESS.getMessage());
response.setCOMMON_ORDER_INVOCIE(commonOrderInvocies); // response.setCOMMON_ORDER_INVOCIE(commonOrderInvocies);
content = JsonUtils.getInstance().toJsonString(response); // content = JsonUtils.getInstance().toJsonString(response);
} }
return content; return content;
} }

@ -32,6 +32,8 @@ public interface OrderProcessService {
*/ */
OrderProcessInfo queryOrderProcessInfoByFpqqlsh(String fpqqlsh, List<String> shList); OrderProcessInfo queryOrderProcessInfoByFpqqlsh(String fpqqlsh, List<String> shList);
List<OrderProcessInfo> queryOrderProcessInfoByBzdh(String bzdh, List<String> shList);
/** /**
* 根据订单请求批次号获取发票处理表数据 * 根据订单请求批次号获取发票处理表数据
* *

@ -64,6 +64,11 @@ public class OrderProcessServiceImpl implements OrderProcessService {
//订单与原始订单都需要使用,不能添加有效状态判断 //订单与原始订单都需要使用,不能添加有效状态判断
return orderProcessInfoMapper.queryOrderProcessInfoByFpqqlsh(fpqqlsh, shList); return orderProcessInfoMapper.queryOrderProcessInfoByFpqqlsh(fpqqlsh, shList);
} }
@Override
public List<OrderProcessInfo> queryOrderProcessInfoByBzdh(String bzdh, List<String> shList){
return orderProcessInfoMapper.queryOrderProcessInfoByBzdh(bzdh, shList);
}
@Override @Override
public List<OrderProcessInfo> selectOrderProcessInfoByDdqqpch(String ddqqpch, List<String> shList) { public List<OrderProcessInfo> selectOrderProcessInfoByDdqqpch(String ddqqpch, List<String> shList) {

@ -3649,6 +3649,7 @@ public class BeanTransitionUtils {
if(StringUtils.isNotBlank(ddtxxBO.getXTLY()) && OrderInfoEnum.SYS_SOURCE_SNYXX.getKey().equals(ddtxxBO.getXTLY())){ if(StringUtils.isNotBlank(ddtxxBO.getXTLY()) && OrderInfoEnum.SYS_SOURCE_SNYXX.getKey().equals(ddtxxBO.getXTLY())){
Map<String, List<DdmxxxBO>> collect = ddmxList.stream().collect(Collectors.groupingBy(t -> t.getZXBM())); Map<String, List<DdmxxxBO>> collect = ddmxList.stream().collect(Collectors.groupingBy(t -> t.getZXBM()));
log.info("拆分数据:{}", JSONObject.toJSONString(collect)); log.info("拆分数据:{}", JSONObject.toJSONString(collect));
int randomMun = 1;
for (Map.Entry<String, List<DdmxxxBO>> listEntry : collect.entrySet()) { for (Map.Entry<String, List<DdmxxxBO>> listEntry : collect.entrySet()) {
List<DdmxxxBO> ddmxxxBOS = listEntry.getValue(); List<DdmxxxBO> ddmxxxBOS = listEntry.getValue();
DdzxxBO ddzxxBONew = new DdzxxBO(); DdzxxBO ddzxxBONew = new DdzxxBO();
@ -3670,6 +3671,7 @@ public class BeanTransitionUtils {
zje = zje.add(new BigDecimal(ddmxxxBO.getJE())); zje = zje.add(new BigDecimal(ddmxxxBO.getJE()));
} }
} }
ddtxxBONew.setDDQQLSH(isinput.getSAPKEY() + "0" + randomMun);
ddtxxBONew.setHJJE(bhsje.toPlainString()); ddtxxBONew.setHJJE(bhsje.toPlainString());
ddtxxBONew.setHJSE(se.toPlainString()); ddtxxBONew.setHJSE(se.toPlainString());
ddtxxBONew.setJSHJ(zje.toPlainString()); ddtxxBONew.setJSHJ(zje.toPlainString());
@ -3678,6 +3680,7 @@ public class BeanTransitionUtils {
ddzxxBONew.setDDTXX(ddtxxBONew); ddzxxBONew.setDDTXX(ddtxxBONew);
ddzxxBONew.setDDMXXX(ddmxLists); ddzxxBONew.setDDMXXX(ddmxLists);
ddzxxList.add(ddzxxBONew); ddzxxList.add(ddzxxBONew);
randomMun++;
} }
}else{ }else{

@ -144,6 +144,32 @@
</if> </if>
</select> </select>
<select id="queryOrderProcessInfoByBzdh" parameterType="java.lang.String" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM
order_process_info op
WHERE
bzdh = #{bzdh,jdbcType=VARCHAR}
<if test="shList != null and shList.size() == 0">
and xhf_nsrsbh = ''
</if>
<if test="shList != null and shList.size() == 1">
and xhf_nsrsbh =
<foreach collection="shList" index="index" item="item">
#{item}
</foreach>
</if>
<if test="shList != null and shList.size() > 1">
and xhf_nsrsbh in
<foreach collection="shList" index="index" item="item"
open="(" separator="," close=")">
#{item}
</foreach>
</if>
and order_status = '0'
</select>
<!--根据发票请求批次号获取订单数据--> <!--根据发票请求批次号获取订单数据-->
<select id="selectOrderProcessInfoByDdqqpch" resultMap="BaseResultMap" <select id="selectOrderProcessInfoByDdqqpch" resultMap="BaseResultMap"
parameterType="java.lang.String"> parameterType="java.lang.String">

Loading…
Cancel
Save