Package com.iisigroup.cap.base.handler

Source Code of com.iisigroup.cap.base.handler.RemindHandler

/*
* RemindHandler.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.base.handler;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.iisigroup.cap.annotation.HandlerType;
import com.iisigroup.cap.annotation.HandlerType.HandlerTypeEnum;
import com.iisigroup.cap.base.formatter.CodeTypeFormatter;
import com.iisigroup.cap.base.model.Remind;
import com.iisigroup.cap.base.model.Reminds;
import com.iisigroup.cap.base.service.CodeTypeService;
import com.iisigroup.cap.component.IRequest;
import com.iisigroup.cap.dao.utils.ISearch;
import com.iisigroup.cap.dao.utils.SearchMode;
import com.iisigroup.cap.exception.CapException;
import com.iisigroup.cap.exception.CapMessageException;
import com.iisigroup.cap.formatter.ADDateFormatter;
import com.iisigroup.cap.formatter.ADDateTimeFormatter;
import com.iisigroup.cap.formatter.IFormatter;
import com.iisigroup.cap.handler.MFormHandler;
import com.iisigroup.cap.jpa.utils.CapEntityUtil;
import com.iisigroup.cap.model.Page;
import com.iisigroup.cap.operation.simple.SimpleContextHolder;
import com.iisigroup.cap.response.AjaxFormResult;
import com.iisigroup.cap.response.GridResult;
import com.iisigroup.cap.response.IResult;
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.CapMath;
import com.iisigroup.cap.utils.CapString;
import com.iisigroup.cap.utils.CapWebUtil;

/**
* <pre>
* 提醒通知
* </pre>
*
* @since 2014/2/1
* @author tammy
* @version <ul>
*          <li>2014/2/1,tammy,new
*          </ul>
*/
@Scope("request")
@Controller("remindhandler")
public class RemindHandler extends MFormHandler {

  @Resource
  private ICommonService commonSrv;

  @Autowired
  private CodeTypeService codeTypeService;

  @HandlerType(HandlerTypeEnum.GRID)
  public GridResult query(ISearch search, IRequest params) {
    Map<String, IFormatter> fmt = new HashMap<String, IFormatter>();

    Page<Remind> page = commonSrv.findPage(Remind.class, search);
    return new GridResult(page.getContent(), page.getTotalRow(), fmt);
  }// ;

  @HandlerType(HandlerTypeEnum.GRID)
  public GridResult queryDetail(ISearch search, IRequest params) {

    String pid = params.get("oid");
    if (CapString.isEmpty(pid)) {
      return null;
    }
    search.addSearchModeParameters(SearchMode.EQUALS, "pid", pid);

    Map<String, IFormatter> fmt = new HashMap<String, IFormatter>();
    fmt.put("styleTyp", new CodeTypeFormatter(codeTypeService, "styleTyp"));
    fmt.put("unit", new CodeTypeFormatter(codeTypeService, "unitMins"));

    Page<Reminds> page = commonSrv.findPage(Reminds.class, search);
    return new GridResult(page.getContent(), page.getTotalRow(), fmt);
  }// ;

  public IResult queryForm(IRequest request) {
    AjaxFormResult result = new AjaxFormResult();
    String oid = request.get("oid");
    Remind remind = null;

    if (!CapString.isEmpty(oid)) {
      remind = commonSrv.findById(Remind.class, oid);
    }

    if (remind != null) {
      Map<String, IFormatter> fmt = new HashMap<String, IFormatter>();
      fmt.put("startDate", new ADDateFormatter());
      fmt.put("endDate", new ADDateFormatter());

      result.set("startTime", new ADDateTimeFormatter("HH:mm")
          .reformat(remind.getStartDate()));
      result.set("endTime", new ADDateTimeFormatter("HH:mm")
          .reformat(remind.getEndDate()));
      result.putAll(new AjaxFormResult(remind.toJSONObject(
          CapEntityUtil.getColumnName(remind), fmt)));
    }

    return result;
  }

  /**
   * 編輯資料
   *
   * @param request
   *            IRequest
   * @return {@link tw.com.iisi.cap.response.IResult}
   * @throws CapException
   */
  public IResult save(IRequest request) {
    AjaxFormResult result = new AjaxFormResult();
    String oid = request.get("oid");
    Remind remind = null;

    if (!CapString.isEmpty(oid)) {
      remind = commonSrv.findById(Remind.class, oid);
    }
    if (remind == null) {
      remind = new Remind();
      remind.setCrTime(CapDate.getCurrentTimestamp());
    }
    String startDate = request.get("startDate");
    String startTime = request.get("startTime");
    if (CapString.isEmpty(startTime)) {
      startTime = "00:00:00";
    } else {
      startTime = startTime + ":00";
    }
    request.put("startDate", startDate + " " + startTime);
    String endDate = request.get("endDate");
    String endTime = request.get("endTime");
    if (CapString.isEmpty(endTime)) {
      endTime = "00:00:00";
    } else {
      endTime = endTime + ":00";
    }
    request.put("endDate", endDate + " " + endTime);

    CapBeanUtil.map2Bean(request, remind, Remind.class);
    remind.setUpdater(CapSecurityContext.getUserId());
    remind.setUpdTime(CapDate.getCurrentTimestamp());
    remind.setLocale(SimpleContextHolder.get(CapWebUtil.localeKey)
        .toString());

    commonSrv.save(remind);

    result.putAll(new AjaxFormResult(remind.toJSONObject(
        CapEntityUtil.getColumnName(remind), null)));
    return result;
  }

  /**
   * 新增通知方式
   *
   * @param request
   *            IRequest
   * @return {@link tw.com.iisi.cap.response.IResult}
   * @throws CapException
   */
  public IResult saveDetail(IRequest request) {
    AjaxFormResult result = new AjaxFormResult();
    String pid = request.get("pid");
    Remind remind = null;

    if (!CapString.isEmpty(pid)) {
      remind = commonSrv.findById(Remind.class, pid);
    }
    if (remind == null) {
      throw new CapMessageException(
          CapAppContext.getMessage("EXCUE_ERROR"),
          RemindHandler.class);
    }
    Reminds reminds = new Reminds();
    reminds.setPid(pid);
    reminds.setScopePid(remind.getScopePid());
    reminds.setStyle(CapMath.getBigDecimal(request.get("style")));
    reminds.setStyleTyp(request.get("styleTyp"));
    reminds.setUnit(CapMath.getBigDecimal(request.get("unit")));
    reminds.setYnFlag("0");

    commonSrv.save(reminds);

    return result;
  }

  /**
   * 刪除資料
   *
   * @param request
   *            IRequest
   * @return {@link tw.com.iisi.cap.response.IResult}
   * @throws CapException
   */
  public IResult delete(IRequest request) {
    AjaxFormResult result = new AjaxFormResult();
    String oid = request.get("oid");
    if (CapString.isEmpty(oid)) {
      throw new CapMessageException(
          CapAppContext.getMessage("EXCUE_ERROR"),
          RemindHandler.class);
    }
    Remind remind = commonSrv.findById(Remind.class, oid);
    if (remind != null) {
      commonSrv.delete(remind);
    }
    return result;
  }

  /**
   * 刪除資料
   *
   * @param request
   *            IRequest
   * @return {@link tw.com.iisi.cap.response.IResult}
   * @throws CapException
   */
  public IResult deleteDetail(IRequest request) {
    AjaxFormResult result = new AjaxFormResult();
    String[] oids = (String[]) request.getParamsAsStringArray("oids");
    List<Reminds> models = new ArrayList<Reminds>();

    if (oids == null) {
      throw new CapMessageException(
          CapAppContext.getMessage("EXCUE_ERROR"),
          RemindHandler.class);
    }
    for (String oid : oids) {
      Reminds reminds = commonSrv.findById(Reminds.class, oid);
      if (reminds != null) {
        models.add(reminds);
      }
    }
    commonSrv.delete(models);

    return result;
  }

}
TOP

Related Classes of com.iisigroup.cap.base.handler.RemindHandler

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.