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. 125
      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);
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);
if (StrUtil.isBlank(content)) {
log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh());
break;
}
try {
//推送影像系统
sendImageSys(content);
} catch (Exception e) {
e.printStackTrace();
}
if (StrUtil.isBlank(content)) {
log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh());
continue;
}
OrderProcessInfo orderProcessInfo = null;
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())) {
@ -1469,10 +1469,39 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
}
String version = pushInfo.getVersionIdent();
String pushWjl = pushInfo.getPushWjl();
List<OrderProcessInfo> orderProcessInfoList = new ArrayList<>();
OrderProcessInfo orderProcessInfo = orderProcessService.queryOrderProcessInfoByFpqqlsh(fpTsMqData.getFpqqlsh(), shList);
log.info("{}推送接口orderProcessInfo数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderProcessInfo));
if(OrderInfoEnum.SYS_SOURCE_SNYXX.getKey().equals(orderProcessInfo.getXtly())){
List<OrderProcessInfo> orderProcessInfos = orderProcessService.queryOrderProcessInfoByBzdh(orderProcessInfo.getBzdh(), shList);
int count = (int)orderProcessInfos.stream().filter(t -> OrderInfoEnum.ORDER_STATUS_5.getKey().equals(t.getDdzt())).count();
if(orderProcessInfos.size() != count){
return null;
}
orderProcessInfoList.addAll(orderProcessInfos);
}else{
orderProcessInfoList.add(orderProcessInfo);
}
//判断推送版本
if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(version)
|| ConfigurerInfo.INTERFACE_VERSION_V6.equals(version)) {
List<DdfpzxxV5> ddfpzxxV5s = new ArrayList<>();
try {
for (OrderProcessInfo processInfo : orderProcessInfoList) {
DdfpzxxV5 interfaceOrderV5 = interfaceServiceV5.getInterfaceOrderV5(processInfo, shList, ConfigureConstant.STRING_0);
ddfpzxxV5s.add(interfaceOrderV5);
}
} catch (InterfaceException e) {
throw new OrderReceiveException(e.getCode(), e.getMessage());
}
content = JsonUtils.getInstance().toJsonString(ddfpzxxV5s);
} 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));
@ -1488,30 +1517,10 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
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)
|| ConfigurerInfo.INTERFACE_VERSION_V6.equals(version)) {
List<DdfpzxxV5> ddfpzxxV5s = new ArrayList<>();
try {
DdfpzxxV5 interfaceOrderV5 = interfaceServiceV5.getInterfaceOrderV5(orderProcessInfo, shList, ConfigureConstant.STRING_0);
ddfpzxxV5s.add(interfaceOrderV5);
} catch (InterfaceException e) {
throw new OrderReceiveException(e.getCode(), e.getMessage());
}
content = JsonUtils.getInstance().toJsonString(ddfpzxxV5s);
} else if (ConfigurerInfo.INTERFACE_VERSION_V4.equals(version) || ConfigurerInfo.INTERFACE_VERSION_V3.equals(version)) {
//新版本请求参数组装response
DdfpcxRspBO ddfpcxRsp = new DdfpcxRspBO();
//新版本组装数据方式
@ -1708,42 +1717,42 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
}
} else {
//旧版本请求参数组装response
PushReqBO response = new PushReqBO();
//旧版本组装方式
List<CommonOrderInvocieBO> commonOrderInvocies = new ArrayList<>();
CommonOrderInvocieBO commonOrderInvocie = new CommonOrderInvocieBO();
log.info("==>推送旧的版本接口");
OrderInvoiceHeadBO orderInvoiceHead = BeanTransitionUtils.transitionOrderInvoiceHead(orderInfo, orderInvoiceInfo);
boolean fpdmhmDp = (OrderInfoEnum.ORDER_INVOICE_TYPE_51.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_52.getKey().equals(orderInvoiceInfo.getFpzlDm()))
&& StringUtils.isNotEmpty(orderInvoiceInfo.getFphm());
if (fpdmhmDp) {
/**
* 获取PDF判断
*/
List<FileDownLoad> fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode,"");
if (ObjectUtil.isNotEmpty(fileDownLoadList)) {
orderInvoiceHead.setPDF_FILE(fileDownLoadList.get(0).getFileContent());
} else {
orderInvoiceHead.setPDF_FILE("");
}
} else {
orderInvoiceHead.setPDF_FILE("");
}
// PushReqBO response = new PushReqBO();
// //旧版本组装方式
// List<CommonOrderInvocieBO> commonOrderInvocies = new ArrayList<>();
// CommonOrderInvocieBO commonOrderInvocie = new CommonOrderInvocieBO();
// log.info("==>推送旧的版本接口");
// OrderInvoiceHeadBO orderInvoiceHead = BeanTransitionUtils.transitionOrderInvoiceHead(orderInfo, orderInvoiceInfo);
// boolean fpdmhmDp = (OrderInfoEnum.ORDER_INVOICE_TYPE_51.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_52.getKey().equals(orderInvoiceInfo.getFpzlDm()))
// && StringUtils.isNotEmpty(orderInvoiceInfo.getFphm());
// if (fpdmhmDp) {
// /**
// * 获取PDF判断
// */
// List<FileDownLoad> fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode,"");
// if (ObjectUtil.isNotEmpty(fileDownLoadList)) {
// orderInvoiceHead.setPDF_FILE(fileDownLoadList.get(0).getFileContent());
// } else {
// orderInvoiceHead.setPDF_FILE("");
// }
// } else {
// orderInvoiceHead.setPDF_FILE("");
// }
//组装
commonOrderInvocie.setORDER_INVOICE_HEAD(orderInvoiceHead);
commonOrderInvocie.setORDER_INVOICE_ITEMS(orderInvoiceItems);
commonOrderInvocies.add(commonOrderInvocie);
//发票开具状态码 0000 成功 9999 失败
response.setSTATUS_CODE(OrderInfoContentEnum.PUSH_ENTERPRISE_SUCCESS.getKey());
response.setSTATUS_MESSAGE(OrderInfoContentEnum.PUSH_ENTERPRISE_SUCCESS.getMessage());
response.setCOMMON_ORDER_INVOCIE(commonOrderInvocies);
content = JsonUtils.getInstance().toJsonString(response);
// commonOrderInvocie.setORDER_INVOICE_HEAD(orderInvoiceHead);
// commonOrderInvocie.setORDER_INVOICE_ITEMS(orderInvoiceItems);
// commonOrderInvocies.add(commonOrderInvocie);
//
// //发票开具状态码 0000 成功 9999 失败
// response.setSTATUS_CODE(OrderInfoContentEnum.PUSH_ENTERPRISE_SUCCESS.getKey());
// response.setSTATUS_MESSAGE(OrderInfoContentEnum.PUSH_ENTERPRISE_SUCCESS.getMessage());
// response.setCOMMON_ORDER_INVOCIE(commonOrderInvocies);
// content = JsonUtils.getInstance().toJsonString(response);
}
return content;
}

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

@ -65,6 +65,11 @@ public class OrderProcessServiceImpl implements OrderProcessService {
return orderProcessInfoMapper.queryOrderProcessInfoByFpqqlsh(fpqqlsh, shList);
}
@Override
public List<OrderProcessInfo> queryOrderProcessInfoByBzdh(String bzdh, List<String> shList){
return orderProcessInfoMapper.queryOrderProcessInfoByBzdh(bzdh, shList);
}
@Override
public List<OrderProcessInfo> selectOrderProcessInfoByDdqqpch(String ddqqpch, List<String> shList) {
return orderProcessInfoMapper.selectOrderProcessInfoByDdqqpch(ddqqpch, shList);

@ -3649,6 +3649,7 @@ public class BeanTransitionUtils {
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()));
log.info("拆分数据:{}", JSONObject.toJSONString(collect));
int randomMun = 1;
for (Map.Entry<String, List<DdmxxxBO>> listEntry : collect.entrySet()) {
List<DdmxxxBO> ddmxxxBOS = listEntry.getValue();
DdzxxBO ddzxxBONew = new DdzxxBO();
@ -3670,6 +3671,7 @@ public class BeanTransitionUtils {
zje = zje.add(new BigDecimal(ddmxxxBO.getJE()));
}
}
ddtxxBONew.setDDQQLSH(isinput.getSAPKEY() + "0" + randomMun);
ddtxxBONew.setHJJE(bhsje.toPlainString());
ddtxxBONew.setHJSE(se.toPlainString());
ddtxxBONew.setJSHJ(zje.toPlainString());
@ -3678,6 +3680,7 @@ public class BeanTransitionUtils {
ddzxxBONew.setDDTXX(ddtxxBONew);
ddzxxBONew.setDDMXXX(ddmxLists);
ddzxxList.add(ddzxxBONew);
randomMun++;
}
}else{

@ -144,6 +144,32 @@
</if>
</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"
parameterType="java.lang.String">

Loading…
Cancel
Save