# E07
###### tags: `問題單待處理`
## 問題敘述
區處反映:
管線搶修器材數量明細表中,現有庫存金額(19,243,120.00)、核定儲備金額(8,365,936.00)及實際儲備金額(6,807,724.00)各項所列之合計金額(如附件,例如三區),與另外計算各項每筆細項合計之金額不一致,原因為何?
## 雲端連接
https://drive.google.com/drive/folders/1hm78TGu_J-jnQooIP7oONgK-qdFR5MCS?usp=sharing
## 解析
路徑


20220531
計算結果確實不一致。
黃色為細項分別加總(我們自己算的值),紅色為表單上系統給出的值。

嘗試列印表單,表單好像都沒有出現,僅顯示列印成功,多案幾次然後就會跳500error...

測試機更慘案列印會直接跳錯誤,後來等很久才跳出來(如果要載新資料可能要多點耐心)


20220616
這題用excel去找數據應該沒有辦法找出問題點了,無法從excel表單找出可能缺少的值。可能要直接去看程式碼原先的公式是什麼?
excel的檔案都在桌面資料夾110年度問題單裡面。
### 程式呼叫順序
- mr40106_sel.jsp https://10.100.50.20:9080/mr/mr40106_sel.jsp?s_YY=111&s_YM=11106&s_YY_SYS=111&s_YM_SYS=11106
- mr40106_prt.jsp
wherestring[0] (年度)
wherestring[1] (單位名稱)
wherestring[2] (0, 全公司彙總, 其他為各單位代號)
wherestring[3] (材料編號區間(開始))
wherestring[4] (材料編號區間(結束))
wherestring[5] (彙總下轄單位資料(勾選方塊))
wherestring[6] (轄屬單位區間(開始))
wherestring[7] (轄屬單位區間(結束))
wherestring[8] (材料別統計)
wherestring[9] (庫存量)
wherestring[10] (系統年度)
wherestring[11] (系統年月)
wherestring[12] (年份)
- MR40106.java (outXLS)
值陣列位置如下

加總的時機如下

sql 執行如下
```
DEBUG: [20220630] exec SQL: SELECT ANO,SUBSTR(MNO_MNO,1,1) AS KEPST3_MNO,SUM(C1) C1,SUM(C2) C2,SUM(C3) AS C3,SUM(C4) AS C4,SUM(C5) AS C5,SUM(C6) AS C6,SUM(C7) AS C7 FROM MR40106_RPT2 WHERE USERID = 'jhj00' GROUP BY ANO,SUBSTR(MNO_MNO,1,1) ORDER BY ANO,SUBSTR(MNO_MNO,1,1)
DEBUG: [20220630] begin while =============
DEBUG: [20220630] rds[i][8] 1947673
DEBUG: [20220630] single:8250303.0,1947673.0,1834773.0
DEBUG: [20220630] accu :8250303.0,1947673.0,1834773.0
DEBUG: [20220630] begin while =============
DEBUG: [20220630] rds[i][8] 2570215
DEBUG: [20220630] single:1.1704749E7,4517888.0,4240878.0
DEBUG: [20220630] accu :1.1704749E7,4517888.0,4240878.0
DEBUG: [20220630] begin while =============
DEBUG: [20220630] rds[i][8] 537949
DEBUG: [20220630] single:1.5007987E7,5055837.0,4774181.0
DEBUG: [20220630] accu :1.5007987E7,5055837.0,4774181.0
DEBUG: [20220630] begin while =============
DEBUG: [20220630] rds[i][8] 555003
DEBUG: [20220630] single:1.6680266E7,5610840.0,5234735.0
DEBUG: [20220630] accu :1.6680266E7,5610840.0,5234735.0
DEBUG: [20220630] begin while =============
DEBUG: [20220630] rds[i][8] 2451110
DEBUG: [20220630] single:2.145533E7,8061950.0,7399229.0
DEBUG: [20220630] accu :2.145533E7,8061950.0,7399229.0
DEBUG: [20220630] single:2.145533E7,8061950.0,7399229.0
```
這是從 MR40106_RPT2 做計算,因此誤差應該是來自於 MR40106_RPT2 和單筆加總的誤差,應釐清 MR40106_RPT2 產生的方式。
sql執行結果為

## 問題單內容
* 原始程式碼位置
* 目的程式碼位置
* 問題解析
* 處理方法
* 變更後測試執行結果