feature:山能商旅对接

release
gaorl 2 years ago
parent 5dfe39442f
commit cbabea1647
  1. 26
      order-management-common/src/main/java/com/dxhy/order/constant/ResponseStatusEnum.java
  2. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderProcessInfoMapper.java
  3. 35
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java
  4. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java
  5. 35
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
  6. 37
      order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml

@ -0,0 +1,26 @@
package com.dxhy.order.constant;
/**
* 通用code定义
*/
public enum ResponseStatusEnum {
INTERNAL_SERVER_ERROR("9999", "系统异常请联系管理员");
private String key;
private String value;
ResponseStatusEnum(String key, String value) {
this.key = key;
this.value = value;
}
public String getKey() {
return this.key;
}
public String getValue() {
return this.value;
}
}

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

@ -462,7 +462,7 @@ public class OrderInfoController {
try {
return orderInfoService.ratioConversion(Arrays.asList(orderInfoIds.split(",")), rate, xhfNsrsbh, originUnit, newUnit);
} catch (Exception e) {
return R.error("系统异常,请联系管理员");
return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue());
}
}
@ -482,8 +482,8 @@ public class OrderInfoController {
try {
return orderInfoService.updateOrderItem(orderInfoId,entId,itemList);
} catch (Exception e) {
log.error(e.getMessage());
return R.error("系统异常");
log.error("订单更新物料异常{}",e);
return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue());
}
}
@ -497,8 +497,8 @@ public class OrderInfoController {
try {
return orderInfoService.sycnCommodity(param);
} catch (Exception e) {
log.error("同步公司物料库失败,失败原因:{}",e.getMessage());
return R.error("系统异常,请联系管理员");
log.error("同步公司物料库失败,失败原因:{}",e);
return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue());
}
}
@ -518,8 +518,8 @@ public class OrderInfoController {
try {
return orderInfoService.mergeOrderItem(entId,orderInfoId,itemList);
} catch (Exception e) {
log.error(e.getMessage());
return R.error("系统异常");
log.error("单笔订单明细合并{}",e);
return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue());
}
}
@ -533,9 +533,26 @@ public class OrderInfoController {
try {
return orderInfoService.batchMegerOrderItem(jsonObjects);
} catch (Exception e) {
log.error(e.getMessage());
return R.error("系统异常");
log.error("批量订单明细合并异常,{}",e);
return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue());
}
}
@ApiOperation(value = "发票开具、作废、冲红", notes = "发票开具、作废、冲红前检查通报账单其他订单")
@PostMapping("/checkInvoiceSync")
@SysLog(operation = "发票开具、作废、冲红", operationDesc = "发票开具、作废、冲红前检查通报账单其他订单", key = "发票开具、作废、冲红")
public R checkInvoiceSync(@RequestParam String operation,@RequestParam String nsrsbh,@RequestParam String param){
log.info("山能商旅校验是否存在同报账单订单请求参数{}",operation);
if(StringUtils.isBlank(operation)||StringUtils.isBlank(param)){
return R.error("请求参数有误");
}
try {
return orderInfoService.checkInvoiceSync(operation,nsrsbh,param);
} catch (Exception e) {
log.error("山能商旅校验是否存在同报账单订单异常{}",e);
return R.error(ResponseStatusEnum.INTERNAL_SERVER_ERROR.getValue());
}
}
}

@ -246,4 +246,6 @@ public interface OrderInfoService {
* @return
*/
Boolean checkInvoiceRemarksFlag(String entId,String ghfId);
R checkInvoiceSync(String operation,String nsrsbh,String param);
}

@ -2109,6 +2109,41 @@ public class OrderInfoServiceImpl implements OrderInfoService {
return Boolean.TRUE;
}
/**
*
* @param operation 0 开票1 作废 2冲红
* @param params发票请求流水号集合信息表编号
* @return
*/
@Override
public R checkInvoiceSync(String operation,String nsrsbh,String params){
switch (operation){
case "0":
//根据报账单号查询未开发票数,且有效 param:发票请求流水号集合
List<OrderProcessInfo> orderProcessInfos = orderProcessInfoMapper.queryOrderProcessInfoByBzdhs(Arrays.asList(params), Arrays.asList(nsrsbh));
//按照报账单分组统计
Map<String, List<OrderProcessInfo>> collect = orderProcessInfos.stream().collect(Collectors.groupingBy(t -> t.getBzdh()));
Map<String, List<String>> collect1 = Arrays.stream(params.split(",")).collect(Collectors.groupingBy(t -> t));
StringBuffer sb = new StringBuffer();
for (String s : collect1.keySet()) {
if(collect1.get(s).size() != collect.get(s).size()){
sb.append("报账单号:").append(s).append("存在多笔未开订单,");
}
}
break;
case "1":
//根据报账单号查询未作废发票数,且有效 param:发票请求流水号集合
break;
case "2":
//根据信息表编号查询到原发票号码的报账单 查询此报账单号是否存在多笔发票 param:信息表编号集合
break;
}
return R.ok();
}
private void completeCommodityMessageBySpid(OrderItemInfo item, CommodityCodeEntity commodity) {
//商品编码
item.setSpbm(commodity.getSpbm());

@ -149,6 +149,7 @@
<include refid="Base_Column_List"/>
FROM
order_process_info op
inner join order_invoice_info oii on oii.order_info_id = op.order_info_id
WHERE
bzdh = #{bzdh,jdbcType=VARCHAR}
<if test="shList != null and shList.size() == 0">
@ -168,6 +169,42 @@
</foreach>
</if>
and order_status = '0'
and oii.zf_bz = '0'
</select>
<select id="queryOrderProcessInfoByBzdhs" parameterType="java.lang.String" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM
order_process_info op
WHERE
<if test="bzdhs != null and bzdhs.size() == 1">
bzdh = #{bzdh,jdbcType=VARCHAR}
</if>
<if test="bzdhs != null and bzdhs.size() > 1">
bzdh in
<foreach collection="bzdhs" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<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'
and ddzt in ('0','1','2','3')
</select>
<!--根据发票请求批次号获取订单数据-->

Loading…
Cancel
Save