從制造到創造
          軟件工程師成長之路
          posts - 292,  comments - 96,  trackbacks - 0

          問題一

          季帳單的金額欄位, 請四捨五入到, 不要帶出小數位數字

          之前季帳單沒有這樣的問題存在, 為什麼交付的新程式會出現這個問題呢?

           


           我們先查詢第一筆記錄:
          再保項目 弱體等級 資料別 被保人性別 金額
          Rein. premium 標準體 新件   1901.5949

          看看數據庫中的情況是怎樣的,因為金額“1901.5949”是加總后的結果。

          通過下面的SQL語句查詢結果:
          條件:1、2006年第二季度,即會計年月為:200604、200605、200606;
                      2、再保公司為CRC,即為“01”;
                      3、年度為“2006”,即PREM_YEAR為:2006;
                      4、資料別為新件,即MONTHLY_FLAG為:N、NC;
                      5、報表險種群為ICE,即再保類別為“12”
                      6、弱體等級為標準體,即BODY_FLAG為“1”

          SELECT mt.Q_PREMIUM
          FROM RIS.MONTHLY_TEMP mt
          WHERE 1=1
          AND mt.ACCOUNT_YM_DATE in ('200604','200605','200606')
          AND mt.RE_COMPANY_CODE='01'
          AND mt.PREM_YEAR=2006
          AND mt.MONTHLY_FLAG in ('N','NC')
          AND mt.REINSURANCE_CLASS='12'
          AND mt.BODY_FLAG='1'
          ;

          然后我們將得到的記錄拷貝到Excel檔中,


          通過結果下面的SQL同樣可以得到結果:1901.5949
          SELECT sum(mt.Q_PREMIUM) Q_PREMIUM
          FROM RIS.MONTHLY_TEMP mt
          WHERE 1=1
          AND mt.ACCOUNT_YM_DATE in ('200604','200605','200606')
          AND mt.RE_COMPANY_CODE='01'
          AND mt.PREM_YEAR=2006
          AND mt.MONTHLY_FLAG in ('N','NC')
          AND mt.REINSURANCE_CLASS='12'
          AND mt.BODY_FLAG='1'
          GROUP BY mt.PREM_YEAR
          ;

          從Excel檔可以看到數據的小數部分沒有處理,而我們的記錄都放在一個Map中,Map的鍵為對象的Id,即SeasonAccountDetailAmountId,而值為SeasonAccountDetailAmount,我們要處理的屬性金額在Map的值中。我們只需遍歷Map,然后處理(四舍五入)值中對象的某個屬性,然后將這個“鍵值對”放到Map中,它會自動覆蓋以前的同Key的記錄。
              /**
               * 將Map中SeasonAccountDetailAmount對象的amount的值四舍五入
               * 
               * 
          @author XuLin
               * 
               * 2008.01.15
               * 
               * 
          @param detailMap
               
          */
              
          private void roundingMap(Map detailMap) {// TODO
                  Map map = (FastHashMap) detailMap;
                  Iterator it 
          = map.entrySet().iterator();
                  SeasonAccountDetailAmountId sadaId 
          = null;
                  SeasonAccountDetailAmount sada 
          = null;
                  
          while (it.hasNext()) {
                      Map.Entry entry 
          = (Map.Entry) it.next();
                      sadaId 
          = (SeasonAccountDetailAmountId) entry.getKey();
                      sada 
          = (SeasonAccountDetailAmount) entry.getValue();
                      
          if (sada.getAmount() != null) {
                          sada.setAmount(Common.roundingBigDecimal(sada.getAmount(),
                                  Constant.MONEY_SCALE));
          //四舍五入到整數位
                          seasonAccontDetailCache.put(sadaId, sada);
                      }
                  }
              }


          問題二

          新增的季帳單(CRC-2006-384)再保項目-Return Rein. Commission Last Year 一筆金額100,000

          為何反應在季帳單PDF上會有兩筆記錄??

          Return Rein. Commission Last Year-2006  NTS 空白??

          Return Rein. Commission Last Year-2005  NTS 100,000



          處理方法:
          交給第三方處理,我們的報表做法是我們生成文本格式的txtFile,然后由第三方處理。
          出現問題的原因是該“再保險種”的值為,應該不顯示在PDF上,他應該多加一層判斷。
          posted on 2008-01-16 11:34 CoderDream 閱讀(326) 評論(0)  編輯  收藏 所屬分類: 再保系統

          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(9)

          我參與的團隊

          隨筆分類(245)

          隨筆檔案(239)

          文章分類(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 458389
          • 排名 - 114

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 九龙县| 昌乐县| 咸阳市| 香港 | 冷水江市| 资中县| 定兴县| 承德市| 界首市| 铜山县| 永和县| 乌鲁木齐市| 东港市| 正宁县| 天峨县| 新化县| 安徽省| 扎赉特旗| 大宁县| 古丈县| 台南县| 文山县| 延吉市| 柞水县| 平阳县| 临夏县| 临城县| 涟源市| 仪陇县| 加查县| 东乡| 天津市| 荥阳市| 罗平县| 景宁| 宝坻区| 巴彦淖尔市| 三门峡市| 自治县| 孟津县| 伊春市|