package jp.or.jacic.ct.cbo.feo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import jp.or.jacic.ct.cbo.form.SCCBO0310Form;
import jp.or.jacic.ct.cbo.util.Constants;
import jp.or.jacic.ct.cbo.util.RatingUtil;
import jp.or.jacic.ct.common.base.FormEdit;
import jp.or.jacic.ct.common.util.CodeUtil;
import jp.or.jacic.ct.dto.TBK2011;
import jp.or.jacic.ct.vo.StatusItem;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMessages;
/**
*
* 画面に表示するために、処理状況確認フォーム(SCCBO0310Form)の編集を行うクラスである。
*
* @author Hitachi Information Systems CO., LTD
* @version 1.00
*
*/
public class SCCBO0310FormEdit implements FormEdit{
/**
* 処理状況確認フォーム(sccbo0310Form)編集する。
*
* @param actionForm 編集対象となるフォーム
* @param messages エラーメッセージを格納するオブジェクト
* @param obj 編集元となるオブジェクト
* @param nextForm 編集対象となるフォーム
*/
public void execute(ActionForm actionform, ActionForm nextForm, Object obj,
ActionMessages actionMessage) {
//処理開始日時の宣言
String processStartDate = null;
//処理完了日時の宣言
String processEndDate = null;
// nextFormの取得
SCCBO0310Form sccbo0310Form = (SCCBO0310Form) nextForm;
// Listオブジェクト"tbk2011DtoList"を宣言する。
List<TBK2011> tbk2011DtoList = (List<TBK2011>) obj;
//Listオブジェクト"scrollableResults"を宣言する。
List<StatusItem> scrollableResults = new ArrayList<StatusItem>();
for (int i = 0; i < tbk2011DtoList.size(); i++){
//tbk2011 の取得
TBK2011 tbk2011 = (TBK2011) tbk2011DtoList.get(i);
StatusItem statusItem = new StatusItem();
//処理状況の設定
statusItem.setProcessStatus(CodeUtil.getLabel(Constants.CDAC8010,
tbk2011.getProcessStatus().trim()));
statusItem.setProcessStatusCode(tbk2011.getProcessStatus().trim());
//処理種別の設定
statusItem.setProcessType(CodeUtil.getLabel(Constants.CDAC8011,
tbk2011.getProcessType().trim()));
//処理開始日時の処理
processStartDate =
RatingUtil.formatDateTime(tbk2011.getProcessStartDate());
statusItem.setProcessStartDate(processStartDate);
//処理完了日時の処理
processEndDate =
RatingUtil.formatDateTime(tbk2011.getProcessEndDate());
statusItem.setProcessEndDate(processEndDate);
//処理対象件数の設定
if(Constants.DASH.equals(tbk2011.getCount())){
//処理対象件数が"ー"の場合
statusItem.setCount(Constants.DASH);
} else{
//処理件数が"-"以外の場合
statusItem.setCount( tbk2011.getCount() + Constants.KEN);
}
//未使用評定点の設定
if(tbk2011.getUnusedRatingPoint() == null){
// 未使用評定点"true"を設定する。
statusItem.setUnusedRatingPointDivision(false);
} else {
// 未使用評定点"false"を設定する。
statusItem.setUnusedRatingPointDivision(true);
}
statusItem.setProcessNumber(tbk2011.getProcessNumber());
statusItem.setProcessComment(tbk2011.getProcessComment());
//scrollableResultsの取得
scrollableResults.add(statusItem);
}
sccbo0310Form.setStatusList(scrollableResults);
}
}