@RequestMapping("QryAuthDtlDtl")
  public String queryAuthDtlDtl(Model model, FTZ210205Form form) {

    FtzInMsgCtl query_FtzInMsgCtl = new FtzInMsgCtl();
    query_FtzInMsgCtl.setMsgId(form.getSelected_msgId());
    FtzInMsgCtl result_FtzInMsgCtl = ftz210205Serv.queryFtzInMsgCtl(query_FtzInMsgCtl);
    form.setFather_makTime(result_FtzInMsgCtl.getMakDatetime());
    form.setFather_chkTime(result_FtzInMsgCtl.getChkDatetime());
    model.addAttribute("fatherStatus", result_FtzInMsgCtl.getMsgStatus());

    FtzInTxnDtl query_FtzInTxnDtl = new FtzInTxnDtl();
    query_FtzInTxnDtl.setMsgId(form.getSelected_msgId());
    query_FtzInTxnDtl.setSeqNo(form.getSelected_seqNo());

    FtzInTxnDtl result_FtzInTxnDtl = ftz210205Serv.queryFtzInTxnDtl(query_FtzInTxnDtl);

    if (null == result_FtzInTxnDtl) {
      model.addAttribute(ResultMessages.info().add("w.sm.0001"));
      return "ftzmis/FTZ210205_Auth_Qry_Dtl";
    }
    result_FtzInTxnDtl.setTranDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getTranDate()));
    result_FtzInTxnDtl.setOrgTranDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getOrgTranDate()));
    result_FtzInTxnDtl.setExpireDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getExpireDate()));
    result_FtzInTxnDtl.setMakDatetime(
        DateUtil.getFormatDateTimeAddSpritAndColon(result_FtzInTxnDtl.getMakDatetime()));
    result_FtzInTxnDtl.setChkDatetime(
        DateUtil.getFormatDateTimeAddSpritAndColon(result_FtzInTxnDtl.getChkDatetime()));
    if (null != result_FtzInTxnDtl.getOppBankCode()
        || !"".equals(result_FtzInTxnDtl.getOppBankCode())) {
      FtzBankCode query_FtzBankCode = new FtzBankCode();
      query_FtzBankCode.setBankCode(result_FtzInTxnDtl.getOppBankCode());
      FtzBankCode result_FtzBankCode = ftz210205Serv.queryFtzBankCode(query_FtzBankCode);
      if (null != result_FtzBankCode) {
        result_FtzInTxnDtl.setOppBankName(result_FtzBankCode.getBankName());
      }
    }

    form.setFtzInTxnDtl(result_FtzInTxnDtl);
    return "ftzmis/FTZ210205_Auth_Qry_Dtl_Dtl";
  }
  @RequestMapping("QryDtlDtl")
  public String queryDtlDtl(Model model, FTZ210205Form form) {
    logger.info("买入返售资产明细查询开始...");
    // 组装查询信息
    FtzInTxnDtl query_FtzInTxnDtl = new FtzInTxnDtl();
    query_FtzInTxnDtl.setMsgId(form.getSelected_msgId());
    query_FtzInTxnDtl.setSeqNo(form.getSelected_seqNo());

    // 查询数据
    FtzInTxnDtl result_FtzInTxnDtl = ftz210205Serv.queryFtzInTxnDtl(query_FtzInTxnDtl);

    if (null == result_FtzInTxnDtl) {
      // 若无数据 则返回提示信息
      model.addAttribute(ResultMessages.info().add("w.sm.0001"));
      logger.error("查询无记录!");
      logger.info("买入返售资产明细查询结束...");
      return "ftzmis/FTZ210205_Qry_Dtl";
    }
    // 有数据则进行数据转换
    result_FtzInTxnDtl.setTranDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getTranDate()));
    result_FtzInTxnDtl.setOrgTranDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getOrgTranDate()));
    result_FtzInTxnDtl.setExpireDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getExpireDate()));
    result_FtzInTxnDtl.setMakDatetime(
        DateUtil.getFormatDateTimeAddSpritAndColon(result_FtzInTxnDtl.getMakDatetime()));
    result_FtzInTxnDtl.setChkDatetime(
        DateUtil.getFormatDateTimeAddSpritAndColon(result_FtzInTxnDtl.getChkDatetime()));
    if (null != result_FtzInTxnDtl.getOppBankCode()
        || !"".equals(result_FtzInTxnDtl.getOppBankCode())) {
      FtzBankCode query_FtzBankCode = new FtzBankCode();
      query_FtzBankCode.setBankCode(result_FtzInTxnDtl.getOppBankCode());
      FtzBankCode result_FtzBankCode = ftz210205Serv.queryFtzBankCode(query_FtzBankCode);
      if (null != result_FtzBankCode) {
        result_FtzInTxnDtl.setOppBankName(result_FtzBankCode.getBankName());
      }
    }

    form.setFtzInTxnDtl(result_FtzInTxnDtl);
    logger.info("买入返售资产明细查询结束 ..");
    return "ftzmis/FTZ210205_Qry_Dtl_Dtl";
  }
  @RequestMapping("UptDtlDtlInit")
  public String UptDtlDtlInit(Model model, FTZ210205Form form) {

    FtzInMsgCtl query_FtzInMsgCtl = new FtzInMsgCtl();
    query_FtzInMsgCtl.setMsgId(form.getSelected_msgId());
    FtzInMsgCtl result_FtzInMsgCtl = ftz210205Serv.queryFtzInMsgCtl(query_FtzInMsgCtl);
    form.setFather_makTime(result_FtzInMsgCtl.getMakDatetime());
    form.setFather_chkTime(result_FtzInMsgCtl.getChkDatetime());

    FtzInTxnDtl query_FtzInTxnDtl = new FtzInTxnDtl();
    query_FtzInTxnDtl.setMsgId(form.getSelected_msgId());
    query_FtzInTxnDtl.setSeqNo(form.getSelected_seqNo());
    FtzInTxnDtl result_FtzInTxnDtl = ftz210205Serv.queryFtzInTxnDtl(query_FtzInTxnDtl);
    result_FtzInTxnDtl.setTranDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getTranDate()));
    result_FtzInTxnDtl.setOrgTranDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getOrgTranDate()));
    result_FtzInTxnDtl.setExpireDate(
        DateUtil.getFormatDateAddSprit(result_FtzInTxnDtl.getExpireDate()));
    result_FtzInTxnDtl.setMakDatetime(
        DateUtil.getFormatDateTimeAddSpritAndColon(result_FtzInTxnDtl.getMakDatetime()));
    result_FtzInTxnDtl.setChkDatetime(
        DateUtil.getFormatDateTimeAddSpritAndColon(result_FtzInTxnDtl.getChkDatetime()));
    if (null != result_FtzInTxnDtl.getOppBankCode()
        || !"".equals(result_FtzInTxnDtl.getOppBankCode())) {
      FtzBankCode query_FtzBankCode = new FtzBankCode();
      query_FtzBankCode.setBankCode(result_FtzInTxnDtl.getOppBankCode());
      FtzBankCode result_FtzBankCode = ftz210205Serv.queryFtzBankCode(query_FtzBankCode);
      if (null != result_FtzBankCode) {
        result_FtzInTxnDtl.setOppBankName(result_FtzBankCode.getBankName());
      }
    }

    form.setFtzInTxnDtl(result_FtzInTxnDtl);
    form.setInput_Dtl_flag("upt");
    return "ftzmis/FTZ210205_Input_Dtl_Dtl";
  }
  @RequestMapping("UptDtlDtlSubmit")
  public String UptDtlDtlSubmit(Model model, FTZ210205Form form, BindingResult result) {

    FtzInTxnDtl update_FtzInTxnDtl = form.getFtzInTxnDtl();
    // 开始校验
    ResultMessages resultMessages = ResultMessages.error();

    // 出/入账标志
    if (null == update_FtzInTxnDtl.getCdFlag()
        || "".equals(update_FtzInTxnDtl.getCdFlag().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0013");
      resultMessages.add(resultMessage);
    }

    if ("3".equals(update_FtzInTxnDtl.getCdFlag().trim())
        || "4".equals(update_FtzInTxnDtl.getCdFlag().trim())) {
      if (null == update_FtzInTxnDtl.getOrgTranDate()
          || "".equals(update_FtzInTxnDtl.getOrgTranDate().trim())
          || ((null != update_FtzInTxnDtl.getTranDate())
              && DateUtil.getFormatDateRemoveSprit(update_FtzInTxnDtl.getTranDate())
                      .compareToIgnoreCase(
                          DateUtil.getFormatDateRemoveSprit(update_FtzInTxnDtl.getOrgTranDate()))
                  < 0)) {
        ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0027");
        resultMessages.add(resultMessage);
      }
    }

    // 记帐日期
    if (null == update_FtzInTxnDtl.getTranDate()
        || "".equals(update_FtzInTxnDtl.getTranDate().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0014");
      resultMessages.add(resultMessage);
    }
    // 金额
    if (null == update_FtzInTxnDtl.getAmount()) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0015");
      resultMessages.add(resultMessage);
    } else {
      if (!Validator.CheckAmount(update_FtzInTxnDtl.getAmount())) {
        ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210303.0013");
        resultMessages.add(resultMessage);
      }
    }

    // 国别代码
    if (null == update_FtzInTxnDtl.getCountryCode()
        || "".equals(update_FtzInTxnDtl.getCountryCode().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0016");
      resultMessages.add(resultMessage);
    }

    // 交易性质
    if (null == update_FtzInTxnDtl.getTranType()
        || "".equals(update_FtzInTxnDtl.getTranType().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0017");
      resultMessages.add(resultMessage);
    }
    if ("1".equals(update_FtzInTxnDtl.getCdFlag().trim())
        || "2".equals(update_FtzInTxnDtl.getCdFlag().trim())) {
      if (null == update_FtzInTxnDtl.getOppAccount()
          || "".equals(update_FtzInTxnDtl.getOppAccount().trim())) {
        ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210205.0001");
        resultMessages.add(resultMessage);
      }
    }
    // 正常出账或者入账时用户名必输
    if ("1".equals(update_FtzInTxnDtl.getCdFlag().trim())
        || "2".equals(update_FtzInTxnDtl.getCdFlag().trim())) {
      if (null == update_FtzInTxnDtl.getOppName()
          || "".equals(update_FtzInTxnDtl.getOppName().trim())) {
        ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210205.0006");
        resultMessages.add(resultMessage);
      }
    }
    // 对方客户性质
    if (null == update_FtzInTxnDtl.getOppCusType()
        || "".equals(update_FtzInTxnDtl.getOppCusType().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210205.0001");
      resultMessages.add(resultMessage);
    }

    if (resultMessages.isNotEmpty()) {
      model.addAttribute(resultMessages);
      return "ftzmis/FTZ210205_Input_Dtl_Dtl";
    }
    update_FtzInTxnDtl.setTranDate(
        DateUtil.getFormatDateRemoveSprit(update_FtzInTxnDtl.getTranDate()));
    update_FtzInTxnDtl.setValueDate(
        DateUtil.getFormatDateRemoveSprit(update_FtzInTxnDtl.getValueDate()));
    update_FtzInTxnDtl.setOrgTranDate(
        DateUtil.getFormatDateRemoveSprit(update_FtzInTxnDtl.getOrgTranDate()));
    update_FtzInTxnDtl.setExpireDate(
        DateUtil.getFormatDateRemoveSprit(update_FtzInTxnDtl.getExpireDate()));
    UserInf userInfo = ContextConst.getCurrentUser();
    update_FtzInTxnDtl.setMakUserId(userInfo.getUserid());
    update_FtzInTxnDtl.setRsv1(
        DateUtil.getFormatDateTimeRemoveSpritAndColon(update_FtzInTxnDtl.getMakDatetime()));
    update_FtzInTxnDtl.setRsv2(
        DateUtil.getFormatDateTimeRemoveSpritAndColon(update_FtzInTxnDtl.getChkDatetime()));
    update_FtzInTxnDtl.setMakDatetime(DateUtil.getNowInputDateTime());
    update_FtzInTxnDtl.setChkDatetime(
        DateUtil.getFormatDateTimeRemoveSpritAndColon(update_FtzInTxnDtl.getChkDatetime()));
    update_FtzInTxnDtl.setChkStatus(CommonConst.FTZ_MSG_STATUS_INPUT_COMPLETED);
    int i = ftz210205Serv.updateFtzInTxnDtlSelective(update_FtzInTxnDtl);
    if (i < 1) {
      model.addAttribute(ResultMessages.error().add("e.ftzmis.210101.0026"));
    } else {
      model.addAttribute(ResultMessages.success().add("i.ftzmis.210210.0004"));
      model.addAttribute("uptFlag", "1");
    }
    form.getFtzInTxnDtl()
        .setTranDate(DateUtil.getFormatDateAddSprit(form.getFtzInTxnDtl().getTranDate()));
    form.getFtzInTxnDtl()
        .setOrgTranDate(DateUtil.getFormatDateAddSprit(form.getFtzInTxnDtl().getOrgTranDate()));
    form.getFtzInTxnDtl()
        .setExpireDate(DateUtil.getFormatDateAddSprit(form.getFtzInTxnDtl().getExpireDate()));
    form.getFtzInTxnDtl()
        .setMakDatetime(
            DateUtil.getFormatDateTimeAddSpritAndColon(form.getFtzInTxnDtl().getMakDatetime()));
    form.getFtzInTxnDtl()
        .setChkDatetime(
            DateUtil.getFormatDateTimeAddSpritAndColon(form.getFtzInTxnDtl().getChkDatetime()));
    return "ftzmis/FTZ210205_Input_Dtl_Dtl";
  }
  @RequestMapping("AddDtlDtlSubmit")
  public String AddDtlDtlSubmit(Model model, FTZ210205Form form, BindingResult result) {

    FtzInTxnDtl issert_FtzInTxnDtl = form.getFtzInTxnDtl();
    // 开始校验
    ResultMessages resultMessages = ResultMessages.error();

    // 出/入账标志
    if (null == issert_FtzInTxnDtl.getCdFlag()
        || "".equals(issert_FtzInTxnDtl.getCdFlag().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0013");
      resultMessages.add(resultMessage);
    }

    if ("3".equals(issert_FtzInTxnDtl.getCdFlag().trim())
        || "4".equals(issert_FtzInTxnDtl.getCdFlag().trim())) {
      if (null == issert_FtzInTxnDtl.getOrgTranDate()
          || "".equals(issert_FtzInTxnDtl.getOrgTranDate().trim())
          || ((null != issert_FtzInTxnDtl.getTranDate())
              && DateUtil.getFormatDateRemoveSprit(issert_FtzInTxnDtl.getTranDate())
                      .compareToIgnoreCase(
                          DateUtil.getFormatDateRemoveSprit(issert_FtzInTxnDtl.getOrgTranDate()))
                  < 0)) {
        ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0027");
        resultMessages.add(resultMessage);
      }
    }

    // 记帐日期
    if (null == issert_FtzInTxnDtl.getTranDate()
        || "".equals(issert_FtzInTxnDtl.getTranDate().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0014");
      resultMessages.add(resultMessage);
    }
    // 金额
    if (null == issert_FtzInTxnDtl.getAmount()) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0015");
      resultMessages.add(resultMessage);
    } else {
      if (!Validator.CheckAmount(issert_FtzInTxnDtl.getAmount())) {
        ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210303.0013");
        resultMessages.add(resultMessage);
      }
    }

    // 国别代码
    if (null == issert_FtzInTxnDtl.getCountryCode()
        || "".equals(issert_FtzInTxnDtl.getCountryCode().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0016");
      resultMessages.add(resultMessage);
    }

    // 交易性质
    if (null == issert_FtzInTxnDtl.getTranType()
        || "".equals(issert_FtzInTxnDtl.getTranType().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210101.0017");
      resultMessages.add(resultMessage);
    }
    // 正常出账或入账时必输
    if ("1".equals(issert_FtzInTxnDtl.getCdFlag().trim())
        || "2".equals(issert_FtzInTxnDtl.getCdFlag().trim())) {
      if (null == issert_FtzInTxnDtl.getOppAccount()
          || "".equals(issert_FtzInTxnDtl.getOppAccount().trim())) {
        ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210205.0001");
        resultMessages.add(resultMessage);
      }
    }
    // 正常出账或者入账时用户名必输
    if ("1".equals(issert_FtzInTxnDtl.getCdFlag().trim())
        || "2".equals(issert_FtzInTxnDtl.getCdFlag().trim())) {
      if (null == issert_FtzInTxnDtl.getOppName()
          || "".equals(issert_FtzInTxnDtl.getOppName().trim())) {
        ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210205.0006");
        resultMessages.add(resultMessage);
      }
    }
    //		//对方客户性质
    if (null == issert_FtzInTxnDtl.getOppCusType()
        || "".equals(issert_FtzInTxnDtl.getOppCusType().trim())) {
      ResultMessage resultMessage = ResultMessage.fromCode("e.ftzmis.210205.0002");
      resultMessages.add(resultMessage);
    }

    if (resultMessages.isNotEmpty()) {
      model.addAttribute(resultMessages);
      return "ftzmis/FTZ210205_Input_Dtl_Dtl";
    }

    FtzInTxnDtl query_FtzInTxnDtl = new FtzInTxnDtl();
    query_FtzInTxnDtl.setMsgId(issert_FtzInTxnDtl.getMsgId());
    List<FtzInTxnDtl> ftzInTxnDtls = ftz210205Serv.queryFtzInTxnDtlList(query_FtzInTxnDtl);
    if (null == ftzInTxnDtls || ftzInTxnDtls.size() == 0) {
      issert_FtzInTxnDtl.setSeqNo(StringUtil.addZeroForNum("1", 6));
    } else {
      FtzInTxnDtl ftzInTxnDtl_tmp = ftzInTxnDtls.get(ftzInTxnDtls.size() - 1);
      String seqNo = Integer.parseInt(ftzInTxnDtl_tmp.getSeqNo()) + 1 + "";
      issert_FtzInTxnDtl.setSeqNo(StringUtil.addZeroForNum(seqNo, 6));
    }

    issert_FtzInTxnDtl.setTranDate(
        DateUtil.getFormatDateRemoveSprit(issert_FtzInTxnDtl.getTranDate()));
    issert_FtzInTxnDtl.setValueDate(
        DateUtil.getFormatDateRemoveSprit(issert_FtzInTxnDtl.getValueDate()));
    issert_FtzInTxnDtl.setOrgTranDate(
        DateUtil.getFormatDateRemoveSprit(issert_FtzInTxnDtl.getOrgTranDate()));
    issert_FtzInTxnDtl.setExpireDate(
        DateUtil.getFormatDateRemoveSprit(issert_FtzInTxnDtl.getExpireDate()));
    UserInf userInfo = ContextConst.getCurrentUser();
    issert_FtzInTxnDtl.setMakUserId(userInfo.getUserid());
    issert_FtzInTxnDtl.setMakDatetime(DateUtil.getNowInputDateTime());
    issert_FtzInTxnDtl.setChkStatus(CommonConst.FTZ_MSG_STATUS_INPUT_COMPLETED);
    int i = ftz210205Serv.insertFtzInTxnDtl(issert_FtzInTxnDtl);
    if (i < 1) {
      model.addAttribute(ResultMessages.error().add("e.sysrunner.0006"));
    } else {
      model.addAttribute(ResultMessages.success().add("i.ftzmis.210210.0003"));
      model.addAttribute("uptFlag", "1");
    }
    form.getFtzInTxnDtl()
        .setTranDate(DateUtil.getFormatDateAddSprit(form.getFtzInTxnDtl().getTranDate()));
    form.getFtzInTxnDtl()
        .setOrgTranDate(DateUtil.getFormatDateAddSprit(form.getFtzInTxnDtl().getOrgTranDate()));
    form.getFtzInTxnDtl()
        .setExpireDate(DateUtil.getFormatDateAddSprit(form.getFtzInTxnDtl().getExpireDate()));
    form.getFtzInTxnDtl()
        .setMakDatetime(
            DateUtil.getFormatDateTimeAddSpritAndColon(form.getFtzInTxnDtl().getMakDatetime()));
    form.getFtzInTxnDtl()
        .setChkDatetime(
            DateUtil.getFormatDateTimeAddSpritAndColon(form.getFtzInTxnDtl().getChkDatetime()));
    return "ftzmis/FTZ210205_Input_Dtl_Dtl";
  }