/**
   * 导入BpPointsDtl表
   *
   * @param bpRedPointsShowPara
   * @param otherTxnsn
   */
  private void impBpPointsDtl(BpRedPointsShow bpRedPointsShowPara, Long otherTxnsn, String action) {
    try {
      BpPointsDtl bpPointsDtlTmp = new BpPointsDtl();
      bpPointsDtlTmp.setTxndate(bpRedPointsShowPara.getTxndate()); // 数据日期
      bpPointsDtlTmp.setCustNo(bpRedPointsShowPara.getCustNo()); // 客户号
      bpPointsDtlTmp.setPointsType(EnuPointsType.POINTS_TYPE_50.getCode()); // 积分类型
      bpPointsDtlTmp.setPoints(
          ToolUtil.getNegativeBigDecimal(bpRedPointsShowPara.getPoints())); // 积分
      bpPointsDtlTmp.setCrtDate(ToolUtil.getStrLastUpdDate()); // 创建日期YYYY-MM-DD
      bpPointsDtlTmp.setCrtTime(ToolUtil.getStrLastUpdTime()); // 创建时间HH:mm:ss
      bpPointsDtlTmp.setCrtOperId(operManager.getOperInfo().getOperId()); // 创建者ID
      if ("imp".equals(action)) { // 导入
        bpPointsDtlTmp.setOrigin(EnuOrigin.ORIGIN_1.getCode()); // 数据来源:0_系统录入;1_系统外导入
        bpPointsDtlTmp.setOtherTxnsn(otherTxnsn); // 外部系统流水号
      } else { // 添加
        bpPointsDtlTmp.setOrigin(EnuOrigin.ORIGIN_0.getCode()); // 数据来源:0_系统录入;1_系统外导入
      }

      Long strSeqNo = (platformService.obtainSeqNo("POINTS_DTL_SEQNO"));
      bpPointsDtlTmp.setTxnsn(strSeqNo); // 交易流水号
      String strBillNoTmp = ToolUtil.getStrToday() + "02" + strSeqNo;
      bpPointsDtlTmp.setBillNo(strBillNoTmp);
      // 回带订单号
      bpRedPointsShowPara.setBillNo(strBillNoTmp);
      bpPointsDtlService.insertSelective(bpPointsDtlTmp);
    } catch (Exception e) {
      logger.error("BpPointsDtl导入失败!", e);
    }
  }
  private Boolean preSubmitCheck(BpRedPointsShow bpRedPointsShowPara) {
    if (ToolUtil.getStrIgnoreNull(gmGoodsInfoShowAdd.getGoodsId()).length() == 0) {
      MessageUtil.addError("物品号不能为空,请输入物品号!");
      return false;
    }

    List<BpCusts> gmBpCustsTmp = bpCustsService.getBpCustListByID(bpRedPointsShowPara.getCustNo());
    if (gmBpCustsTmp == null || gmBpCustsTmp.size() <= 0) {
      MessageUtil.addError("该客户(" + bpRedPointsShowPara.getCustNo() + ")不存在,请确认您输入的客户号!");
      return false;
    }
    List<GmGoodsInfo> gmGoodsInfoListTmp =
        gmGoodsInfoService.getGmGoodsInfoListByID(gmGoodsInfoShowAdd.getGoodsId());
    if (gmGoodsInfoListTmp == null || gmGoodsInfoListTmp.size() <= 0) {
      MessageUtil.addError("该物品(" + gmGoodsInfoShowAdd.getGoodsId() + ")不存在,请确认您输入的物品号!");
      return false;
    }
    BigDecimal bdCumuPoints = ToolUtil.getBdIgnoreNull(gmBpCustsTmp.get(0).getCumuPoints());
    if (bdCumuPoints.compareTo(ToolUtil.getBdIgnoreNull(bpRedPointsShowPara.getPoints())) < 0) {
      MessageUtil.addError("该客户剩余积分(" + bdCumuPoints + ")不足本次捐赠,请确认您本次捐赠操作是否正确?");
      return false;
    }
    Long storQty = ToolUtil.getLongIgnoreNull(gmGoodsInfoListTmp.get(0).getStorQty());
    if (storQty < bpRedPointsShowPara.getGoodsQty()) {
      MessageUtil.addError("该物品库存量(" + storQty + ")不足本次捐赠,请确认您本次捐赠操作是否正确?");
      return false;
    }
    return true;
  }