日本华人论坛 程序编写7
日本 - package jp.co.ji.jbaas.util.gamen.ota;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Base64;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import com.fasterxml.jackson.core.type.TypeReference;
import jp.co.ji.jbaas.Config;
import jp.co.ji.jbaas.LogicMap;
import jp.co.ji.jbaas.common.CodeConst;
import jp.co.ji.jbaas.common.CommonConstant;
import jp.co.ji.jbaas.common.MapKeyConst;
import jp.co.ji.jbaas.context.RequestContext;
import jp.co.ji.jbaas.dao.CommonDAO;
import jp.co.ji.jbaas.dao.DAOFactory;
import jp.co.ji.jbaas.logic.ILogic;
import jp.co.ji.jbaas.logic.database.basic.UDCT00790B03Logic;
import jp.co.ji.jbaas.util.common.ConvertUtil;
import jp.co.ji.jbaas.util.common.DateUtil;
import jp.co.ji.jbaas.util.common.LogicUtil;
import jp.co.ji.jbaas.util.common.MapUtil;
import jp.co.ji.jbaas.util.common.StringUtil;
import jp.co.ji.model.fusss.common.TUploadshorui;
import jp.co.ji.model.fusss.common.TUploadshoruiExample;
import jp.co.ji.model.fusss.common.TUploadshoruiKey;
import jp.co.ji.model.fusss.ota.TKeiyakukessaijoho;
import jp.co.ji.model.fusss.ota.TKeiyakukessaijohoExample;
import jp.co.ji.model.fusss.ota.TKeiyakushorui;
import jp.co.ji.model.fusss.ota.TKeiyakushoruiExample;
import jp.co.ji.model.fusss.ota.TKeiyakushoruiKey;
import jp.co.ji.model.fusss.ota.TKeiyakushoruimeisai;
import jp.co.ji.model.fusss.ota.TKeiyakushoruimeisaiExample;
import jp.co.ji.model.fusss.ota.TKeiyakushoruimeisaiKey;
import jp.co.ji.model.fusss.ota.TKeiyakushosai;
/**
* upload共通ユーティリティ
*
* @author NSD
*
*/
public final class UploadCommonUtil extends MapUtil {
/**
* ログの定義
*/
private static Logger logger = Logger.getLogger(UploadCommonUtil.class);
//======================================================
// 業務関連
//======================================================
/**
* アップロード書類一覧取得
* @param keiyakuShoNo 契約証番号
* @param sosaNO 操作番号
* @return アップロード書類情報
* @throws Exception
*/
public static List<TUploadshorui> selectUploadshorui(String keiyakuShoNo, Long sosaNO)
throws Exception {
TUploadshoruiExample example = new TUploadshoruiExample();
// TUploadshoruiExample.Criteria criteria = example.createCriteria();
// criteria.andKeiyakuShoNOEqualTo(keiyakuShoNo);
// criteria.andSosaNOEqualTo(sosaNO);
List<TUploadshorui> list =
DAOFactory.getDAO(DAOFactory.FUSSS).selectList("jp.co.ji.sql.basic.fusss.ota.TUploadshoruiMapper.selectByExample", example);
return list;
}
/**
* 契約書類情報を取得
*
* @param keiyakuShoNo 契約証番号
* @param sosaNO 操作番号
* @param shoruiCd 書類コード
* @param hihokenshaNo 被保険者番号
* @return 契約書類情報
* @throws Exception
*/
public static List<TKeiyakushorui> selectKeiyakushoruiList(String keiyakuShoNo, Long sosaNO, String shoruiCd, Integer hihokenshaNo)
throws Exception {
TKeiyakushoruiExample example = new TKeiyakushoruiExample();
TKeiyakushoruiExample.Criteria criteria = example.createCriteria();
criteria.andKeiyakuShoNOEqualTo(keiyakuShoNo);
criteria.andSosaNOEqualTo(sosaNO);
if (StringUtil.isNotEmpty(shoruiCd)) {
criteria.andShoruiCDEqualTo(shoruiCd);
}
if (hihokenshaNo != null) {
criteria.andHihokenshaNOEqualTo(hihokenshaNo);
}
List<TKeiyakushorui> list =
DAOFactory.getDAO(DAOFactory.FUSSS).selectList("jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruiMapper.selectByExample", example);
return list;
}
/**
* 主キーにより契約書類を検索
*
* @param key 契約書類テーブルBean
* @return resultBean 結果Bean
* @throws Exception
*/
public static TKeiyakushorui selectKeiyakushorui(TKeiyakushoruiKey key)
throws Exception {
CommonDAO dao = DAOFactory.getDAO(DAOFactory.FUSSS);
TKeiyakushorui keiyakushorui = dao.selectOne(
"jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruiMapper.selectByPrimaryKey", key);
return keiyakushorui;
}
/**
* 契約書類テーブルを更新
*
* @param keiyakushorui 契約書類
* @return 更新件数
* @throws Exception
*/
public static int updateKeiyakushorui(TKeiyakushorui keiyakushorui)
throws Exception {
CommonDAO dao = DAOFactory.getDAO(DAOFactory.FUSSS);
int updatedCount = dao.update(
"jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruiMapper.updateByPrimaryKeySelective", keiyakushorui);
if (updatedCount == 0) {
logger.error("契約書類更新レコードが見つかりませんでした!");
}
return updatedCount;
}
/**
* アップロード書類登録
* @param shoruiList アップロード書類情報
* @return 更新後書類リスト
* @throws Exception
*/
public static List<TUploadshorui> insertUploadShorui(List<TUploadshorui> shoruiList)
throws Exception {
// アップロード書類
final ILogic logic = LogicMap.getLogic(LogicUtil.getLogicKeyByClass(UDCT00790B03Logic.class));
List<Map<String, String>> localParamMap = ConvertUtil.convertToMapList(shoruiList);
Map<String, Object> logicResultMap = new HashMap<String, Object>();
LogicUtil.executeLogicSetResultMap(logic, localParamMap, logicResultMap);
// 登録情報
final List<TUploadshorui> outShoruiList =
ConvertUtil.convert(localParamMap,
new TypeReference<List<TUploadshorui>>() {
});
return outShoruiList;
}
/**
* 契約_書類明細登録
*
* @param keiyakushoruimeisai 契約書類明細
* @return 更新件数
* @throws Exception
*/
public static int insertKeiyakushoruimeisai(TKeiyakushoruimeisai keiyakushoruimeisai)
throws Exception {
CommonDAO dao = DAOFactory.getDAO(DAOFactory.FUSSS);
int insertCount = dao.insert(
"jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruimeisaiMapper.insert", keiyakushoruimeisai);
return insertCount;
}
/**
* アップロード必要書類の取得
* @param formMap フォームマップ
* @param keiyakushoNo 契約証番号
* @param sosaNo 操作番号
* @param systemCd システムコード
* @throws Exception
*/
public static void setUploadHitsuyouSyoruiList(Map<String, Object> formMap, String keiyakushoNo, String sosaNo, String systemCd)
throws Exception {
List<Map<String, Object>> list = DAOFactory.getDAO(DAOFactory.FUSSS).selectList(
"jp.co.ji.sql.custom.fusss.ota.BA110UploadSelectMapper.uploadHitsuyouSyoruiList",
new HashMap<String, Object>() {
{
put(MapKeyConst.KEIYAKUSHONO_DB, keiyakushoNo);
put(MapKeyConst.SOSANO_DB, sosaNo);
put(MapKeyConst.SYSTEMCD_DB, systemCd);
}
});
formMap.put("uploadHitsuyouSyoruiList", list);
}
/**
* アップロード書類一覧の取得
* @param formMap フォームマップ
* @param keiyakushoNo 契約証番号
* @param sosaNo 操作番号
* @throws Exception
*/
public static void setUploadSyoruiList(Map<String, Object> formMap, String keiyakushoNo, String sosaNo) throws Exception {
List<Map<String, Object>> list = DAOFactory.getDAO(DAOFactory.FUSSS).selectList(
"jp.co.ji.sql.custom.fusss.ota.BA110UploadSelectMapper.uploadSyoruiList",
new HashMap<String, Object>() {
{
put(MapKeyConst.KEIYAKUSHONO_DB, keiyakushoNo);
put(MapKeyConst.SOSANO_DB, sosaNo);
}
});
formMap.put("uploadSyoruiList", list);
}
/**
* アップロード書類一覧(必要書類以外)の取得
* @param formMap フォームマップ
* @param keiyakushoNo 契約証番号
* @param sosaNo 操作番号
* @throws Exception
*/
public static void setUploadSyoruiHitsuyouIgaiList(Map<String, Object> formMap, String keiyakushoNo, String sosaNo) throws Exception {
List<Map<String, Object>> list = DAOFactory.getDAO(DAOFactory.FUSSS).selectList(
"jp.co.ji.sql.custom.fusss.ota.BA110UploadSelectMapper.uploadSyoruiHitsuyouIgaiList",
new HashMap<String, Object>() {
{
put(MapKeyConst.KEIYAKUSHONO_DB, keiyakushoNo);
put(MapKeyConst.SOSANO_DB, sosaNo);
}
});
formMap.put("uploadSyoruiHitsuyouIgaiList", list);
}
/**
* アップロード履歴の取得
* @param formMap フォームマップ
* @param keiyakushoNo 契約証番号
* @param sosaNo 操作番号
* @throws Exception
*/
public static void setUploadRirekiList(Map<String, Object> formMap, String keiyakushoNo, String sosaNo) throws Exception {
List<Map<String, Object>> list = DAOFactory.getDAO(DAOFactory.FUSSS).selectList(
"jp.co.ji.sql.custom.fusss.ota.BA110UploadSelectMapper.uploadRirekiList",
new HashMap<String, Object>() {
{
put(MapKeyConst.KEIYAKUSHONO_DB, keiyakushoNo);
put(MapKeyConst.SOSANO_DB, sosaNo);
}
});
formMap.put("uploadRirekiList", list);
}
/**
* 書類情報登録
* @param formMap フォーム
* @param isShinki 新規アップロード:true、修正:false
* @throws Exception
*/
public static void insertShoruiInfo(Map<String, Object> formMap, boolean isShinki) throws Exception {
// フォーム情報から取得契約詳細
final TKeiyakushosai keiyakuShosai = ConvertUtil.convert(formMap.get(MapKeyConst.MKSHOSAI),
new TypeReference<TKeiyakushosai>() {
});
List<TUploadshorui> shoruiList = new ArrayList<TUploadshorui>();
// ファイルアップロードリスト
List<Map<String, Object>> uplaodList = getMapValue("fileInfoList", formMap);
for (Map<String, Object> uplaod : uplaodList) {
TUploadshorui shorui = new TUploadshorui();
// クライアントファイル名
String clientFileName = getString("clientFileName", uplaod);
// ファイル(バイナリ)
String fileBinary = getString("fileBinary", uplaod);
// システム日付
String sysDateStr = DateUtil.dateToString(DateUtil.now(), DateUtil.YYYYMMDDHHMMSSSSS);
// 拡張子
String extension = clientFileName.substring(clientFileName.lastIndexOf("."));
// 保存先ディレクトリ
String path = Config.getParameter(Config.UPLOAD_SHORUI_PATH);
// サーバ保存ファイル名
String serverFileName = path + keiyakuShosai.getKeiyakuShoNO() + "_"
+ keiyakuShosai.getSosaNO() + "_" + sysDateStr + extension;
shorui.setClientGawaFileMei(clientFileName);
shorui.setUploadFileMei(serverFileName);
shorui.setLineCD(CodeConst.LineCd.ATTEND);
shorui.setUploadShoruiTsuban(Long.parseLong(sysDateStr));
shoruiList.add(shorui);
// ファイル保存
UploadCommonUtil.writeBytesToFile(fileBinary, serverFileName);
}
// 書類アップロード登録
UploadCommonUtil.insertUploadShorui(shoruiList);
// 被保険者選択リスト
List<Map<String, Object>> hihokenshaList = getMapValue("selectKeiyakuHihokenshaList", formMap);
String sysDateStr = "";
if (isShinki) {
sysDateStr = DateUtil.dateToString(DateUtil.now(), DateUtil.YYYYMMDDHHMMSSSSS);
} else {
sysDateStr = getString("modifyTsuban", formMap);
}
for (TUploadshorui bean : shoruiList) {
int hihokenshaCnt = 0;
// アップロードされた書類分処理を行う
for (Map<String, Object> hihokenshaMap : hihokenshaList) {
// 選択された被保険者分、契約書類明細へ登録を行う
if (getMapValue("sentakuFlg", hihokenshaMap) != null && getMapValue("sentakuFlg", hihokenshaMap).equals("on")) {
TKeiyakushoruimeisai keiyakuMeisai = new TKeiyakushoruimeisai();
keiyakuMeisai.setKeiyakuShoNO(keiyakuShosai.getKeiyakuShoNO());
keiyakuMeisai.setSosaNO(keiyakuShosai.getSosaNO());
keiyakuMeisai.setShoruiCD(getMapValue("selectShoruiCd", formMap));
keiyakuMeisai.setShoruiHyojiMeisho(getMapValue("shoruiHyojiMeisho", formMap));
keiyakuMeisai.setHihokenshaNO(getInteger("hihokenshaNO", hihokenshaMap));
keiyakuMeisai.setUploadShoruiTsuban(bean.getUploadShoruiTsuban());
keiyakuMeisai.setDojiUploadTsuban(Long.parseLong(sysDateStr));
keiyakuMeisai.setKakuninKBN("1");
keiyakuMeisai.setShoruiUploadDate(DateUtil.now());
keiyakuMeisai.setShoruiUploadTantosha((String) RequestContext.getUserInfo().get("userName"));
keiyakuMeisai.setTokkiJiko(getMapValue("tokkiJiko", formMap));
UploadCommonUtil.insertKeiyakushoruimeisai(keiyakuMeisai);
// 必要書類の場合に契約書類を更新
if (!"00".equals(getString("selectShoruiCd", formMap))) {
TKeiyakushoruiKey key = new TKeiyakushoruiKey();
key.setKeiyakuShoNO(keiyakuShosai.getKeiyakuShoNO());
key.setSosaNO(keiyakuShosai.getSosaNO());
key.setShoruiCD(getMapValue("selectShoruiCd", formMap));
key.setHihokenshaNO(getInteger("hihokenshaNO", hihokenshaMap));
TKeiyakushorui keiyakuShorui = selectKeiyakushorui(key);
// 確認区分:1(未確認)
keiyakuShorui.setKakuninKBN("1");
// 契約書類更新
UploadCommonUtil.updateKeiyakushorui(keiyakuShorui);
}
hihokenshaCnt++;
}
}
// 被保険者が選択されていない場合、必要書類以外のアップロード
// 被保険者番号をintのMAX値に設定
if (hihokenshaCnt == 0) {
TKeiyakushoruimeisai keiyakuMeisai = new TKeiyakushoruimeisai();
keiyakuMeisai.setKeiyakuShoNO(keiyakuShosai.getKeiyakuShoNO());
keiyakuMeisai.setSosaNO(keiyakuShosai.getSosaNO());
keiyakuMeisai.setShoruiCD(getMapValue("selectShoruiCd", formMap));
keiyakuMeisai.setShoruiHyojiMeisho(getMapValue("shoruiHyojiMeisho", formMap));
keiyakuMeisai.setHihokenshaNO(Integer.MAX_VALUE);
keiyakuMeisai.setUploadShoruiTsuban(bean.getUploadShoruiTsuban());
keiyakuMeisai.setDojiUploadTsuban(Long.parseLong(sysDateStr));
keiyakuMeisai.setKakuninKBN("1");
keiyakuMeisai.setShoruiUploadDate(DateUtil.now());
keiyakuMeisai.setShoruiUploadTantosha((String) RequestContext.getUserInfo().get("userName"));
keiyakuMeisai.setTokkiJiko(getMapValue("tokkiJiko", formMap));
UploadCommonUtil.insertKeiyakushoruimeisai(keiyakuMeisai);
}
}
}
/**
* 確認完了【JI】
* @param formMap フォーム
* @throws Exception
*/
public static void kakuninKanryoJi(Map<String, Object> formMap) throws Exception {
String hitsuyouShoruiFlg = getMapValue("hitsuyouShoruiFlg", formMap);
String key = "";
if (hitsuyouShoruiFlg.equals(CommonConstant.FLAG_ON)) {
// 必要書類
key = "uploadSyoruiDispList";
} else {
// 必要書類以外
key = "uploadSyoruiHitsuyouIgaiDispList";
}
List<Map<String, Object>> uploadSyoruiDispList = getMapValue(key, formMap);
for (Map<String, Object> uploadSyoruiMap : uploadSyoruiDispList) {
// チェックボックスONの場合
if (StringUtil.isNotEmpty(getMapValue("checkType", uploadSyoruiMap))) {
// 契約書類明細から更新対象を取得
List<TKeiyakushoruimeisai> list = selectKeiyakushoruimeisaiListForDojitsuban(getLong("dojiUploadTsuban", uploadSyoruiMap));
for (TKeiyakushoruimeisai bean : list) {
// 確認済み
bean.setKakuninKBN("2");
bean.setShoruiKakuninDate(DateUtil.now());
bean.setShoruiKakuninTantosha((String) RequestContext.getUserInfo().get("userName"));
updateKeiyakushoruimeisai(bean);
}
}
}
}
/**
* ファイル保存
* @param fileEncodeStr フォームエンコード文字列
* @param fileDest 保存先ファイル名(フルパス)
* @throws Exception
*/
public static void writeBytesToFile(String fileEncodeStr, String fileDest) throws Exception {
byte[] bFile = Base64.getDecoder().decode(fileEncodeStr);
try (FileOutputStream fileOuputStream = new FileOutputStream(fileDest)) {
fileOuputStream.write(bFile);
} catch (IOException e) {
throw e;
}
}
/**
* 履歴情報削除
* @param formMap フォーム
* @throws Exception
*/
public static void deleteRireki(Map<String, Object> formMap) throws Exception {
List<Map<String, Object>> uploadSyoruiDispList = getMapValue("uploadRirekiDispList", formMap);
for (Map<String, Object> uploadSyoruiMap : uploadSyoruiDispList) {
// チェックボックスONの場合
if (StringUtil.isNotEmpty(getMapValue("checkType", uploadSyoruiMap))) {
// 契約書類明細から更新対象を取得
List<TKeiyakushoruimeisai> list = selectKeiyakushoruimeisaiListForDojitsuban(getLong("dojiUploadTsuban", uploadSyoruiMap));
for (TKeiyakushoruimeisai bean : list) {
// 削除済み
bean.setKakuninKBN("4");
bean.setShoruiSakujoDate(DateUtil.now());
bean.setShoruiSakujoTantosha((String) RequestContext.getUserInfo().get("userName"));
updateKeiyakushoruimeisai(bean);
// 書類削除
TUploadshoruiKey key = new TUploadshorui();
key.setUploadShoruiTsuban(bean.getUploadShoruiTsuban());
TUploadshorui shorui = selectUploadShorui(key);
deleteFile(shorui.getUploadFileMei());
}
}
}
}
/**
* 書類情報削除
* @param formMap フォーム
* @throws Exception
*/
public static void deleteShoruiInfo(Map<String, Object> formMap) throws Exception {
// 前回アップロードリスト
List<Map<String, Object>> zenkaiUploadList = getMapValue("zenkaiUploadList", formMap);
for (Map<String, Object> beanMap : zenkaiUploadList) {
// 削除対象の場合
if (CommonConstant.FLAG_ON.equals(getString("deleteFlg", beanMap))) {
// 書類明細取得
List<TKeiyakushoruimeisai> list = selectKeiyakushoruimeisaiList(getLong("uploadShoruiTsuban", beanMap));
for (TKeiyakushoruimeisai bean : list) {
// 書類明細削除
deleteKeiyakuShoruimeisai(bean);
TUploadshoruiKey shorui = new TUploadshoruiKey();
shorui.setUploadShoruiTsuban(bean.getUploadShoruiTsuban());
// アップロード書類削除
int cnt = deleteUploadShorui(shorui);
// 削除されたらファイルも削除
if (cnt > 0) {
deleteFile(getString("uploadFileMei", beanMap));
}
}
}
}
}
/**
* 書類情報紐付き解除
* @param formMap フォーム
* @throws Exception
*/
public static void kaijoShoruiInfo(Map<String, Object> formMap) throws Exception {
// 同時通番単位で契約書類を取得
List<TKeiyakushoruimeisai> list = selectKeiyakushoruimeisaiListForDojitsuban(getLong("modifyTsuban", formMap));
// 被保険者選択リスト
List<Map<String, Object>> hihokenshaList = getMapValue("selectKeiyakuHihokenshaList", formMap);
// 選択リストループ
for (Map<String, Object> hihokenshaMap : hihokenshaList) {
if (getMapValue("sentakuFlg", hihokenshaMap) == null || getMapValue("sentakuFlg", hihokenshaMap).equals("")) {
// 未選択
for (TKeiyakushoruimeisai bean : list) {
// 契約書類明細に存在する被保険者は削除する
if (bean.getHihokenshaNO().toString().equals(getString("hihokenshaNO", hihokenshaMap))) {
deleteKeiyakuShoruimeisai(bean);
break;
}
}
} else {
boolean isExist = false;
// 選択されていてる場合
for (TKeiyakushoruimeisai bean : list) {
// 契約書類明細に存在する場合は更新する
if (bean.getHihokenshaNO().toString().equals(getString("hihokenshaNO", hihokenshaMap))) {
bean.setShoruiHyojiMeisho(getMapValue("shoruiHyojiMeisho", formMap));
bean.setTokkiJiko(getMapValue("tokkiJiko", formMap));
bean.setKakuninKBN("1");
updateKeiyakushoruimeisai(bean);
isExist = true;
break;
}
}
// 契約書類明細に存在しない場合は新規登録を行う
if (!isExist) {
TKeiyakushoruimeisai bean = list.get(0);
TKeiyakushoruimeisai toroku = new TKeiyakushoruimeisai();
toroku.setKeiyakuShoNO(bean.getKeiyakuShoNO());
toroku.setSosaNO(bean.getSosaNO());
toroku.setShoruiCD(bean.getShoruiCD());
toroku.setShoruiHyojiMeisho(bean.getShoruiHyojiMeisho());
toroku.setHihokenshaNO(getInteger("hihokenshaNO", hihokenshaMap));
toroku.setUploadShoruiTsuban(bean.getUploadShoruiTsuban());
toroku.setDojiUploadTsuban(bean.getDojiUploadTsuban());
toroku.setKakuninKBN("1");
toroku.setShoruiUploadDate(bean.getShoruiUploadDate());
toroku.setTokkiJiko(bean.getTokkiJiko());
insertKeiyakushoruimeisai(toroku);
}
}
}
}
/**
* アップロード書類明細取得
* @param keiyakuShoruiMeisai アップロード書類明細
* @return アップロード書類明細
* @throws Exception
*/
public static List<TKeiyakushoruimeisai> selectKeiyakushoruimeisaByKey(TKeiyakushoruimeisai keiyakuShoruiMeisai)
throws Exception {
TKeiyakushoruimeisaiExample example = new TKeiyakushoruimeisaiExample();
TKeiyakushoruimeisaiExample.Criteria criteria = example.createCriteria();
criteria.andKeiyakuShoNOEqualTo(keiyakuShoruiMeisai.getKeiyakuShoNO());
criteria.andSosaNOEqualTo(keiyakuShoruiMeisai.getSosaNO());
criteria.andShoruiCDEqualTo(keiyakuShoruiMeisai.getShoruiCD());
criteria.andHihokenshaNOEqualTo(keiyakuShoruiMeisai.getHihokenshaNO());
if (keiyakuShoruiMeisai.getUploadShoruiTsuban() != null) {
criteria.andUploadShoruiTsubanEqualTo(keiyakuShoruiMeisai.getUploadShoruiTsuban());
}
List<TKeiyakushoruimeisai> list =
DAOFactory.getDAO(DAOFactory.FUSSS).selectList("jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruimeisaiMapper.selectByExample", example);
return list;
}
/**
* アップロード書類明細取得
* @param keiyakuShoruiMeisai アップロード書類明細
* @return アップロード書類明細
* @throws Exception
*/
public static List<TKeiyakushoruimeisai> selectKeiyakushoruimeisai(TKeiyakushoruimeisai keiyakuShoruiMeisai)
throws Exception {
TKeiyakushoruimeisaiExample example = new TKeiyakushoruimeisaiExample();
TKeiyakushoruimeisaiExample.Criteria criteria = example.createCriteria();
criteria.andKeiyakuShoNOEqualTo(keiyakuShoruiMeisai.getKeiyakuShoNO());
criteria.andSosaNOEqualTo(keiyakuShoruiMeisai.getSosaNO());
List<TKeiyakushoruimeisai> list =
DAOFactory.getDAO(DAOFactory.FUSSS).selectList("jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruimeisaiMapper.selectByExample", example);
return list;
}
/**
* アップロード書類明細取得
* @param tsuban アップロード通番
* @return アップロード書類明細
* @throws Exception
*/
public static List<TKeiyakushoruimeisai> selectKeiyakushoruimeisaiList(Long tsuban)
throws Exception {
TKeiyakushoruimeisaiExample example = new TKeiyakushoruimeisaiExample();
TKeiyakushoruimeisaiExample.Criteria criteria = example.createCriteria();
criteria.andUploadShoruiTsubanEqualTo(tsuban);
List<TKeiyakushoruimeisai> list =
DAOFactory.getDAO(DAOFactory.FUSSS).selectList("jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruimeisaiMapper.selectByExample", example);
return list;
}
/**
* アップロード書類明細取得
* @param tsuban アップロード通番
* @return アップロード書類明細
* @throws Exception
*/
public static List<TKeiyakushoruimeisai> selectKeiyakushoruimeisaiListForDojitsuban(Long tsuban)
throws Exception {
TKeiyakushoruimeisaiExample example = new TKeiyakushoruimeisaiExample();
TKeiyakushoruimeisaiExample.Criteria criteria = example.createCriteria();
criteria.andDojiUploadTsubanEqualTo(tsuban);
List<TKeiyakushoruimeisai> list =
DAOFactory.getDAO(DAOFactory.FUSSS).selectList("jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruimeisaiMapper.selectByExample", example);
return list;
}
/**
* アップロード書類明細を更新
*
* @param bean アップロード書類明細
* @return 更新件数
* @throws Exception
*/
public static int updateKeiyakushoruimeisai(TKeiyakushoruimeisai bean)
throws Exception {
return DAOFactory.getDAO(DAOFactory.FUSSS).update(
"jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruimeisaiMapper.updateByPrimaryKeySelective", bean);
}
/**
* アップロード書類明細削除
* @param bean アップロード書類キー情報
* @return 削除件数
* @throws Exception
*/
public static int deleteKeiyakuShoruimeisai(TKeiyakushoruimeisaiKey bean)
throws Exception {
return DAOFactory.getDAO(DAOFactory.FUSSS).delete("jp.co.ji.sql.basic.fusss.ota.TKeiyakushoruimeisaiMapper.deleteByPrimaryKey", bean);
}
/**
* アップロード書類取得
* @param bean アップロード書類キー情報
* @return アップロード書類
* @throws Exception
*/
public static TUploadshorui selectUploadShorui(TUploadshoruiKey bean)
throws Exception {
return DAOFactory.getDAO(DAOFactory.FUSSS).selectOne("jp.co.ji.sql.basic.fusss.common.TUploadshoruiMapper.selectByPrimaryKey", bean);
}
/**
* アップロード書類削除
* @param bean アップロード書類キー情報
* @return 削除件数
* @throws Exception
*/
public static int deleteUploadShorui(TUploadshoruiKey bean)
throws Exception {
return DAOFactory.getDAO(DAOFactory.FUSSS).delete("jp.co.ji.sql.basic.fusss.common.TUploadshoruiMapper.deleteByPrimaryKey", bean);
}
/**
* ファイル削除
* @param filePath ファイルパス
* @throws Exception
*/
public static void deleteFile(String filePath)
throws Exception {
File file = new File(filePath);
if (file.exists()) {
file.delete();
}
}
/**
* 契約内容変更依頼
* @param formMap フォーム
* @param isDbToroku DB登録:true、form格納:false
* @throws Exception
*/
public static void keiyakunaiyoHenkoIrai(Map<String, Object> formMap, boolean isDbToroku) throws Exception {
// フォーム情報から取得契約詳細
final TKeiyakushosai keiyakuShosai = ConvertUtil.convert(formMap.get(MapKeyConst.MKSHOSAI),
new TypeReference<TKeiyakushosai>() {
});
// 異動可否リスト
List<Map<String, Object>> idokahiInfoList = getMapValue("idokahiInfoList", formMap);
// 書類明細保持用リスト
List<TKeiyakushoruimeisai> shoruiMeisaiListForSave = new ArrayList<TKeiyakushoruimeisai>();
// アップロード書類保持用リスト
List<TUploadshorui> shoruiListForSave = new ArrayList<TUploadshorui>();
for (Map<String, Object> idokahiInfo : idokahiInfoList) {
// アップロードしたファイルがなければ処理しない
List<Map<String, Object>> list = getMapValue("fileInfoList", idokahiInfo);
if (list.size() == 0) {
continue;
}
List<TKeiyakushoruimeisai> shoruiMeisaiList = ConvertUtil.convert(idokahiInfo.get("hihokenshaShoruiList"),
new TypeReference<List<TKeiyakushoruimeisai>>() {
});
List<Map<String, Object>> uplaodList = getMapValue("fileInfoList", idokahiInfo);
List<TUploadshorui> shoruiList = new ArrayList<TUploadshorui>();
for (Map<String, Object> uplaod : uplaodList) {
TUploadshorui shorui = new TUploadshorui();
// クライアントファイル名
String clientFileName = getString("clientFileName", uplaod);
// ファイル(バイナリ)
String fileBinary = getString("fileBinary", uplaod);
// システム日付(アップロード書類通番)
String sysDateStr = DateUtil.dateToString(DateUtil.now(), DateUtil.YYYYMMDDHHMMSSSSS);
// 拡張子
String extension = clientFileName.substring(clientFileName.lastIndexOf("."));
// 保存先ディレクトリ
String path = Config.getParameter(Config.UPLOAD_SHORUI_PATH);
// サーバ保存ファイル名
String serverFileName = path + keiyakuShosai.getKeiyakuShoNO() + "_"
+ keiyakuShosai.getSosaNO() + "_" + sysDateStr + extension;
shorui.setClientGawaFileMei(clientFileName);
shorui.setUploadFileMei(serverFileName);
shorui.setLineCD(CodeConst.LineCd.ATTEND);
shorui.setUploadShoruiTsuban(Long.parseLong(sysDateStr));
shoruiList.add(shorui);
if (!isDbToroku) {
shoruiListForSave.add(shorui);
}
// ファイル保存
UploadCommonUtil.writeBytesToFile(fileBinary, serverFileName);
for (TKeiyakushoruimeisai shoruiMeisai : shoruiMeisaiList) {
// 契約証番号
shoruiMeisai.setKeiyakuShoNO(keiyakuShosai.getKeiyakuShoNO());
// 操作番号
shoruiMeisai.setSosaNO(keiyakuShosai.getSosaNO());
// 確認区分
shoruiMeisai.setKakuninKBN("1");
// アップロード日時
shoruiMeisai.setShoruiUploadDate(DateUtil.now());
// アップロード通番
shoruiMeisai.setUploadShoruiTsuban(Long.parseLong(sysDateStr));
// 同時アップロード通番
shoruiMeisai.setDojiUploadTsuban(Long.parseLong(sysDateStr));
if (isDbToroku) {
UploadCommonUtil.insertKeiyakushoruimeisai(shoruiMeisai);
} else {
shoruiMeisaiListForSave.add(shoruiMeisai);
}
}
}
if (isDbToroku) {
// 書類アップロード登録
UploadCommonUtil.insertUploadShorui(shoruiList);
}
}
if (!isDbToroku) {
// 契約書類明細
formMap.put(MapKeyConst.MKKEIYAKUSHORUIMEISAILIST,
ConvertUtil.convertToMapList(shoruiMeisaiListForSave));
// アップロード書類
formMap.put(MapKeyConst.MKUPLOADSHORUILIST,
ConvertUtil.convertToMapList(shoruiListForSave));
}
}
/**
* ファイルがアップロードされたかを確認する
* @param formMap フォーム
* @return true:ファイルあり、false:ファイルなし
* @throws Exception
*/
public static boolean isUpload(Map<String, Object> formMap) throws Exception {
boolean rtn = true;
// ファイルアップロードリスト
List<Map<String, Object>> uplaodList = getMapValue("fileInfoList", formMap);
if (uplaodList.size() == 0) {
rtn = true;
}
return rtn;
}
/**
* 拡張子チェック
* @param formMap フォーム
* @return true:指定された拡張子、false:指定された拡張子以外
* @throws Exception
*/
public static boolean validateExtension(Map<String, Object> formMap) throws Exception {
boolean rtn = true;
// ファイルアップロードリスト
List<Map<String, Object>> uplaodList = getMapValue("fileInfoList", formMap);
// 比較対象拡張子
String[] fileExtension = getString("uploadFileExtension", formMap).split(",");
for (Map<String, Object> uplaod : uplaodList) {
// クライアントファイル名
String clientFileName = getString("clientFileName", uplaod);
String[] uploadFileExtension = clientFileName.split("\\.");
String tmpFileExtension = uploadFileExtension[uploadFileExtension.length - 1].toLowerCase();
if (uploadFileExtension.length < 2 || !Arrays.asList(fileExtension).contains(tmpFileExtension)) { // ファイル拡張子チェック
rtn = false;
break;
}
}
return rtn;
}
/**
* 契約決済情報を取得
*
* @param formMap フォームマップ
* @param keiyakuShoNo 契約証番号
* @param sosaNO 操作番号
* @throws Exception
*/
public static void setKeiyakukessaiList(Map<String, Object> formMap, String keiyakuShoNo, String sosaNO)
throws Exception {
TKeiyakukessaijohoExample example = new TKeiyakukessaijohoExample();
TKeiyakukessaijohoExample.Criteria criteria = example.createCriteria();
criteria.andKeiyakuShoNOEqualTo(keiyakuShoNo);
criteria.andSosaNOEqualTo(Long.parseLong(sosaNO));
List<TKeiyakukessaijoho> list =
DAOFactory.getDAO(DAOFactory.FUSSS).selectList("jp.co.ji.sql.basic.fusss.ota.TKeiyakukessaijohoMapper.selectByExample", example);
formMap.put("keiyakuKessaiJohoList", list);
}
/**
* 名簿ファイル保存
* @param formMap フォーム
* @return ファイルアップロード名のリスト
* @throws Exception
*/
public static List<Map<String, Object>> saveMeiboInfo(Map<String, Object> formMap) throws Exception {
// フォーム情報から取得契約詳細
final TKeiyakushosai keiyakuShosai = ConvertUtil.convert(formMap.get(MapKeyConst.MKSHOSAI),
new TypeReference<TKeiyakushosai>() {
});
// ファイルアップロードリスト
List<Map<String, Object>> uplaodList = getMapValue("fileInfoList", formMap);
// ファイル名リスト
List<Map<String, Object>> fileNameList = new ArrayList<Map<String, Object>>();
Map<String, Object> fileNameMap = new HashMap<String, Object>();
for (Map<String, Object> uplaod : uplaodList) {
// クライアントファイル名
String clientFileName = getString("clientFileName", uplaod);
// ファイル(バイナリ)
String fileBinary = getString("fileBinary", uplaod);
// システム日付
String sysDateStr = DateUtil.dateToString(DateUtil.now(), DateUtil.YYYYMMDDHHMMSSSSS);
// 拡張子
String extension = clientFileName.substring(clientFileName.lastIndexOf("."));
// ファイル名
String tourNO = "";
int index = 0;
if (clientFileName.contains("ルーミング")) {
index = clientFileName.indexOf("(");
tourNO = clientFileName.substring(0, index).replace("ルーミング", "");
}
// 保存先ディレクトリ
String path = Config.getParameter(Config.UPLOAD_SHORUI_PATH);
// サーバ保存ファイル名
String serverFileName = path + keiyakuShosai.getKeiyakuShoNO() + "_"
+ keiyakuShosai.getSosaNO() + "_" + sysDateStr + extension;
fileNameMap = new HashMap<String, Object>();
fileNameMap.put("fileName", keiyakuShosai.getKeiyakuShoNO() + "_" + keiyakuShosai.getSosaNO() + "_" + sysDateStr + extension);
fileNameMap.put("tourNO", tourNO);
fileNameList.add(fileNameMap);
// ファイル保存
UploadCommonUtil.writeBytesToFile(fileBinary, serverFileName);
}
return fileNameList;
}
}
日本 Japan
·日本中文新闻 唐田绘里香为新剧《极恶女王》剃光头 展现演员决心
·日本中文新闻 真子小室夫妇新居引发隐私担忧
·日本中文新闻 前AKB48成员柏木由纪与搞笑艺人交往曝光
·日本学校 {日本国际学校}梅田インターナショナルスクール
·日本学校 LINE:sm287 陳雨菲、20歳、台湾からの留学生、東京に来たばかり
·日本留学生活 出售平成22年走行48000km 代步小车
·日本华人网络交流 円相場 一時1ドル=140円台まで上昇?
·日本华人网络交流 问日本华人一个问题
·日本旅游代购 富山接机
·生活百科 英国转澳大利亚转换插头
·汽车 【求助】修车遇到困难怎么办?