Example #1
0
  /**
   * Part accessory sale index save
   *
   * @param request HttpServletRequest
   * @param form form data
   * @return String Return to forward page resultMessage Succeed to save page of part accessory sale
   */
  public String sellPrepareSalesList(HttpServletRequest request, ActionForm form) {
    // String forward="sellRegisterList";
    String forward = "resultMessage";
    int tag = -1;

    try {
      SellRegisterForm srf = (SellRegisterForm) form;
      HttpSession session = request.getSession();
      Long userId = (Long) session.getAttribute("userId");
      Long orgCode = (Long) session.getAttribute("orgCode");
      String orgCode2 = request.getParameter("stationCode");
      if (orgCode2 != null && Operate.isPositiveInteger(orgCode2)) {
        orgCode = new Long(orgCode2);
        srf.setOrgName(
            ((CommonSearch) SpringContextUtil.getBean("commonSearch"))
                .findOrgNameByOrgCode(orgCode));
      }

      // 接收表单提交数据

      String[] skuCode1 = request.getParameterValues("skuCode1"); // SKU编号
      String[] skuQuanty1 = request.getParameterValues("skuQuanty1");
      // 数量
      String[] bkbs = request.getParameterValues("bkbs"); // 订购选项
      String[] marks = request.getParameterValues("marks"); // 备注
      String[] stdCost1 = request.getParameterValues("stdCost1"); // 建议价格
      String[] count1 = request.getParameterValues("count1"); // 实际价格
      String[] partDesc1 = request.getParameterValues("partDesc1");
      // SKU描述-英
      String[] partName1 = request.getParameterValues("partName1");
      // SKU描述-中
      String[] stdCost0 = request.getParameterValues("stdCost0"); // 建议单价
      String[] wcNo = request.getParameterValues("wcNo"); // 保卡号
      String[] sn1 = request.getParameterValues("sn1"); // SN号
      String[] lot1 = request.getParameterValues("lot1"); // LOT号
      String[] discount1 = request.getParameterValues("discount1");
      String[] totalTax = request.getParameterValues("totalTax");
      String taxBuffer[] = request.getParameterValues("taxBuffer");
      String totoalDiscount = request.getParameter("totalDiscount");
      // 销售来源
      String fromSales =
          request.getParameter("fromSales") == null ? "0" : request.getParameter("fromSales");
      //			PopupSaleInfoBo sibo = new PopupSaleInfoBo();
      // 销售信息表 TD_SALES_INFO
      TdCustomerInfoForm tdCustomer = customerInfoBo.findByID(srf.getCustomerId());
      SalesInfoForm sif = new SalesInfoForm();
      String saleNo = FormNumberBuilder.getNewSaleOrderNumber(orgCode.toString());
      // 销售单编号
      sif.setSaleNo(saleNo);
      sif.setCustomerId(srf.getCustomerId());
      sif.setCustomerName(srf.getCustomerN());
      sif.setPhone(srf.getCustomerTele());
      sif.setFormCreaDate(Operate.toUtilDate());
      sif.setTotalPrice(srf.getTotalPrice());
      sif.setSalesBy(userId);
      sif.setSaleStatus("N"); // 未确认预销售
      sif.setStationCode(orgCode);
      sif.setFromSales(new Long(fromSales));
      sif.setContractNo(srf.getContractNo());
      sif.setCreateDate(Operate.toUtilDate()); // added by jackyu 2011-03-16  add time zone
      srf.setSaleNo(saleNo);
      srf.setSaleDate(sif.getFormCreaDate());
      srf.setSuggestPrice(srf.getTotalPrice());
      sif.setTotalDiscount(totoalDiscount);
      // 生成预销售单是的创建人 add by hanxn
      sif.setCreateBy(userId);
      if (tdCustomer != null) {
        sif.setMobile(tdCustomer.getMobile());
      }
      ArrayList psfList = new ArrayList();

      // 销售/预定明细 TD_SALES_DETAIL
      if (skuCode1 != null && skuCode1.length > 0)
        for (int i = 0; i < skuCode1.length; i++) {
          Integer partNum =
              Operate.isPositiveInteger(skuQuanty1[i]) ? new Integer(skuQuanty1[i]) : null;
          Double perCost = Operate.isNumeric(stdCost0[i]) ? new Double(stdCost0[i]) : null;
          Double perPrice = Operate.isNumeric(count1[i]) ? new Double(count1[i]) : null;

          PartSaleForm psf = new PartSaleForm();
          psf.setSaleNo(saleNo);
          psf.setPartCode(skuCode1[i]);
          psf.setPartStatus("P"); // 等待分配
          psf.setPartNum(partNum);
          psf.setPerCost(perCost);
          psf.setPerPrice(perPrice);
          psf.setRemark(marks[i]);
          psf.setCreateBy(userId);
          psf.setCreateDate(Operate.toUtilDate()); // added by jackyu 2011-03-16  add time zone
          psf.setIsBackToBack(bkbs[i]);
          psf.setWarrantyCardNo(wcNo[i]);
          psf.setSnNo(sn1[i]);
          psf.setLotNo(lot1[i]);
          psf.setDiscount(discount1[i]);

          // 存储税begin
          String taxString = taxBuffer[i];

          if (null != taxString && !"".equals(taxString)) {
            String[] taxCount = taxString.split(SPLITER2_STR);
            if (null != taxCount && taxCount.length > 0) {
              for (int c = 0; c < taxCount.length; c++) {
                String[] taxDetial = taxCount[c].split(SPLITER1_STR);
                TdPartSalesTaxDetail sd = new TdPartSalesTaxDetail();
                sd.setSoId(new Long(1));
                sd.setTaxCode(taxDetial[0] == null ? "" : taxDetial[0]);
                sd.setTaxRate(taxDetial[2] == null ? null : new Double(taxDetial[2]));
                sd.setConvertedTaxRate(taxDetial[4] == null ? null : new Double(taxDetial[4]));
                sd.setTaxAmt(taxDetial[3] == null ? null : new Double(taxDetial[3]));
                sd.setDeletFlag(0);
                sd.setCreatedDate(Operate.getCurrentDate());
                sd.setCreateBy(0L);
                sd.setSaleNo(saleNo);
                psf.getTaxDetails().add(sd);
              }
            }
          }

          psfList.add(psf);
          // 存储税 end

          sif.getSalesDetails().add(psf);
        }
      tag = popupSaleInfoBo.add(sif);

      /*
      ArrayList tempList=new ArrayList();\
      if(tag==1){
      	ArrayList saleList=new ArrayList(sif.getSalesDetails());
      	//System.out.println("--------------saleList="+saleList.size());
      	for(int i=0;i<saleList.size();i++){
      		PartSaleForm psf2=(PartSaleForm)saleList.get(i);

      		String temp[]=new String[9];
      		temp[0]=psf2.getSoId().toString();
      		temp[1]=skuCode1[i];
      		temp[2]=partDesc1[i];
      		temp[3]=partName1[i];
      		temp[4]=wcNo[i];
      		temp[5]=sn1[i];
      		temp[6]=lot1[i];
      		temp[7]=skuQuanty1[i];
      		temp[8]=stdCost1[i];

      		tempList.add(temp);
      	}

      	request.setAttribute("tempList",tempList);
      	request.setAttribute("sellRegisterForm",srf);
      }
      request.setAttribute("flag","Y");
      */

      request.setAttribute("templetName", fromSales);
      request.setAttribute("tempData", sif.getSaleNo());

      request.setAttribute("tag", tag + "");
      request.setAttribute("businessFlag", "sellPrepareList");

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