/**
   * “维修”->“电话诊断”->“明细”->维修零件添加
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   */
  public void insertRepairPartInfo(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response) {
    try {
      Long userId = (Long) request.getSession().getAttribute("userId");

      String repairNo = request.getParameter("repairNo");
      String stuffNo = request.getParameter("stuffNo");
      String warrantyType = request.getParameter("warrantyType");
      String applyQty = request.getParameter("applyQty");

      RepairHandleBo rhBo = RepairHandleBo.getInstance();
      List<RepairPartForm> returnFormList = null;

      // 零件添加时增加零件是否可用
      boolean chk = PartInfoBo.getInstance().chkStuffNo(stuffNo);
      if (!chk) {

        // wubin at 20110401 增加新的费用类别RR90,默认该类别是收费的
        //				if("R".equals(partFeeType)){
        //					partFeeType = "Y";
        //					isRR90PartType = "Y";
        //				}

        // add end
        List<RepairPartForm> rpfList = new ArrayList<RepairPartForm>();

        RepairPartForm rpf = new RepairPartForm();
        rpf.setRepairNo(new Long(repairNo));
        rpf.setStuffNo(stuffNo);
        rpf.setWarrantyType(warrantyType);
        rpf.setApplyQty(new Integer(applyQty));
        rpf.setRepairPartStatus("A"); // 申请中
        rpf.setRepairPartType("W"); // 维修申请
        rpf.setCreateBy(userId);
        rpf.setCreateDate(new java.util.Date());

        rpfList.add(rpf);

        returnFormList = rhBo.insertPartInfo(rpfList);
      }

      PrintWriter writer = response.getWriter();
      response.setContentType("text/xml");
      response.setHeader("Cache-Control", "no-cache");
      if (null != returnFormList && returnFormList.size() > 0) {
        writer.println("<xml>");
        writer.println("<flag>true</flag>");
        for (int i = 0; i < returnFormList.size(); i++) {
          RepairPartForm aPartForm = (RepairPartForm) returnFormList.get(i);
          writer.println("<partRow id=\"" + aPartForm.getPartsId() + "\">");
          writer.println("  <partsId>" + aPartForm.getPartsId() + "</partsId>");
          writer.println("  <stuffNo>" + aPartForm.getStuffNo() + "</stuffNo>");
          writer.println(
              "  <skuCode>" + EscapeUnescape.escape(aPartForm.getSkuCode()) + "</skuCode>");
          String standard =
              aPartForm.getStandard() == null ? "" : EscapeUnescape.escape(aPartForm.getStandard());
          writer.println("  <standard>" + (standard.equals("") ? ".." : standard) + "</standard>");
          writer.println(
              "  <skuUnit>" + EscapeUnescape.escape(aPartForm.getSkuUnit()) + "</skuUnit>");
          writer.println(
              "  <warrantyType>"
                  + EscapeUnescape.escape(
                      DicInit.getSystemName("WARRANTY_TYPE", aPartForm.getWarrantyType()))
                  + "</warrantyType>");
          writer.println("  <applyQty>" + aPartForm.getApplyQty() + "</applyQty>");

          writer.println("</partRow>");
        }
        writer.println("</xml>");
      } else {
        writer.println("<xml>");
        writer.println("<flag>false</flag>");
        if (chk) {
          writer.println("<result>part</result>");
        } else {
          writer.println("<result>error</result>");
        }

        writer.println("</xml>");
      }
      writer.flush();
      writer.close();

    } catch (Exception e) {
      e.printStackTrace();
    }
  }