feat: 发票处理页面定制化开发

release
liufeilong 2 years ago
parent 5931c9b2dd
commit bbd02af0e8
  1. 2
      order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java
  2. 16
      order-management-common/src/main/java/com/dxhy/order/model/OrderProcessInfo.java
  3. 4
      order-management-common/src/main/java/com/dxhy/order/model/page/OrderListQuery.java
  4. 19
      order-management-common/src/main/java/com/dxhy/order/utils/PageBeanConvertUtil.java
  5. 4
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java
  6. 12
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderCommonServiceImpl.java
  7. 12
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderProcessServiceImpl.java
  8. 24
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderRollbackServiceImpl.java
  9. 21
      order-management-consumer/src/main/resources/mybatis/mapper/OrderProcessInfoMapper.xml

@ -1600,6 +1600,8 @@ public enum OrderInfoContentEnum {
ORDER_ROLLBACK_DATA_EXCEPTION_ERROR("9524", "数据有误,异常订单回退失败"),
ORDER_ROLLBACK_DATA_EXCEPTIONNOTBACK_ERROR("95241", "异常订单不允许回退"),
ORDER_ROLLBACK_DATA_CF_ERROR("9525", "数据有误,拆分后订单回退失败"),
ORDER_ROLLBACK_StATUS_ERROR("9523", "原始状态的订单,不支持回退"),

@ -225,6 +225,22 @@ public class OrderProcessInfo implements Serializable {
* 矿别
*/
private String kb;
/**
* 清单标志
*/
private String qdBz;
/**
* 打印状态
*/
private String dyzt;
/**
* 打印状态描述
*/
private String dyztms;
/**
* 开票类型
*/
private String kplx;

@ -291,5 +291,9 @@ public class OrderListQuery {
* 矿别
*/
private String kb;
/**
* 打印状态
*/
private String dyzt;
}

@ -1,6 +1,7 @@
package com.dxhy.order.utils;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.dxhy.order.constant.ConfigureConstant;
@ -210,6 +211,24 @@ public class PageBeanConvertUtil {
String endTime = DateUtil.format(parse, "yyyy-MM-dd");
resultMap.put("pzgzrqEnd", endTime);
}
resultMap.put("dyzt", orderListQuery.getDyzt());
/**
* 清单标志,前端传0或1
* 0:不带清单
* 1:带清单
* 如果为空不进行筛选
* 对应数据库操作,
* 如果为0,查询清单标志为0,2的
* 如果为1,查询清单标志为1,3的
*/
if (StringUtils.isNotBlank(orderListQuery.getQdbz())) {
String[] qdbzs = JsonUtils.getInstance().fromJson(orderListQuery.getQdbz(), String[].class);
resultMap.put("qdbz", qdbzs);
if(ArrayUtil.contains(qdbzs,OrderInfoEnum.QDBZ_CODE_1.getKey()) ||
ArrayUtil.contains(qdbzs,OrderInfoEnum.QDBZ_CODE_3.getKey())){
resultMap.put("kplx",OrderInfoEnum.ORDER_BILLING_INVOICE_TYPE_0.getKey());
}
}
return resultMap;
}

@ -624,8 +624,12 @@ public class GenerateReadyOpenOrderServiceImpl implements GenerateReadyOpenOrder
orderProcessInfo.setDdly(commonOrderInfo.getProcessInfo().getDdly());
orderProcessInfo.setDdzt(commonOrderInfo.getProcessInfo().getDdzt());
orderProcessInfo.setBzdh(commonOrderInfo.getProcessInfo().getBzdh());
orderProcessInfo.setXtly("FPPTEXCEL");
orderProcessInfo.setBhzt(ConfigureConstant.STRING_0);
orderProcessInfo.setYzfp(commonOrderInfo.getProcessInfo().getYzfp());
orderProcessInfo.setKb(orderItemInfos.get(0).getKb());
orderProcessInfo.setOriginOrderId(orderInfo.getId());
orderProcessInfo.setOriginDdh(orderInfo.getDdh());
//原始订单到最终订单的关系

@ -1246,6 +1246,18 @@ public class OrderCommonServiceImpl implements OrderCommonService {
orderProcessInfo.setCreateTime(date);
orderProcessInfo.setUpdateTime(date);
orderProcessInfo.setDdzt(OrderInfoEnum.ORDER_STATUS_0.getKey());
//山能拆分后复制原订单的定制化字段
orderProcessInfo.setBzdh(processInfo.getBzdh());
orderProcessInfo.setXtly(processInfo.getXtly());
orderProcessInfo.setGsdm(processInfo.getGsdm());
orderProcessInfo.setBhzt(processInfo.getBhzt());
orderProcessInfo.setYgxm(processInfo.getYgxm());
orderProcessInfo.setKppzh(processInfo.getKppzh());
orderProcessInfo.setPzgzrq(processInfo.getPzgzrq());
orderProcessInfo.setYzfp(ConfigureConstant.STRING_1);
orderProcessInfo.setOriginDdh(processInfo.getDdh());
orderProcessInfo.setOriginOrderId(processInfo.getOrderInfoId());
orderProcessInfo.setKb(processInfo.getKb());
return orderProcessInfo;
}

@ -1,6 +1,7 @@
package com.dxhy.order.consumer.modules.order.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.constant.OrderInfoEnum;
@ -25,6 +26,7 @@ import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* 订单处理业务实现
@ -68,6 +70,16 @@ public class OrderProcessServiceImpl implements OrderProcessService {
log.debug("订单查询,当前页:{},页面条数:{}", currPage, pageSize);
PageHelper.startPage(currPage, pageSize);
List<OrderProcessInfo> list = orderProcessInfoMapper.queryOrderInfo(paramMap, shList, entList);
list.forEach(op -> {
//如果是红票,将清单标志改为0,(红票没有清单)
if (OrderInfoEnum.ORDER_BILLING_INVOICE_TYPE_1.getKey().equals(op.getKplx())) {
op.setQdBz("0");
}
//如果打印状态描述为null,赋值为空字符串
if (Objects.isNull(op.getDyztms())) {
op.setDyztms("");
}
});
PageInfo<OrderProcessInfo> pageInfo = new PageInfo<>(list);
return new PageUtils(pageInfo.getList(), (int) pageInfo.getTotal(), pageInfo.getPageSize(),
pageInfo.getPageNum());

@ -9,6 +9,7 @@ import com.dxhy.order.model.OrderOriginExtendInfo;
import com.dxhy.order.model.OrderProcessInfo;
import com.dxhy.order.model.OrderProcessInfoExt;
import com.dxhy.order.model.R;
import com.dxhy.order.model.newsk.invoiceapply.Consignee;
import com.dxhy.order.utils.CommonUtils;
import com.dxhy.order.utils.JsonUtils;
import com.dxhy.base.constant.OrderMergeErrorMessageEnum;
@ -124,7 +125,7 @@ public class OrderRollbackServiceImpl implements OrderRollbackService {
// 异常回退
if (OrderInfoEnum.ORDER_STATUS_6.getKey().equals(processInfo.getDdzt())
|| OrderInfoEnum.ORDER_STATUS_8.getKey().equals(processInfo.getDdzt())) {
// 修改处理表状态为待开具ORDER_STATUS_3
/*// 修改处理表状态为待开具ORDER_STATUS_3
log.debug("{}要回退异常订单的orderId:{}", LOGGER_MSG, processInfo.getOrderInfoId());
OrderProcessInfo orderProcessInfo = new OrderProcessInfo();
orderProcessInfo.setId(processInfo.getId());
@ -133,14 +134,23 @@ public class OrderRollbackServiceImpl implements OrderRollbackService {
if (updateResult <= 0) {
log.error("{},异常订单回退失败,订单id:{}", LOGGER_MSG, processInfo.getOrderInfoId());
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_DATA_EXCEPTION_ERROR);
}
}*/
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_DATA_EXCEPTIONNOTBACK_ERROR);
// 拆分后回退
} else if (OrderInfoEnum.ORDER_TYPE_0.getKey().equals(processInfo.getDdlx())) {
if (OrderInfoEnum.ORDER_STATUS_0.getKey().equals(processInfo.getDdzt()) || OrderInfoEnum.ORDER_STATUS_1.getKey().equals(processInfo.getDdzt())
|| OrderInfoEnum.ORDER_STATUS_2.getKey().equals(processInfo.getDdzt()) || OrderInfoEnum.ORDER_STATUS_3.getKey().equals(processInfo.getDdzt())) {
log.error("{},原始订单不需要回退,订单id:{}", LOGGER_MSG, processInfo.getOrderInfoId());
/*log.error("{},原始订单不需要回退,订单id:{}", LOGGER_MSG, processInfo.getOrderInfoId());
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_StATUS_ERROR);
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_StATUS_ERROR);*/
OrderProcessInfo orderProcessInfo = new OrderProcessInfo();
orderProcessInfo.setId(processInfo.getId());
orderProcessInfo.setYzfp(ConfigureConstant.STRING_0);
int updateResult = orderProcessInfoMapper.updateOrderProcessInfoByProcessId(orderProcessInfo, shList);
if (updateResult <= 0) {
log.error("{},原始订单回退失败,订单id:{}", LOGGER_MSG, processInfo.getOrderInfoId());
throw new OrderReceiveException(OrderInfoContentEnum.ORDER_ROLLBACK_DATA_EXCEPTION_ERROR);
}
}
} else {
@ -178,6 +188,7 @@ public class OrderRollbackServiceImpl implements OrderRollbackService {
//如果根据当前id查询数据后存在数据,说明该数据是合并后数据,把当前是数据存放在无效状态数据中,把其他数据存放在有效状态数据中
if (orderProcessInfoExts1 != null && orderProcessInfoExts1.size() > 0) {
if (orderProcessInfoExts1.size() > 1) {
//山能没有订单合并,不会走此分支
validStatusData.add(processInfo.getId());
originValidStatusData.add(processInfo.getOrderInfoId());
for (OrderProcessInfoExt orderProcessInfoExt : orderProcessInfoExts1) {
@ -187,6 +198,7 @@ public class OrderRollbackServiceImpl implements OrderRollbackService {
//如果是合并后订单还原,则将订单处理记录扩展表的数据置为无效状态
selectExtByParentProcessId.addAll(orderProcessInfoExts1);
} else {
//山能只会拆分一次
//判断是否为拆分后数据,拆分后数据,需要获取父级数据,然后递归获取有效无效状态
List<OrderProcessInfoExt> parentOrderProcessInfoExts = orderProcessInfoExtMapper.selectExtByParentProcessId(orderProcessInfoExts1.get(0).getParentOrderProcessId(), shList);
//如果根据父id查询数据后存在数据,说明该数据是拆分后数据,把父级数据改为有效状态,
@ -200,6 +212,10 @@ public class OrderRollbackServiceImpl implements OrderRollbackService {
}
}
// validStatusData:拆分后的订单,order_process_info表的id
// statusData:原订单,order_process_info表的id
// originValidStatusData:拆分后的订单,order_process_info表的order_info_id
// originStatusData:原订单,order_process_info表的order_info_id
updateByTranaction(selectExtByParentProcessId, validStatusData, statusData, originValidStatusData, originStatusData, shList);
}

@ -53,6 +53,10 @@
<result column="origin_ddh" property="originDdh" jdbcType="VARCHAR"/>
<result column="origin_order_id" property="originOrderId" jdbcType="VARCHAR"/>
<result column="kb" property="kb" jdbcType="VARCHAR"/>
<result column="qd_bz" property="qdBz" jdbcType="VARCHAR"/>
<result column="dyzt" property="dyzt" jdbcType="VARCHAR"/>
<result column="kplx" property="kplx" jdbcType="VARCHAR"/>
<result column="dyztms" property="dyztms" jdbcType="VARCHAR"/>
</resultMap>
<resultMap id="selectYwlxCountResultMap" type="com.dxhy.order.consumer.modules.order.model.bo.YwlxCountBO">
@ -359,6 +363,10 @@
oii.skcwdm,
oii.skcwms,
oii.push_jos_status,
oii.qd_bz,
oii.dyzt,
oii.dyztms,
oii.kplx,
op.id, op.order_info_id,op.ddqqpch, op.fpqqlsh, op.ddh, op.tqm, op.kphjje, op.hjbhsje, op.kpse, op.fpzl_dm,
op.ghf_mc, op.ghf_nsrsbh,
op.kpxm, op.ddcjsj, op.ddlx, op.ddzt, op.ddly, op.ywlx,op.ywlx_id,op.kpfs, op.sbyy, op.order_status, op.create_time,
@ -614,6 +622,19 @@
<if test="map.pzgzrqEnd !=null and map.pzgzrqEnd != ''">
and #{map.pzgzrqEnd} >= op.pzgzrq
</if>
<if test="map.dyzt != null and map.dyzt != ''">
and oii.dyzt = #{map.dyzt,jdbcType=VARCHAR}
</if>
<if test="map.qdbz != null ">
and oii.qd_bz in
<foreach collection="map.qdbz" index="index" item="item"
open="(" separator="," close=")">
#{item,jdbcType=VARCHAR}
</foreach>
</if>
<if test="map.kplx != null and map.kplx != ''">
and oii.kplx = #{map.kplx,jdbcType=VARCHAR}
</if>
<!-- 异常订单列表根据订单更新时间排序 -->
<choose>

Loading…
Cancel
Save