月次締め済チェック

来源:互联网 发布:c语言原子锁编程 编辑:程序博客网 时间:2024/05/19 12:23

CM010AccDtCheck

HashMap<String,Object> result1 =ShipFixUPDAO.getChkNihudahakkouYmd(user.getCoNo(),dataValue);  
            //共通_基本設計(会計締め日チェック)を使用して、チェックを行う(戻り値はtrue/false)
            if(!CommonService.CM010AccDtCheck(user.getCoNo(),nihudahakkou_ymd,2)){
                //入力された日付けが締処理日以内かどうかチェックし、締め処理後の場合、エラーとする。
                vs_err_msg.append(Properties.getMsg("HA.ERROR.021",
                    new String[] { "荷札発行年月日" }, true));
                f_rlt = false;
            }

/*
    会計締め日チェック
  */
  function CM010AccDtCheck(
    wv_co_no          in number,    -- 会社NO
    wv_chk_date       in varchar2,  -- 設定日(yyyy/mm/dd)
    wv_chk_kbn        in number     -- チェック区分(1:会計締め 2:委託・メー直締め)
  ) return number                   -- 判定結果(0:OK/ 1:NG)
  is
      lv_kyoyouFrom M_EA001_COMP.NEXT_KAIKEI_YM%TYPE :='';
      lv_kyoyouTo varchar2(7):='';
      lv_chkYM varchar2(7):='';
      ln_mirai_month number:=0;
      ln_kyoyouFrom number:=0;
      ln_kyoyouTo number:=0;
      ln_chkYM number:=0;
  begin
      lv_kyoyouFrom := Common.getMEA001NextKaikeiYm(wv_co_no, wv_chk_kbn);
      -- 伝票年月 ← 引数.伝票日付(フォーマット:yyyy/mm/dd)から年月(yyyy/mm)を切り出す
      lv_chkYM := substr(wv_chk_date,1,7);
      -- 未来月期間 ← 管理マスタ.管理番号(管理No=831)※フォーマット:数値
      ln_mirai_month := Common.getKanriNum(831);
      
      lv_kyoyouTo := to_char(add_months(to_date(lv_kyoyouFrom ||'/01','yyyy/mm/dd'), ln_mirai_month),'yyyy/mm');
      
      ln_chkYM := to_number(replace(lv_chkYM,'/',''));
      ln_kyoyouFrom := to_number(replace(lv_kyoyouFrom,'/',''));
      ln_kyoyouTo := to_number(replace(lv_kyoyouTo,'/',''));
      -- ALT:許容可能対象月(FROM) <= 伝票年月 <= 許容可能対象月(TO)の場合
      if (ln_kyoyouFrom <= ln_chkYM and ln_chkYM <= ln_kyoyouTo) then
          return 0;
      end if;
      return 1;
    exception
        when others then
            return 1;
  end CM010AccDtCheck;

原创粉丝点击