看板 PHP 關於我們 聯絡資訊
※ 引述《rocairforce (拾貳)》之銘言: : 我又遇到問題了,關於保險天數的計算 : 一個月的天數恆等於30,可能的情況為一個月內有多次加退保 : 例如3號加保、10號退保、18號再加保、25號又退..... : 請問我要怎麼算出當月總加保天數或總無加保天數,想破頭了 : 謝謝大家 我還是簡單回一下好了 太難的東西我不會,不過有的時候還會被某前輩說把事情弄太複雜 Orz 如果你是想要用 SQL 語法算出這玩意 嗯... 我不敢保證一定作不出來,只是... 我大概打死都不會這樣作 如果你只是要求出這玩意,不限方法 那你就把 select 出來的結果 重新整理成你喜歡、好寫的資料結構 (用 OO 的講法就是... OO XD) 然後再對這個資料結構去處理 不過日期這種玩意,應該不管哪種語言都會有讓你取月份日期的 function 那剩下就是數字區間的掌控 當然,你必須還要確保幾個前提假設 例如某個人的保單不會有這種 overlap 的狀態 編號 開始 結束 1 01/10 01/30 2 01/20 02/28 3 04/01 04/02 如果允許 overlap 的話,那就要先解決商業邏輯的問題 可能某個商業邏輯下會轉變成 開始 結束 01/10 02/28 04/01 04/02 如此之類這樣那般 然後整理完畢之後,真的就是加加減減的問題了 理論上 PHP 也會有提供日期比大小、日期剪法的 function 那麼,真的應該不是問題... 有的時候會覺得,資訊領域就是在玩這種整理來整理去的遊戲 Zzzzz ==== 我自首,我是來混文章數的 [逃] -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.12.219
dinos:推,商業邏輯還是讓程式處理就好 06/25 17:38
dlikeayu:OO的講法叫OOAD 最後用Design Parttern做出彈性底層 06/27 08:51
dlikeayu:所以可以知道需要的角色是"專業保險員"跟"資深程式設計師 06/27 08:56
dlikeayu:先去從use case套出在"保險員"工作上的公式再演化成code 06/27 08:57
dlikeayu:比較能做出較合理且富彈性擴充的程式 06/27 08:57
dlikeayu:所以這篇提到用OO實在是很吸引人(嬌喘 06/27 09:00
bency:有時候寫程式碰到的問題不見得是coding上的問題 06/28 12:01
xxxzzz:勞保的話,允許重疊,因一個人可能兩份工作.以前寫過... 06/28 21:43