Package com.iisigroup.cap.rule.handler

Source Code of com.iisigroup.cap.rule.handler.FactorMntHandler

/*
* SampleHandler.java
*
* Copyright (c) 2009-2012 International Integrated System, Inc.
* All Rights Reserved.
*
* Licensed Materials - Property of International Integrated System, Inc.
*
* This software is confidential and proprietary information of
* International Integrated System, Inc. ("Confidential Information").
*/
package com.iisigroup.cap.rule.handler;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import net.sf.json.JSONObject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.iisigroup.cap.Constants;
import com.iisigroup.cap.annotation.HandlerType;
import com.iisigroup.cap.annotation.HandlerType.HandlerTypeEnum;
import com.iisigroup.cap.component.IRequest;
import com.iisigroup.cap.exception.CapMessageException;
import com.iisigroup.cap.handler.MFormHandler;
import com.iisigroup.cap.response.AjaxFormResult;
import com.iisigroup.cap.response.IResult;
import com.iisigroup.cap.rule.model.DivFtDtl;
import com.iisigroup.cap.rule.model.DivFtItm;
import com.iisigroup.cap.rule.service.FactorMntService;
import com.iisigroup.cap.security.CapSecurityContext;
import com.iisigroup.cap.service.ICommonService;
import com.iisigroup.cap.utils.CapAppContext;
import com.iisigroup.cap.utils.CapBeanUtil;
import com.iisigroup.cap.utils.CapDate;
import com.iisigroup.cap.utils.CapString;

/**
* <pre>
* Factor Maintain Handler
* </pre>
*
* @since 2013/12/12
* @author TimChiang
* @version <ul>
*          <li>2013/12/12,TimChiang,new
*          </ul>
*/
@Scope("request")
@Controller("factorMnthandler")
public class FactorMntHandler extends MFormHandler {

  @Resource
  private FactorMntService factorMntService;

  @Resource
  private ICommonService commonService;
 
  private static final Logger logger = LoggerFactory.getLogger(FactorMntHandler.class);
 
  /**
   * 查詢Factor資料明細
   * @param search
   * @param params
   * @return
   */
  @HandlerType(HandlerTypeEnum.FORM)
  public IResult query(IRequest request) {
    String oid = request.get("mainOid");
    String factorNo = request.get("factorNo");
    AjaxFormResult result = new AjaxFormResult();
    DivFtItm ftItm = null;
    if(!CapString.isEmpty(oid)){
      ftItm = factorMntService.getById(oid);
    }else if(!CapString.isEmpty(factorNo)){
      ftItm = factorMntService.findByDivFtItmNo(factorNo);
    }
    if(ftItm!=null){
      result.putAll(ftItm.toJSONObject(new String[]{"factorNo", "factorNm", "dataType"
          , "oid", "tableNm", "columnNm"}, null));
    }
    return result;
  }// ;

  /**
   * modify Factor Item and Detail
   * @param request request
   * @return IResult
   */
  public IResult saveFactorDtl(IRequest request) {
    AjaxFormResult result = new AjaxFormResult();
    String type = request.get("type");
    String divFtItmNo = request.get("factorNo");
    String[] sary = request.getParamsAsStringArray("grid[]");
    DivFtItm ftItm = factorMntService.findByDivFtItmNo(divFtItmNo);

    if ("A".equals(type)) {
      if (ftItm != null) {
        // factorMnt.0001 代碼重覆!
        throw new CapMessageException(
            CapAppContext.getMessage("factorMntPage.0001"), getClass());
      }
      ftItm = new DivFtItm();
    } else {
      if (ftItm != null && !ftItm.getOid().equals(request.get("oid"))) {
        // factorMnt.0001 代碼重覆!
        throw new CapMessageException(
            CapAppContext.getMessage("factorMntPage.0001"), getClass());
      } else if (ftItm == null && !CapString.isEmpty(request.get("oid"))) {
        ftItm = factorMntService.getById(request.get("oid"));
      } else if (ftItm == null){
        ftItm = new DivFtItm();
      }
    }
    CapBeanUtil.map2Bean(request, ftItm);
    if ("A".equals(type)) {
      ftItm.setOid(null);
    }
    List<DivFtDtl> delFtDtl = new ArrayList<DivFtDtl>()
    if(ftItm.getDivFtDtls()!=null&&!ftItm.getDivFtDtls().isEmpty()){
      delFtDtl = ftItm.getDivFtDtls();
    }
    if(sary!=null){
      List<DivFtDtl> ftDtls = new ArrayList<DivFtDtl>();
      for(int i = 0 ; i<sary.length; i++){
        JSONObject gridData = JSONObject.fromObject(sary[i]);
        DivFtDtl ftDtl = new DivFtDtl();
        CapBeanUtil.map2Bean(gridData, ftDtl);
        ftDtl.setFactorNo(ftItm.getFactorNo());
        if(!CapString.isEmpty(gridData.optString("rangeNo"))){
          ftDtl.setRangeNo(gridData.optString("rangeNo"));
        }else{
          ftDtl.setRangeNo(CapString.fillString(String.valueOf(i), 5, true, '0'));
        }
        if(!CapString.isEmpty(gridData.optString("oid"))){
          ftDtl.setOid(gridData.optString("oid"));
        }
        ftDtl.setRangeSor(new BigDecimal(i));
        ftDtl.setDivFtItm(ftItm);
        ftDtls.add(ftDtl);
      }
      ftItm.setDivFtDtls(ftDtls);
    }
    String userId = CapSecurityContext.getUserId();
    if(userId.length()>6)userId = userId.substring(0,6);
    ftItm.setUpdater(userId);
    ftItm.setUpdateTime(CapDate.getCurrentTimestamp());
    factorMntService.saveDivFtItm(ftItm);
    if(!delFtDtl.isEmpty())
      factorMntService.deleteFtDtlByList(delFtDtl);
    result.set(Constants.AJAX_NOTIFY_MESSAGE, CapAppContext.getMessage("factorMntPage.0002"));
    return result;
  }

  /**
   * delete Division Factor Item and Detail
   * @param request request
   * @return IResult
   */
  public IResult delete(IRequest request) {
    AjaxFormResult result = new AjaxFormResult();
    factorMntService.deleteById(request.get("oid"));
    result.set(Constants.AJAX_NOTIFY_MESSAGE, CapAppContext.getMessage("factorMntPage.0003"));
    return result;
  }

  public IResult insertTestCases(IRequest request) {
    AjaxFormResult result = new AjaxFormResult();
    factorMntService.insertTestCaseInfoData();
    return result;
  }

}
TOP

Related Classes of com.iisigroup.cap.rule.handler.FactorMntHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.