diff --git a/d d b/d d new file mode 100644 index 00000000..a4af004b --- /dev/null +++ b/d d @@ -0,0 +1,3245 @@ +commit ceda8bea0aad2ae90c889c3ffdd5054bd0d1c273 (HEAD -> cheng) +Author: Cheng +Date: Fri Jan 19 09:29:14 2024 +0800 + + 簽核BUG(修正) + +commit ee1dfafd156a8fdbccf640265aa8c2a0dd60e35c (origin/cheng) +Merge: 72f73cea 5ca075f3 +Author: Cheng +Date: Fri Jan 19 08:28:11 2024 +0800 + + Merge branch 'cheng' of http://10.10.1.6:3080/masada-admin/httpdocs into cheng + +commit 72f73cea964067027f449470854fa3e13937c898 +Author: Cheng +Date: Fri Jan 19 08:24:48 2024 +0800 + + 240119 + +commit e3e2bc642d799c81d2d4ccec086be855930ab1db +Author: Cheng +Date: Wed Jan 17 17:42:52 2024 +0800 + + 契約價審 + +commit 6f8663cc171cc431595505006abadcc93ff78d73 +Author: Cheng +Date: Tue Jan 16 18:42:39 2024 +0800 + + 契約價審 + +commit 7afe75396f35d7a28a896f98b72e75051b44db25 (origin/main, origin/HEAD, main) +Merge: 8568a7ab 45d7cf42 +Author: 10994015 +Date: Wed Jan 17 17:46:52 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 8568a7ab8a2a8ec5d150b2a4bfbf088edf6b3ab7 +Author: 10994015 +Date: Wed Jan 17 17:46:43 2024 +0800 + + 價審新梯MI、牌價、BUG 解決 0117 + +commit 45d7cf42d149b01a9b66ec656a5ad975c66f1768 +Merge: c2385ba5 67f239d5 +Author: Ellin +Date: Tue Jan 16 17:28:29 2024 +0800 + + Merge branch 'kaiyu' + +commit 67f239d5cfbc17c2c22ff49f8186a7c68198b569 +Author: Ellin +Date: Tue Jan 16 17:28:04 2024 +0800 + + 應收帳款系統(汰改)分類階段收款種類 + +commit c2385ba5489925d88452f45ec6e375f37861b574 +Author: Cheng +Date: Tue Jan 16 16:33:52 2024 +0800 + + 電梯價格調整(1) + +commit 8f4e1e663ea622753185f6246de93a2ed211e5f7 +Author: 10994015 +Date: Tue Jan 16 16:30:41 2024 +0800 + + 價審 mi = 設備+ option + +commit 0fa092ddc25a235de3ee33f841f048fdaff8431d +Merge: 1a17c3d4 4858704d +Author: 10994015 +Date: Tue Jan 16 14:59:35 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 1a17c3d4e3fe05ffabf2e107191891a79ef85b2d +Author: 10994015 +Date: Tue Jan 16 14:56:16 2024 +0800 + + 服務費+MI + +commit 4858704d5e07dac786195f4a0b29d98e7e37ea9c +Merge: 4c0c1aa8 84802c0b +Author: Cheng +Date: Tue Jan 16 13:24:14 2024 +0800 + + Merge branch 'cheng' + +commit 84802c0beda8fde0cf1dffa6b831ce324c3182d6 +Author: Cheng +Date: Tue Jan 16 13:23:57 2024 +0800 + + MI+服務費 + +commit 4c0c1aa8aac948ea1cc5cd237c1971a6e4448ce8 +Merge: 264347b2 72bf093d +Author: Cheng +Date: Tue Jan 16 08:46:59 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 264347b2ece628100363b645840f9777e9a0f262 +Author: Cheng +Date: Tue Jan 16 08:44:11 2024 +0800 + + MI check + +commit 04d0e55f980018152d3e5cfa8d730f5826732dd2 +Author: Ellin +Date: Mon Jan 15 17:45:44 2024 +0800 + + 應收帳款(新梯)解bug + +commit a1fa0938ea1497e438f048a2cae77a02c8946fbf +Author: Cheng +Date: Mon Jan 15 18:06:50 2024 +0800 + + pricereview-check update + +commit 72bf093d1ceb315bb9455b88454bc078edf63859 (origin/kaiyu) +Author: Ellin +Date: Mon Jan 15 17:45:44 2024 +0800 + + 應收帳款(新梯)解bug + +commit d6dd098b156f49f5967776c1cf9dafd33c35d02c +Author: Cheng +Date: Mon Jan 15 16:30:57 2024 +0800 + + option id debug + +commit b180f0a1812ffcfb7950f3eed0d164ec820be572 +Author: Cheng +Date: Fri Jan 12 17:39:04 2024 +0800 + + 20240112 + +commit 5ca075f37b529ff3e58c472b903ec616fc016cb3 +Author: Cheng +Date: Mon Jan 15 16:30:57 2024 +0800 + + option id debug + +commit a9dbbbf02f43c88dddf5865cd94c9a34a1c9ea95 +Author: 10994015 +Date: Mon Jan 15 16:28:07 2024 +0800 + + 加價=> 選配 + +commit 7c213a13b4d5bd4083bdf0bf483dcf6fca1dc159 +Merge: e64dcd1a a9de179e +Author: 10994015 +Date: Mon Jan 15 16:27:10 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit e64dcd1aaf16fc77b99dc245e2061279cc71ef65 +Author: 10994015 +Date: Mon Jan 15 16:26:40 2024 +0800 + + 1115 M0174價審 + +commit 62ce64fad6351cee0718895b6417461a1782468d +Author: Cheng +Date: Fri Jan 12 17:39:04 2024 +0800 + + 20240112 + +commit a9de179e591e5f5aad34765f8212da50ec595a54 +Merge: 36818799 abbc299b +Author: Cheng +Date: Thu Jan 11 17:53:43 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 36818799fcd4a1a21c2659fcd7b42e1e097be420 +Author: Cheng +Date: Thu Jan 11 17:53:13 2024 +0800 + + OPTION + +commit abbc299be043a3b652dbe4445f6dddd72e941bd5 +Merge: ee8ce6ce 46b11bda +Author: Ellin +Date: Thu Jan 11 17:44:45 2024 +0800 + + 應收帳款系統解決衝突 + +commit 46b11bda0354fce7f631e1fe9c3e8ee4b91c93a8 +Author: Ellin +Date: Thu Jan 11 17:30:20 2024 +0800 + + 作番發票金額 + +commit 0f577d08e4e26ce23dccfba7f4d00ab63017872a +Merge: c072ea4d ee8ce6ce +Author: 10994015 +Date: Thu Jan 11 14:10:56 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit c072ea4dd48d95e0f742b91f795a18c559ae160e +Author: 10994015 +Date: Thu Jan 11 14:10:53 2024 +0800 + + merge + +commit ee8ce6cec46e9e03e9c9eda8b6b029eda4a50c33 +Merge: 76c868d1 db61e429 +Author: Cheng +Date: Thu Jan 11 14:07:29 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 76c868d1076821e27b79ffd881254ead20bacc9c +Author: Cheng +Date: Thu Jan 11 14:07:22 2024 +0800 + + 20240111 + +commit db61e429afa5eabbf53c2fe6b41745ea4b24476b +Merge: ade42c64 a03f0a11 +Author: Ellin +Date: Thu Jan 11 08:42:11 2024 +0800 + + Merge branch 'kaiyu' + +commit a03f0a11a17840e78a7680af116e5392039028a6 +Author: Ellin +Date: Thu Jan 11 08:41:53 2024 +0800 + + 衝突 + +commit ade42c64f255e5b319c3bb9d9856e1f92fd3d82b +Merge: 5e304d74 d600fa0a +Author: Ellin +Date: Thu Jan 11 08:39:04 2024 +0800 + + Merge branch 'kaiyu' + +commit d600fa0a57cf7489e9c21e8d1f392557edd13866 +Author: Ellin +Date: Wed Jan 10 18:58:43 2024 +0800 + + 應收帳款系統(系統)增加T8單據日期、催收金額、已收金額與催收次數 + +commit 5e304d74e97429808b18b23462176931760f8f30 +Author: Cheng +Date: Wed Jan 10 13:32:32 2024 +0800 + + 有望客戶資料須填寫齊全才能轉價審 + +commit 5c09b0de460115473e1099a722869f7ff260f50e +Author: Cheng +Date: Wed Jan 10 11:00:45 2024 +0800 + + 修正 + +commit 5cd6023f3a5ab5f440c2e47aa78a0a49c3637b56 +Author: Cheng +Date: Wed Jan 10 10:58:51 2024 +0800 + + 轉價審判斷客戶資料是否齊全 + +commit 13d66e606c1538e24f5284eb2b1650ff8e5297ac +Author: Cheng +Date: Wed Jan 10 09:53:34 2024 +0800 + + 額外項目匹配電梯 + +commit 84ba97294890a260f9747109eb78071b740da578 +Merge: a2df7a4f d56cee43 +Author: Cheng +Date: Wed Jan 10 08:50:30 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit d56cee43d3fc5e711d315ed035c885d1416b7f6c +Merge: cf6c136a 88cfa3d3 +Author: Ellin +Date: Tue Jan 9 18:22:51 2024 +0800 + + Merge branch 'kaiyu' + +commit 88cfa3d385359a67be36b5751e44a6657ca41407 +Author: Ellin +Date: Tue Jan 9 18:22:31 2024 +0800 + + 新梯統整 + +commit a2df7a4f618dcb427758ef3f534852c6e37951a0 +Author: Cheng +Date: Tue Jan 9 18:07:41 2024 +0800 + + 除外費用 + +commit cf6c136a630ab035c5f686a0b3f4e116608d4131 +Merge: a7aaf948 5083ca93 +Author: 10994015 +Date: Tue Jan 9 18:06:23 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit a7aaf948958dba5cb8ae1edfe360200bfc48107c +Author: 10994015 +Date: Tue Jan 9 18:05:54 2024 +0800 + + 更改option 0109 + +commit 5083ca938eafd479b8c4d5cee2cf07b3847281e1 +Author: Cheng +Date: Tue Jan 9 15:54:32 2024 +0800 + + 解決衝突 + +commit 7d9db7289417c5b01dfa685412751ae321a39d0b +Merge: 7275655c 56e7e01a +Author: Cheng +Date: Tue Jan 9 15:33:16 2024 +0800 + + Merge branch 'cheng' + +commit 56e7e01afbbb21147f8e152f7a2a202d0241f867 +Author: Cheng +Date: Tue Jan 9 15:32:39 2024 +0800 + + 修正 + +commit 7275655cacaee652a4bf5ab84d75d0fbd22047ed +Merge: 2840d81d b820452c +Author: Cheng +Date: Tue Jan 9 15:25:07 2024 +0800 + + 合併衝突 + +commit 2840d81dd23a77c405c65695854bf4873f73d9c6 +Merge: ae9c51c8 f5af8df1 +Author: Cheng +Date: Tue Jan 9 14:52:51 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit b820452c06f537b7bcac312ef64c0c240e0d7d17 +Author: Cheng +Date: Tue Jan 9 14:51:01 2024 +0800 + + 簽核流程更新 + +commit f5af8df1cd7985eacaa32a61917aadea61783b3f +Merge: db32b217 c22e9185 +Author: 10994015 +Date: Tue Jan 9 14:50:09 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit db32b217f3f354666e0f93fa087b970df7eec207 +Author: 10994015 +Date: Tue Jan 9 14:50:02 2024 +0800 + + 修正價審mi + +commit c22e9185470cc1b57694858e6348519bb3531a65 (origin/gary) +Author: gary_chen\gary_chen +Date: Tue Jan 9 14:36:03 2024 +0800 + + 蘇孝倫: + 江協理好:麻煩請開各區工事經理能輸入"移交日"的權限,麻煩新增輸入儲存後有MAIL通知營業人員! + +commit bf264625ee33faac8579c745f3153517f978beb7 +Merge: 665009aa 726cf73f +Author: gary_chen\gary_chen +Date: Tue Jan 9 10:16:30 2024 +0800 + + Merge branch 'main' into gary + +commit 665009aae8bf991a891b3ebb252b76683328f4d0 +Author: gary_chen\gary_chen +Date: Tue Jan 9 10:16:08 2024 +0800 + + 修正版本 + +commit f3ef413e43a26a535f813431bcd5640727d3e45a +Author: 10994015 +Date: Tue Jan 9 08:45:22 2024 +0800 + + 更改M0175審核權限與M0107相同 + +commit 0ed07f3d289f350221a61f439f0d64970305d713 +Author: gary_chen\gary_chen +Date: Tue Jan 9 08:43:11 2024 +0800 + + 新增公告時 推播通知給公司所有人 + +commit 69cbb7ecaa948c4e66f0b6ed71f86b6002eaadc0 +Author: Cheng +Date: Tue Jan 9 08:41:28 2024 +0800 + + 合約入T8(完成) + +commit ca072875178f875c91c59f54b6ede3f4042898d3 +Author: Ellin +Date: Fri Jan 5 19:57:53 2024 +0800 + + 應收帳款(新梯)增加合約各款項未開發票金額、已開發票金額、未收金額、催收金額 + +commit 3d2a4b590ca421c0919b9a31bbe9f20801b07b5a +Author: 10994015 +Date: Thu Jan 4 17:34:43 2024 +0800 + + 價審option 新增分類、搜尋 + +commit c9f94a4301752d82cb4b716cee0f7438fe49bfe1 +Author: 10994015 +Date: Thu Jan 4 11:11:39 2024 +0800 + + 選取option 增加分類、搜尋 + +commit 17dab7f60d3a5f4ed170ce1bedb81d8eabefb4fc +Author: 10994015 +Date: Wed Jan 3 13:15:50 2024 +0800 + + rollback + +commit aefb5de1e1d6de9d96c812d74c863c59a8e3543b +Author: Ellin +Date: Thu Jan 4 20:27:02 2024 +0800 + + 新增拉每個作番的金額 + +commit ae9c51c87477f089869eb7045ad6f20d22f9f5e1 +Merge: 15ab88ca 726cf73f +Author: Cheng +Date: Tue Jan 9 08:41:46 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 726cf73f6b71726e2a9449761a94b984bc30adb5 +Merge: 3c67fe91 7a46348d +Author: Ellin +Date: Mon Jan 8 18:13:50 2024 +0800 + + Merge branch 'kaiyu' + +commit 7a46348dae88432e36f1408d9042f2375bbbd091 +Author: Ellin +Date: Mon Jan 8 18:12:59 2024 +0800 + + rib02-check的feetype改抓T8 ; 應收帳款系統(新梯)增加設備與安裝金額、增加平均金額於前端畫面 + +commit 3c67fe91296615df8995c3384f320947c525a82f +Author: 10994015 +Date: Mon Jan 8 18:07:42 2024 +0800 + + 汰改審核區處長改為陳家文經理 + +commit 52bf43c3e698a437498ea6ca3528597d2d2ddffd +Merge: 8b185324 a3f38e6d +Author: 10994015 +Date: Mon Jan 8 17:53:02 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 8b185324fa81f73c35b660853f1eca0bb77641fc +Author: 10994015 +Date: Mon Jan 8 17:52:51 2024 +0800 + + option更新 + +commit 15ab88cae77704c6c50f3eb0a61da71d1da407b9 +Merge: 73a8b906 a3f38e6d +Author: Cheng +Date: Mon Jan 8 08:34:16 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit a3f38e6d94e510432943d41238e1ea8b5026955b +Author: Ellin +Date: Fri Jan 5 19:57:53 2024 +0800 + + 應收帳款(新梯)增加合約各款項未開發票金額、已開發票金額、未收金額、催收金額 + +commit 73a8b906d0618d4a60da3b339a99856556130a43 +Author: Cheng +Date: Fri Jan 5 17:53:17 2024 +0800 + + API合約保養 + +commit aa2b339ae46ae52822a47787dbcacd8d9c97cb76 +Merge: 629f228d 4d43d552 +Author: gary_chen\gary_chen +Date: Fri Jan 5 15:53:37 2024 +0800 + + Merge branch 'main' into gary + + # Conflicts: + # wms/schedule-index.php + +commit 629f228d9763d2a3d7dc20bd590b93b336dbd3ce +Author: gary_chen\gary_chen +Date: Fri Jan 5 15:52:23 2024 +0800 + + 通知功能修改 + +commit 4d43d55201726cbca202a5ffc6996695ba080ea2 +Merge: 459a0140 1046a5d7 +Author: Ellin +Date: Thu Jan 4 20:27:22 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 459a014003e87e08d4716585ac860d697297e36e +Author: Ellin +Date: Thu Jan 4 20:27:02 2024 +0800 + + 新增拉每個作番的金額 + +commit 18aca7810f9164c3c2f373b637ee891e57d92caf +Author: Cheng +Date: Thu Jan 4 17:43:35 2024 +0800 + + T8API + +commit 1046a5d7916b021a896c121ae7a21e0b77f8560c +Author: 10994015 +Date: Thu Jan 4 17:34:43 2024 +0800 + + 價審option 新增分類、搜尋 + +commit 099e2efcdc7e0843b8187a51586a10f504add34e +Merge: a67a2093 ae3338f7 +Author: 10994015 +Date: Thu Jan 4 11:14:11 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit ae3338f7549132fe8fa5b4303885c3677d4531f9 +Author: Cheng +Date: Thu Jan 4 11:11:49 2024 +0800 + + T8api + +commit a67a20930f712d66510f0826190f47b1ba5ed3bb +Author: 10994015 +Date: Thu Jan 4 11:11:39 2024 +0800 + + 選取option 增加分類、搜尋 + +commit a4627cd9f7b8b86f750eb1a1ff54868bbd484a66 +Author: Cheng +Date: Wed Jan 3 17:48:09 2024 +0800 + + 保養合約 + +commit 2c46dd0e938745ccfef8275e4be52e93369ad036 +Merge: 806f5e87 144d41b4 +Author: Ellin +Date: Wed Jan 3 18:10:17 2024 +0800 + + Merge branch 'kaiyu' + +commit 144d41b4dfcbb3a7f021a6a921741fdbed0d3346 +Author: Ellin +Date: Wed Jan 3 18:09:50 2024 +0800 + + 增加account-receivable-index-ing.php + +commit 839f08e140da1dd63a115eb42d7dad32d8510474 +Author: 10994015 +Date: Wed Jan 3 13:15:50 2024 +0800 + + rollback + +commit 806f5e87db5d549113a4c48b44e6494f1d106dbf +Author: Cheng +Date: Wed Jan 3 11:48:48 2024 +0800 + + 新梯退回調整 + +commit d931e568b072015baab84c941f09d5da931f31ee +Merge: 44b04b4f f02ec613 +Author: Cheng +Date: Wed Jan 3 11:18:36 2024 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 44b04b4fa7f3e0707dc691ad00f8584728597ac1 +Author: Cheng +Date: Wed Jan 3 11:17:08 2024 +0800 + + '合約入立(修理)進T8' + +commit f02ec6134de7d8cd17a8bcd78b6b27fd1899cfe9 +Merge: 56218c35 3b50ce1d +Author: 10994015 +Date: Wed Jan 3 11:15:36 2024 +0800 + + merge conflict + +commit 56218c35d20b91336319971a796f1b0db80c7502 +Author: 10994015 +Date: Wed Jan 3 11:11:40 2024 +0800 + + 價審新梯、api修正0103 + +commit 3b50ce1d4ae2fd4fbbf1d514bb1ca62a660cecd5 +Merge: a81f3f8a 75854227 +Author: Ellin +Date: Tue Jan 2 18:02:45 2024 +0800 + + Merge branch 'kaiyu' + +commit 75854227fc3a2e87bcb50f1b55d86f042c812e72 +Author: Ellin +Date: Tue Jan 2 18:01:44 2024 +0800 + + 查詢重複報銷發票; rib02設定不可以重複報銷 + +commit 86a21b9a4062a054b95394efef0b1cb6e3f3c523 +Author: Cheng +Date: Fri Dec 29 17:32:07 2023 +0800 + + 價審合約 + +commit a81f3f8a9c34d55ffc5d702c031a913d50f645d2 +Author: Cheng +Date: Fri Dec 29 09:00:26 2023 +0800 + + 代簽修正 + +commit a8b0ee243e45fba2bdd1182ac5ab8f74438cb90f +Merge: 4fb67d25 e46b34d6 +Author: Cheng +Date: Fri Dec 29 08:40:10 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 4fb67d254da4b9e606a8a30029196354d4ccb6ab +Author: Cheng +Date: Thu Dec 28 17:51:35 2023 +0800 + + 更新電梯標準價查詢 + +commit e46b34d64b513566283c56f2cee9b8d1d300a85a +Merge: 601934ed 8b49e556 +Author: Ellin +Date: Thu Dec 28 17:46:11 2023 +0800 + + Merge branch 'kaiyu' + +commit 8b49e556ed2d0020ca962cfe15fc32db6c814a9e +Author: Ellin +Date: Thu Dec 28 17:45:50 2023 +0800 + + 修改費用報銷單發票號碼改為空的錯誤問題; 應收帳款(新梯)依照作番產生金額excel已完成,尚未將寶佳的資料分開 + +commit 601934ed62bb85d427823f9fffcea367ce00af37 +Author: Cheng +Date: Thu Dec 28 11:59:01 2023 +0800 + + 新梯價審付款辦法修改 + +commit 9df2804299105784fe3f930fb06676b50f328782 +Author: Cheng +Date: Thu Dec 28 10:52:25 2023 +0800 + + T8 寫入客戶資料 + +commit 3b101388988dc67fabd66327118018207e3e1ae6 +Author: Cheng +Date: Wed Dec 27 17:52:13 2023 +0800 + + maintance insert into T8 + +commit 92e9f241b75cd426f2fe5e5dbd09fbbe228bad73 +Author: Cheng +Date: Tue Dec 26 17:53:39 2023 +0800 + + 合約簽回寫入t8 + +commit 916908b6ccd8d10696e458d8785fe1e7657681b4 +Merge: 2fb91af1 00c4a5eb +Author: 10994015 +Date: Thu Dec 28 10:42:03 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 2fb91af1616bce545fdd6a3cd19665eb72febaef +Author: 10994015 +Date: Thu Dec 28 09:27:20 2023 +0800 + + 新梯價審option修正1227 + +commit 78b7ddfd4b2c5a90d0636dae4baf665b73a79971 +Author: 10994015 +Date: Thu Dec 28 09:26:43 2023 +0800 + + 新梯價審option修正1227 + +commit 00c4a5eb6bd59f1986b8d35007ea0e9c734fb1c6 +Merge: 1af4168c f7d77b2b +Author: Ellin +Date: Wed Dec 27 18:47:14 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 1af4168cee2bccabc956cfdf97e0f4ff8159f6b5 +Author: Ellin +Date: Wed Dec 27 18:46:55 2023 +0800 + + 增加作番個別資訊(應收日期與次數)在account-receivable-index-ing.php + +commit f7d77b2b783986369647c369c4faeb0f5de19c81 +Author: gary_chen\gary_chen +Date: Tue Dec 26 15:52:48 2023 +0800 + + fix_bug + +commit ed20a74e468a5dc5d21b83a7a353a6fdef38a003 +Merge: d79deb0e 62302cd4 +Author: gary_chen\gary_chen +Date: Tue Dec 26 09:38:49 2023 +0800 + + Merge branch 'main' into gary + + # Conflicts: + # wms/estimated_shipping_date_report.php + # wms/wipwhole-change-contractdate-submit.php + # wms/wipwhole-index-function.php + # wms/wipwhole-rec-invoice.php + # wms/wipwhole-renovate-rec-invoice-edit-submit.php + # wms/wipwhole-renovate-rec-invoice-edit.php + # wms/wipwhole-renovate-rec-invoice.php + # wms/wipwholeinstall-index-function.php + # wms/wipwholeinstall-renovate-index-function.php + +commit d79deb0e19e898d77fd18b555089f1dca9f28f57 +Author: gary_chen\gary_chen +Date: Tue Dec 26 09:30:38 2023 +0800 + + 1.作番大日程地址新增下縣市拉選擇器 + 2.大日程index提醒字更正 + 3.大日程新增trigger更改create_at 為 date("Y-m-d H:i:s") + 4.大日程流程 wws04 計劃圖申請單停用 + 5.新增密碼產生器 + 6.新增接收bpm rest 範例 + +commit 432c530fe41ce219ff5f7356670846ca022fd736 +Author: 10994015 +Date: Mon Dec 25 18:10:08 2023 +0800 + + 合約書申請 1225 聖誕節快樂 + +commit 62302cd4c1ac18c13c957af6cd02333e3614f66f +Author: Ellin +Date: Mon Dec 25 18:03:02 2023 +0800 + + excel根據是否為寶佳與全部分別匯出; 調整合約詳細資料 + +commit 61d905e4707ac74fe1684c34bf2833ccd10968e1 +Merge: 6b11b846 9da56cd5 +Author: Cheng +Date: Mon Dec 25 09:40:10 2023 +0800 + + Merge branch 'cheng' + +commit 6b11b84608ded2e29f6c4f2ef5ae3a9bad1bbf64 +Merge: 36f16831 2db03cd0 +Author: Cheng +Date: Mon Dec 25 09:38:27 2023 +0800 + + 解決衝突 + +commit 36f1683178373eab59b34511a7e2c679c96c68f2 +Author: Cheng +Date: Mon Dec 25 09:36:00 2023 +0800 + + 解決衝突 + +commit 2db03cd047f837782fc9e83208c5c8c7882d1372 +Merge: 3c328966 55ad03d4 +Author: 10994015 +Date: Mon Dec 25 09:33:34 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 9da56cd58c44ddcc48896a16d88f5b83c74c2364 +Author: Cheng +Date: Fri Dec 22 17:33:54 2023 +0800 + + 契約價審合約 + +commit 3c328966b8e6a84d3bd6cccc19bc93e97b5fd227 +Author: 10994015 +Date: Thu Dec 21 17:54:38 2023 +0800 + + 1221 + +commit bdd1d83a82751b5014715fe6c583c27a47159555 +Merge: 063b566d 105e4581 +Author: Cheng +Date: Thu Dec 21 17:48:24 2023 +0800 + + Merge branch 'cheng' of http://10.10.1.6:3080/masada-admin/httpdocs into cheng + +commit 063b566defec7af7d79346e85340788bb3816828 +Author: Cheng +Date: Thu Dec 21 17:47:10 2023 +0800 + + 契約價審 + +commit 1074ee6896ec63a7b8af5df8e037a895b9817e63 +Author: Cheng +Date: Wed Dec 20 18:07:19 2023 +0800 + + 保養契約價格審核 + +commit df7e24efb47ccdc3e13a981f23d6a43717d2873f +Author: Cheng +Date: Wed Dec 20 11:52:14 2023 +0800 + + 價審 + +commit 392852f3d6bd2871268aceed351abf4159c60752 +Author: Cheng +Date: Wed Dec 20 10:26:54 2023 +0800 + + 價審流程 + +commit 36d27a98bbed1cfcc3892f85ea88db4bf587609e +Author: Cheng +Date: Tue Dec 19 17:04:20 2023 +0800 + + 契約管理 + +commit 55ad03d4d85cf0caec432414e35e713e2c8760ff +Merge: 103ea60b b0a04ee2 +Author: Ellin +Date: Wed Dec 20 19:27:17 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 103ea60b7a40ee80a5dbb6fa216f3001e326c47d +Author: Ellin +Date: Wed Dec 20 19:26:49 2023 +0800 + + 應收帳款(新梯)匯出excel成功 + +commit 5b8d7555ae9d8e9868ec6a22269b32392280634f (origin/yan) +Author: 10994015 +Date: Wed Dec 20 18:05:29 2023 +0800 + + 刪除files 完成 + +commit b0a04ee28530c32fae0d6e8ec643e51c43102667 +Author: 10994015 +Date: Wed Dec 20 10:40:30 2023 +0800 + + 合約書附件bug修正 + +commit 4dd5b8189ac9e53ec194930d09924c1df85990b5 +Merge: 39ce14a8 3d3c3600 +Author: 10994015 +Date: Tue Dec 19 18:36:40 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 39ce14a8d670c6252ae7d894a95a9d2ba5d4215a +Author: 10994015 +Date: Tue Dec 19 18:36:29 2023 +0800 + + 合約書生成 附件上傳完成 + +commit 3d3c3600aea682775b7b3ab4651f9e63daa99a9d +Merge: 0aa460d2 e2fa8d75 +Author: Ellin +Date: Tue Dec 19 18:02:20 2023 +0800 + + Merge branch 'kaiyu' + +commit e2fa8d75caa4b1aaa0e9629a53cd6ab090e78194 +Author: Ellin +Date: Tue Dec 19 17:57:49 2023 +0800 + + 合約作番金額明細excel + +commit 105e458133b04f4085cfc93a1c98fad661299010 +Author: Cheng +Date: Tue Dec 19 17:04:20 2023 +0800 + + 契約管理 + +commit 0aa460d275b32eb140f5ec22b7a7f38bb4f92fe3 +Author: 10994015 +Date: Tue Dec 19 17:03:09 2023 +0800 + + edit header + +commit 2a1d009390256ceeaf59cc332d6b2bdb4c9ac9e7 +Merge: 623d0dcb 78021c5e +Author: 10994015 +Date: Tue Dec 19 17:02:50 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 623d0dcbf76bc367c74be8a1510bb39cf3461bfa +Author: 10994015 +Date: Tue Dec 19 16:51:57 2023 +0800 + + 新增測試帳號 + +commit b65ceaf62f49f8b17a99b7fc3ec2caaa5f40316a +Author: 10994015 +Date: Tue Dec 19 14:17:49 2023 +0800 + + 123 + +commit 78021c5ef8f62e634991a2dc012c94c6463e5ae8 +Merge: e08dab05 3e740a90 +Author: Cheng +Date: Tue Dec 19 10:20:29 2023 +0800 + + option mi 開權限 + +commit e08dab0543c398af3a96525284ef0cc40092fe7a +Author: Cheng +Date: Tue Dec 19 10:06:34 2023 +0800 + + option mi 開權限 + +commit 737b61683191e4e0b8243f57de5a44011b33de3e +Merge: 05f150ac 3e740a90 +Author: 10994015 +Date: Tue Dec 19 09:39:42 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 05f150ace602d0581a6e727b97315f5cf9641edc +Author: 10994015 +Date: Tue Dec 19 09:39:31 2023 +0800 + + option 加上看mi的權限 + +commit d99684fb76ad77f546fde7e0b9b62441be843ec4 +Merge: b4b5778f 3e740a90 +Author: gary_chen\gary_chen +Date: Mon Dec 18 19:09:13 2023 +0800 + + Merge branch 'main' into gary + +commit b4b5778f162efeb59331df263e4dbf3af7215da4 +Author: gary_chen\gary_chen +Date: Mon Dec 18 19:08:50 2023 +0800 + + 1.修正安裝大日程 edit 按鈕 + 2.出貨日調整單 地址新增縣市下拉式選單 + 3.出貨地區預定明細 新增全部作番 的表 + 4.index 狀態新增營業經理確認中 的選項 + 5.大日程新增 林靜雯 檢視權限 + +commit 00cc9c7ef617f84b01a0fbaee0c190e34472abb5 +Author: Cheng +Date: Mon Dec 18 17:56:48 2023 +0800 + + 價審(修改) + +commit 3e740a90bf729a8a60a7142b32d1431344ea60da +Merge: c18e1e26 56eda3c4 +Author: Ellin +Date: Fri Dec 15 20:52:02 2023 +0800 + + Merge branch 'kaiyu' + +commit 56eda3c4328a8deb51f47852d1b8ea05c79e6fb6 +Author: Ellin +Date: Fri Dec 15 20:51:13 2023 +0800 + + 應收帳款(新梯)下載格式; 應收帳款(新梯)index列出各款項與催收次數 + +commit 2fb0526cdd6f562815fa90290d44df78d2503d29 +Author: 10994015 +Date: Fri Dec 15 17:51:03 2023 +0800 + + 1215 合約書申請完成 + +commit 3c407d134a481059e5f9aeeefb84b2162853ea3f +Author: 10994015 +Date: Fri Dec 15 10:32:19 2023 +0800 + + 1215 commit 價審bug + +commit 42aaeb5ab73e2ce6a585b0e0b64418218f2aedab +Author: 10994015 +Date: Thu Dec 14 17:55:03 2023 +0800 + + 合約書申請 資料抓不到bug 修正 1214 + +commit 3cf6007657460d83c132d0cf2c8c4b9f691358c3 +Author: Cheng +Date: Thu Dec 14 17:55:44 2023 +0800 + + 契約價審單 + +commit c18e1e26def7ff6094545b7e2739e01bb21da538 +Author: gary_chen\gary_chen +Date: Thu Dec 14 08:52:12 2023 +0800 + + 1.header 重新上板(正確版本) + 2.app env路徑修正 + 3.gitignore 新增忽略 app 登入產生的 .log + 4.app 針對合約號 M220104 作假資料 + +commit 11294b35f1821bcb75a2848f4de6e58a0bcf8279 +Author: 10994015 +Date: Wed Dec 13 18:08:02 2023 +0800 + + 合約書申請完成、新梯有望客戶修復 + +commit 75a7bf5a5d279afa0e2404deeef1993cc1c8fff1 +Author: Cheng +Date: Wed Dec 13 11:00:18 2023 +0800 + + header + +commit 4011e624a86ea8094b891d28672905a7b1f872ec +Merge: 96fe7358 593f0ac9 +Author: Cheng +Date: Wed Dec 13 10:52:10 2023 +0800 + + Merge branch 'main' into cheng + +commit 593f0ac96cf9153b75f5272c6591459c39ca608f +Merge: 19420d3d 22e75650 +Author: Cheng +Date: Wed Dec 13 10:51:35 2023 +0800 + + Merge branch 'cheng' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 96fe735830452eb490395e779ce6835d52562a50 +Author: Cheng +Date: Wed Dec 13 10:51:06 2023 +0800 + + 123 + +commit 22e75650a12071d53ccd0347e72618703761847d +Author: Cheng +Date: Tue Dec 12 17:52:26 2023 +0800 + + 規格調查(新梯、汰改)修整頁面 + +commit 70c7703e6e38ee8ecf4f97ec25f4dd8b9b94431c +Merge: f0ea9d82 69c0c616 +Author: 10994015 +Date: Tue Dec 12 17:50:13 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit f0ea9d8211b6c5a4577f98645d099d1fc60e6a9b +Author: 10994015 +Date: Tue Dec 12 17:49:12 2023 +0800 + + 1212合約書申請 流程控制 + +commit f8065a9e96897befb511230c492abc4d1f7536a6 +Author: 10994015 +Date: Tue Dec 12 17:47:23 2023 +0800 + + 1212 合約書申請,權限控制 + +commit 69c0c6160f0bb03ea2db2e5fc3cd1a12763f2d76 +Merge: bdd04b16 854fec3e +Author: Ellin +Date: Tue Dec 12 17:34:34 2023 +0800 + + Merge branch 'kaiyu' + +commit 854fec3e26b80d68ac1c46c67ff2c3606ee1b953 +Author: Ellin +Date: Tue Dec 12 17:34:06 2023 +0800 + + 應收帳款(新梯)銷售訂單資料已完成 + +commit 411eb4c1ef7d6d076074b86126778a53174364d9 +Author: 10994015 +Date: Tue Dec 12 16:06:09 2023 +0800 + + 合約書申請、合約書下載測試版上傳 + +commit bdd04b161bad2f1f63544e118b7198272bf23d12 +Merge: 3f533669 fd491fab +Author: gary_chen\gary_chen +Date: Tue Dec 12 10:44:26 2023 +0800 + + Merge branch 'gary' of http://git.masada.com.tw/masada-admin/httpdocs into gary + +commit 3f533669f4982c74315bea5a4f541033b09a6582 +Merge: 752d3a77 ddbbc166 +Author: gary_chen\gary_chen +Date: Tue Dec 12 10:43:33 2023 +0800 + + Merge branch 'main' into gary + +commit fd491faba1e72f64814c8a454c19ebee7f7b5b54 +Merge: 752d3a77 ddbbc166 +Author: gary_chen\gary_chen +Date: Tue Dec 12 10:43:33 2023 +0800 + + Merge branch 'main' into gary + +commit 752d3a7734254e5778b1dff3bd87d27211ea87c3 +Author: gary_chen\gary_chen +Date: Tue Dec 12 10:43:10 2023 +0800 + + 1.新增分布圖假保養資料補丁 + 2.header 新增判斷是否從藍凌過來的判斷方法 + 3.wms登入判斷強制改為大寫 + 4.大日程select優化 + 5.生管(業務)從M0024 改為 M0079 + 6.新增 BPM API 到 BPM測試檔案 + 7.首頁通知顯示bug修正 + 8.戰情室分布圖 工地 連接資料庫檔案修正及程式排版 + +commit ddbbc16682cc4d97bfb55ce0d5d2cbdaf29bfcec +Author: Ellin +Date: Mon Dec 11 18:39:13 2023 +0800 + + rib01-create收款人改selectize(); 應收帳款(新梯)excel自動換行; 應收帳款(新梯)index修改 + +commit 279388a0aff9bc8cb2eeadf6bf6a628a03644816 +Author: 10994015 +Date: Mon Dec 11 17:55:03 2023 +0800 + + 合約下載 1211 + +commit 26318a60040a16cee371c740da2681d09e0cb68c +Author: Cheng +Date: Mon Dec 11 17:33:49 2023 +0800 + + 價審欄位添加服務費 + +commit fd89ea5305b6eca86eb2eb97ac3adbf70b7ff5cd +Author: Cheng +Date: Mon Dec 11 09:18:19 2023 +0800 + + bug修復 + +commit 288487bc13d77796a769680f6e23c45a9ae55ab9 +Author: 10994015 +Date: Mon Dec 11 08:36:08 2023 +0800 + + 1211 merge + +commit 0c1d0414586e713514e651c8b2958ee56cdb79c7 +Merge: adc75b7f 612b2374 +Author: Ellin +Date: Fri Dec 8 17:38:09 2023 +0800 + + Merge branch 'kaiyu' + +commit 612b237401a4d2126466d32c7f20233d0c874ee4 +Author: Ellin +Date: Fri Dec 8 17:37:46 2023 +0800 + + 應收帳款excel測試 + +commit adc75b7f46c80fe0330c006e487316f3e63d44f7 +Merge: 9461fa3b f74d72e6 +Author: gary_chen\gary_chen +Date: Thu Dec 7 19:12:42 2023 +0800 + + Merge branch 'main' into gary + +commit 9461fa3b777b7708fdfa368c43ade9734fd25732 +Author: gary_chen\gary_chen +Date: Thu Dec 7 19:12:28 2023 +0800 + + 1.新增APP生產進度及安裝進度與作番大日程日期關聯 + 2.待簽新增判定 flow_code = 'Z' 不顯示 + 3.大日程地址顯示優先抓取 real_address 再抓取 address + 4.新增個欄位維護人 modal + 5.修正 在裝中統計表 總計 bug + 6.展廳 分布圖 新增補丁code 超過兩個月沒保養的會帶入假資料 + +commit f74d72e66cdb2d2aaf9dcbf57d9acb7e469f923d +Author: Ellin +Date: Thu Dec 7 17:45:07 2023 +0800 + + 應收帳款(新梯) + +commit 19420d3dcaf29e000a10aae2ba2a028e0bdc1118 +Merge: e5a9c0a9 f3a58188 +Author: Cheng +Date: Thu Dec 7 08:36:32 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit f3a581888e5d301a766a96ece04e3b3d8b5027ec +Author: Ellin +Date: Wed Dec 6 19:08:06 2023 +0800 + + 應收帳款(新梯); rib01-check修撤回按鈕bug + +commit b1dfd4f9247f7e301dfdab3acbae4f5ab8f001e6 +Author: Cheng +Date: Wed Dec 6 17:49:40 2023 +0800 + + 修理契約管理 + +commit 729d49bc69374c907060952237a658f32c54c32d +Author: Cheng +Date: Wed Dec 6 09:01:25 2023 +0800 + + 合約簽核(修理) + +commit 6daab8e7c0f77e5e9f5b8caba9be7b131f618965 +Merge: e4a1200c 1e6352f4 +Author: Cheng +Date: Wed Dec 6 08:56:29 2023 +0800 + + 合約簽核(修理) + +commit e4a1200cee36ff0ab0bb2abd08328e7a496f9844 +Author: Cheng +Date: Wed Dec 6 08:46:35 2023 +0800 + + 231205.cheng + +commit fec7c90fc916ad31f5af14827a631654be088f82 +Author: Cheng +Date: Mon Dec 4 17:26:49 2023 +0800 + + 231204.cheng + +commit 3581830afc7b6067247967c733f394712abbf690 +Author: Cheng +Date: Mon Dec 4 15:19:36 2023 +0800 + + test + +commit c754accfe99af6809f76879bb8faa3d516daf634 +Author: izumi.wang +Date: Mon Dec 4 15:04:43 2023 +0800 + + test + +commit e5a9c0a9ae9155800562f4b639ef0e360dd3e7f1 +Merge: 181cd322 e7c13119 +Author: Cheng +Date: Wed Dec 6 08:51:44 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit e7c1311974e17c58f322f5722e15bf4d7795909f +Author: Ellin +Date: Tue Dec 5 18:51:09 2023 +0800 + + 應收帳款(新梯)系統index跟check + +commit 46f481c4359f19e12cf2d258122e0201c57ff3aa +Author: 10994015 +Date: Tue Dec 5 18:00:11 2023 +0800 + + 合約書申請 + +commit d0d05e4193f914857cb194d0c1a0b824e28b83fd +Merge: b7f073bf d009c1bf +Author: gary_chen\gary_chen +Date: Tue Dec 5 11:17:26 2023 +0800 + + Merge branch 'main' into gary + +commit b7f073bfbfde806a8f2b9e87c16ff1e8e81a9cad +Author: gary_chen\gary_chen +Date: Tue Dec 5 11:16:58 2023 +0800 + + 暫時commit + +commit 181cd32253d17ca631239fcf543f00a17dbe7909 +Merge: f8265345 d009c1bf +Author: Cheng +Date: Tue Dec 5 09:01:15 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 97b31d4a1379159c063497b62c101239e4f96a93 +Author: 10994015 +Date: Tue Dec 5 08:35:52 2023 +0800 + + remove wms.zip + +commit 24ed7c286ad6e16dd10b311479f4eaf8f298003c +Author: 10994015 +Date: Mon Dec 4 18:13:42 2023 +0800 + + 1204 + +commit d009c1bfb77d4267dfa9ce57464c60c0dc32641b +Author: Ellin +Date: Mon Dec 4 18:06:45 2023 +0800 + + T8連線改env;請購單 + +commit 1e6352f45c1f05ebbeb9736555124e07ff5fc958 +Author: Cheng +Date: Mon Dec 4 17:26:49 2023 +0800 + + 231204.cheng + +commit b4e44ac1bd29f2b537c46c6da4ff6a1d981613bf +Author: Cheng +Date: Mon Dec 4 15:19:36 2023 +0800 + + test + +commit 321a00eacb7617ce90d52f773bcd2429cd119c67 +Author: izumi.wang +Date: Mon Dec 4 15:04:43 2023 +0800 + + test + +commit f82653454260a34a737a4ee3b7d7cb3b98dcc607 +Author: izumi.wang +Date: Mon Dec 4 15:00:10 2023 +0800 + + init + +commit 5f66622cffd57d214d563478c2b730127573fefa +Merge: ec672acc 3e3a03fe +Author: gary_chen\gary_chen +Date: Mon Dec 4 00:35:21 2023 +0800 + + Merge branch 'main' into gary + +commit ec672accd1c85813626ff4dce47db2391ed6364e +Author: gary_chen\gary_chen +Date: Mon Dec 4 00:33:55 2023 +0800 + + 代簽新增大日程的合約號及作番號 + 公告新增 modal 顯示 + funglobal 登入失敗從 alert 改成 php exit + header 新增藍凌過來的 token 解析 + t8 ip 連線改成內網連線 + 大日程根據會議議程更改計畫圖流程(新增經理階段) + 大日程單獨開通林慧姍的調整日期權限 + +commit 3e3a03fe11258d8fa5f98a8bbe2d94380b9c84f8 +Merge: bbea0b78 fd905c76 +Author: 10994015 +Date: Fri Dec 1 17:42:40 2023 +0800 + + 修復 價審 業務部mi bug + +commit fd905c76042b463af4d601cb474a39e9a57e1393 +Merge: fa3fb17b 215a4347 +Author: 10994015 +Date: Fri Dec 1 17:40:29 2023 +0800 + + Merge branch 'yan' of http://10.10.1.6:3080/masada-admin/httpdocs into yan + +commit fa3fb17bb7e254f3da6ca3086b9e25ef0bba91b9 +Author: 10994015 +Date: Fri Dec 1 17:40:17 2023 +0800 + + 修復價審業務mi Bug + +commit bbea0b78717f07eff2873874096f924838cfb6db +Merge: cb9f8853 8f0ab0aa +Author: Ellin +Date: Thu Nov 30 19:07:56 2023 +0800 + + Merge branch 'kaiyu' + +commit 8f0ab0aaa270da3896e6adf4f714fcd4056d618c +Author: Ellin +Date: Thu Nov 30 19:07:31 2023 +0800 + + 應收帳款修改 + +commit 8821a1dc661fa13b981d45a9bd66e6598ed6c2d7 +Author: 10994015 +Date: Thu Nov 30 17:54:25 2023 +0800 + + 合約簽核 + +commit 6da62c29e6d50e23487610b867f5fd1411f11e57 +Author: 10994015 +Date: Thu Nov 30 14:19:34 2023 +0800 + + 衝突解決 + +commit 53dfdc5ec95dd64774eb23865182371043306484 +Author: 10994015 +Date: Thu Nov 30 13:50:54 2023 +0800 + + 新梯價審簽核加上同意(上呈)、同意(結案) + +commit cb9f8853b1e4829b1664b89b5dd354bb2393fe9e +Merge: 9400da8a ef4a6183 +Author: Ellin +Date: Wed Nov 29 17:56:42 2023 +0800 + + Merge branch 'kaiyu' + +commit 9400da8ae04cce74598a3ff50b7c5c8f116e7f22 +Merge: b512dfc1 9cf3bfa1 +Author: Ellin +Date: Wed Nov 29 17:56:35 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit ef4a618347fdf4b4fc93af8dec43777766cef7a9 +Author: Ellin +Date: Wed Nov 29 17:56:03 2023 +0800 + + 增加查詢採購單跟新增外購組裝單 + +commit 9b45b4db297d89831aea7b70a0aadfe69fe08a4f +Author: 10994015 +Date: Wed Nov 29 17:21:52 2023 +0800 + + option final + +commit 26f850a5290835c71c53ae684b49f60b03c3ecf8 +Author: 10994015 +Date: Wed Nov 29 17:18:55 2023 +0800 + + 合併衝突 + +commit 215a43477a9d3268bb14ff2038f44645046d3179 +Merge: 56b8a9fc 0b7ddd78 +Author: 10994015 +Date: Wed Nov 29 17:17:52 2023 +0800 + + 合併衝突 + +commit 9cf3bfa102576098558da1a24256f3564fe24bee +Merge: 56b8a9fc d2abcf12 +Author: 10994015 +Date: Wed Nov 29 17:12:52 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 56b8a9fce778688ff853d1281f89667d844e5a94 +Author: 10994015 +Date: Wed Nov 29 17:11:46 2023 +0800 + + option 更新完成 + +commit 074a4bb4e50405c13fbdb99a47abc55d08202a24 +Author: 10994015 +Date: Tue Nov 28 17:23:33 2023 +0800 + + 更新option + +commit 23ec9ed89d093a690b2512d15c7996e7cf1d8de7 +Merge: 54c4ce2c d2abcf12 +Author: gary_chen\gary_chen +Date: Tue Nov 28 09:44:19 2023 +0800 + + Merge branch 'main' into gary + +commit 54c4ce2cd99f84d706fdebcbc737db83ad0777ba +Author: gary_chen\gary_chen +Date: Tue Nov 28 09:43:52 2023 +0800 + + 1.選單新增部門可以批次可讀可寫 + 2.修正大日程倉管的edit標籤 + 3.系統改為網址有帶入 token 即可自動登入系統 + 4.新增在裝中統計表 + +commit b512dfc1218a9666aea257d8c8c22158a6249c31 +Merge: d2abcf12 7c02e776 +Author: Ellin +Date: Mon Nov 27 18:13:17 2023 +0800 + + Merge branch 'kaiyu' + +commit 7c02e7768f249ad28db36437095debe9ca77c033 +Author: Ellin +Date: Mon Nov 27 18:12:42 2023 +0800 + + 測試發貨單API + +commit 2ccb0f743f7d057dcf2554b72d1ab1e3880821c2 +Author: 10994015 +Date: Fri Nov 24 17:40:10 2023 +0800 + + 合約書申請 暫存成功 + +commit d2abcf120e2a3358b99c5859237cc4c669150fba +Author: jrbin +Date: Fri Nov 24 16:09:27 2023 +0800 + + 開放李盈瑩瀏覽權限 + +commit 5874e1f953ef457a3e4bc4ba1d6e86b3691c9aa0 +Author: gary_chen\gary_chen +Date: Fri Nov 24 15:50:19 2023 +0800 + + 新增 寄新人手冊的功能 + +commit 1221f77c720788ecab0de7931a2214d350b067af +Author: jrbin +Date: Fri Nov 24 15:18:25 2023 +0800 + + 1.統編改非必填 + 2.修改瀏覽權限 + +commit 924ae65e53a7119de213fd78e9b290555b0eee5e +Author: 10994015 +Date: Fri Nov 24 13:19:29 2023 +0800 + + 未存檔 + +commit 1d73940bd4028e9ff372ba65763732d6f9a35a50 +Author: 10994015 +Date: Wed Nov 22 17:35:06 2023 +0800 + + 1122 + +commit 8ddf2034076d89dbc943ed44259d1adcb4343fd3 +Author: 10994015 +Date: Wed Nov 22 14:10:40 2023 +0800 + + 1122 + +commit 9e5facb1986e8f95eddbe926e0388e2982570300 +Author: 10994015 +Date: Tue Nov 21 17:38:37 2023 +0800 + + 新梯合約申請 1121 + +commit 7588bf6b7556954a6c493c0675ae2f7c155e5bba +Author: 10994015 +Date: Fri Nov 17 17:55:13 2023 +0800 + + 新梯合約申請1117 + +commit ace03b7038d939a30fe0cce76f77fc2c74143d16 +Author: 10994015 +Date: Thu Nov 16 18:05:41 2023 +0800 + + 合約書申請 新梯 1116 + +commit 0e039c6ddb997f86c1f88c286bb8f7e109a7a801 +Merge: aa7a680e 8f80993f +Author: Ellin +Date: Thu Nov 23 18:12:31 2023 +0800 + + Merge branch 'kaiyu' + +commit 8f80993f79d89b156ffebebc033aeb93ade7f1e2 +Author: Ellin +Date: Thu Nov 23 18:11:57 2023 +0800 + + 修改發票日期判斷與依據幣別作整數或取小數點後兩位 + +commit aa7a680e156480631a772137e4e397b02688ee55 +Author: jrbin +Date: Thu Nov 23 13:39:59 2023 +0800 + + 加上option項目狀態判斷 + +commit 9dc6ea134529ef018a282c91225855aa8a41c6b8 +Author: jrbin +Date: Thu Nov 23 11:50:11 2023 +0800 + + option刪除 修正 + +commit c49500f90630b990eaf5b460824cb4920655689a +Author: jrbin +Date: Thu Nov 23 09:55:49 2023 +0800 + + 汰改簽核bug fix + +commit 038bde23ae7575a255c9e5cb2d3f27578fd92076 +Merge: 0ee85f44 04972d80 +Author: gary_chen\gary_chen +Date: Thu Nov 23 09:27:05 2023 +0800 + + Merge branch 'main' into gary + +commit 0ee85f441167f4e21dd14ed80f42730212e41c18 +Author: gary_chen\gary_chen +Date: Thu Nov 23 09:26:51 2023 +0800 + + 不良單新增 sr sq 種類 + +commit 04972d8014d053af6bf64f02fa4343fef4f33178 +Merge: e42c7eb2 3da57613 +Author: Ellin +Date: Wed Nov 22 19:31:31 2023 +0800 + + Merge branch 'kaiyu' + +commit 3da5761322b56d1b8d62288e79b931253b3b39d9 +Author: Ellin +Date: Wed Nov 22 19:31:01 2023 +0800 + + 費用報銷單創建人傳入T8 + +commit e4c9c41a2600e16e0b5197d1911c3660b40b6f78 +Author: gary_chen\gary_chen +Date: Wed Nov 22 19:15:01 2023 +0800 + + 新增通知用的 class + +commit fe95d9b2efee1a861082be30f9f57bd7379afd58 +Author: gary_chen\gary_chen +Date: Wed Nov 22 19:03:00 2023 +0800 + + 品質不良單新增權限判斷 + +commit e42c7eb2c8c2e827ecfc69f37bcdb992edd5c503 +Merge: f96b4fa1 a13010fe +Author: gary_chen\gary_chen +Date: Wed Nov 22 16:16:28 2023 +0800 + + Merge branch 'main' into gary + +commit f96b4fa198c8471ee26d8ec9aa8485cc5df7e038 +Author: gary_chen\gary_chen +Date: Wed Nov 22 16:16:06 2023 +0800 + + 1.品質不良單 + 2.修正 mkt/database.php 的 .env 路徑 + +commit 4341362d2834a8fade7fb986838e0f48c8c3cc94 +Author: gary_chen\gary_chen +Date: Wed Nov 22 16:12:47 2023 +0800 + + 修正作番大日程倉管權限 + +commit a13010fe1839b5f9c7f258b2e74744a464730f99 +Author: 10994015 +Date: Wed Nov 22 15:07:09 2023 +0800 + + 特殊費用欄位順序更改 + +commit a5f15b73546141bc81ec81acc708356a2b10efea +Author: jrbin +Date: Wed Nov 22 14:09:07 2023 +0800 + + 1.把特殊費用納進成本 + 2.「加價」先隱藏,不納入成本 + +commit f8258019456c0adcbc625f1e2555b48bee3a6a68 +Merge: af0e179c 59379de7 +Author: Ellin +Date: Tue Nov 21 17:56:26 2023 +0800 + + Merge branch 'kaiyu' + +commit 59379de7a775f9245afc5f87f041ef9b78aed252 +Author: Ellin +Date: Tue Nov 21 17:56:01 2023 +0800 + + 修改費用報銷單BUG(增加財會人員審核階段新增刪除權限) + +commit 0b7ddd7828a8ca376d9c4c6479e2b10e24c29f7c +Author: 10994015 +Date: Tue Nov 21 17:38:37 2023 +0800 + + 新梯合約申請 1121 + +commit 6d143e28275916d7dd6ee9809e46cf82808876d1 +Merge: 719a39a2 af0e179c +Author: gary_chen\gary_chen +Date: Tue Nov 21 13:40:45 2023 +0800 + + Merge branch 'main' into gary + +commit 719a39a2e3ceba73438fc546c66ba712f77a0dbf +Author: gary_chen\gary_chen +Date: Tue Nov 21 13:40:30 2023 +0800 + + 修正計劃圖檔案上傳問題 bug + +commit af0e179cbdb72743041859e97329fc30bfa7bd11 +Author: jrbin +Date: Mon Nov 20 21:27:59 2023 +0800 + + remove test email + +commit 083d7ce4e8ffb5db96233e2e561d7bb6a77a58af +Author: Ellin +Date: Mon Nov 20 18:49:07 2023 +0800 + + 修改費用報銷單會計取T8費用項目的內容,應收帳款明細新增該階段應收金額 + +commit d27e98d1f4c9a71a69938e90e08fcf7561889d20 +Merge: 6b9cfc3e c347bdce +Author: gary_chen\gary_chen +Date: Mon Nov 20 10:18:46 2023 +0800 + + Merge branch 'main' into gary + +commit 6b9cfc3e9758d6b5441e78e60dbef1feed601ed0 +Author: gary_chen\gary_chen +Date: Mon Nov 20 10:17:53 2023 +0800 + + 工務助理發包合約上傳 bug 修正 + +commit 46c952dfd3e57c238ffd3ec694fe084e09368b8d +Author: gary_chen\gary_chen +Date: Mon Nov 20 10:17:10 2023 +0800 + + 品質不良單功能 (泉勝) + +commit b9b9d6af62bda9e49d6644c8f3ae2546810f50f9 +Author: gary_chen\gary_chen +Date: Mon Nov 20 09:52:21 2023 +0800 + + 通知已讀後要消失 + +commit c347bdce2ac6c3a624d99db8e139fb4b834bab7d +Merge: 49907527 58322e73 +Author: Ellin +Date: Fri Nov 17 18:53:08 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 499075276da6ec848eed91429d072b89f2632518 +Author: Ellin +Date: Fri Nov 17 18:52:39 2023 +0800 + + 對帳增加客戶名稱 + +commit 7c77b46b757e6e61266df4e3c81da50a0614f0b3 +Author: 10994015 +Date: Fri Nov 17 17:55:13 2023 +0800 + + 新梯合約申請1117 + +commit 58322e733ce01c5d8fc892b4938e299b1f132855 +Author: jrbin +Date: Fri Nov 17 17:44:19 2023 +0800 + + 價審bug fix + +commit f863da5b683e8de2d127ff21041e8f05aa15ef26 +Author: Ellin +Date: Fri Nov 17 15:27:47 2023 +0800 + + 對帳系統跟更新T8 API + +commit fdbca9e9ddaadb8d7d6201673d2f235a46d72f66 +Author: gary_chen\gary_chen +Date: Fri Nov 17 09:37:23 2023 +0800 + + 系統 wms 及 app 新增維護模式 + +commit 7b37600f41cc4845375cb236b783fbe3f6618944 +Author: 10994015 +Date: Thu Nov 16 18:05:41 2023 +0800 + + 合約書申請 新梯 1116 + +commit 59d0453b1ebfdc776b8cd477283d501e6c3e8cb2 +Merge: 6542c15e 8b3e3a79 +Author: Ellin +Date: Thu Nov 16 18:01:40 2023 +0800 + + Merge branch 'main' into kaiyu + +commit 6542c15ec16e0b09c49fc5866d310f652c16a0ea +Author: Ellin +Date: Thu Nov 16 18:00:33 2023 +0800 + + 新增對帳系統 + +commit 8b3e3a793dd06facf49fcb670e7fb6262e21ad7c +Merge: cca05cbc 7dac3835 +Author: gary_chen\gary_chen +Date: Thu Nov 16 17:31:08 2023 +0800 + + Merge branch 'main' into gary + +commit cca05cbc8a2a1d780b31b2d44f75cfecf1825fe1 +Author: gary_chen\gary_chen +Date: Thu Nov 16 17:30:43 2023 +0800 + + 大日程新增 外包合約上傳系統 完工驗收單上傳系統 + +commit 7dac3835def9a2523b81d50d319c17c9f63450e9 +Author: jrbin +Date: Thu Nov 16 14:47:41 2023 +0800 + + 修正退回後重送問題 + +commit 5f34a6d94524776d88338d94fa21d0800dda1975 +Author: jrbin +Date: Thu Nov 16 11:25:33 2023 +0800 + + 判斷來源程式 + +commit e380f5f410aa023d10821aad3a924756b9b45108 +Author: jrbin +Date: Thu Nov 16 11:19:56 2023 +0800 + + 1.excel-upload.php:增加電梯機型 + 2.契約價審檢查提交資料 + +commit 96490286bb31e3ad9d6fd1f2a4a296068bdde344 +Merge: d19d28da 9a000651 +Author: gary_chen\gary_chen +Date: Thu Nov 16 10:08:58 2023 +0800 + + Merge branch 'main' into gary + +commit d19d28da4d9bdd5ab8fd330a952fdf6648987be5 +Author: gary_chen\gary_chen +Date: Thu Nov 16 10:08:35 2023 +0800 + + 作番大日程新增"警示"欄位及篩選功能 + +commit 53ba49b59977c0318b68d4f369598946cb0490f3 +Author: Ellin +Date: Wed Nov 15 18:12:51 2023 +0800 + + 測試對帳系統資料 + +commit 9a0006516d77178c16975c62cf69dde0d3a832b5 +Merge: af27759c 5f43d5ce +Author: 10994015 +Date: Wed Nov 15 18:00:42 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit af27759cefa0aeba9cddcbad8c449218026585f0 +Author: 10994015 +Date: Wed Nov 15 17:59:55 2023 +0800 + + 新梯合約簽回1115 + +commit 6a8a53a029436dac27eca6c0ea948affeddb9506 +Merge: 246da5d7 2f452a6c +Author: 10994015 +Date: Tue Nov 14 17:46:54 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 246da5d796afbff59a57104f8b6fb29c546a7111 +Author: 10994015 +Date: Tue Nov 14 17:46:05 2023 +0800 + + 新梯合約管理 + +commit 5f43d5cec59abf5ae03b400f7a4c1c8b14ede056 +Merge: 2f452a6c 420a6645 +Author: Ellin +Date: Tue Nov 14 17:41:27 2023 +0800 + + Merge branch 'kaiyu' + +commit 420a66459aad303c61f8eea239c73be6cd354306 +Author: Ellin +Date: Tue Nov 14 17:40:53 2023 +0800 + + 測試採購單API + +commit 8e1053e106fd5ad75d7b98e93cc6f7b88b7e7e49 +Merge: 478a1d70 8851a834 +Author: gary_chen\gary_chen +Date: Tue Nov 14 15:07:39 2023 +0800 + + Merge branch 'gary' of http://10.10.1.6:3080/masada-admin/httpdocs into gary + +commit 478a1d70702b12222832500cbf3604a6cf198621 +Author: gary_chen\gary_chen +Date: Tue Nov 14 15:06:50 2023 +0800 + + 大日程新增自動帶入預計發包日期功能 + 修正營業無法調整移交日bug + 新增安裝大日程警示功能 + +commit 11abc3ceef9e61a3d023d5a2550143470ebf9e8e +Author: gary_chen\gary_chen +Date: Mon Nov 13 16:03:22 2023 +0800 + + 更改大日程申請計畫圖上傳簽核流程 + +commit 004aefd7505bc1acd553b381a1b3bdc0d57f9394 +Author: gary_chen\gary_chen +Date: Mon Nov 13 09:58:48 2023 +0800 + + 修正大日程出貨日申請單批次申請bug + +commit 8851a83459996e8db1bebfd655c72b78c9b877a7 +Author: gary_chen\gary_chen +Date: Tue Nov 14 15:06:50 2023 +0800 + + 大日程新增自動帶入預計發包日期功能 + 修正營業無法調整移交日bug + 新增安裝大日程警示功能 + +commit 2f452a6c266b1d39583076ad5fc8a5aa507228ec +Author: jrbin +Date: Tue Nov 14 09:22:12 2023 +0800 + + 何維光開放瀏覽 + +commit 3f8aa33bd0e2df2744fdb7ccbf333b22068dd10b +Merge: 24240f5c 83623b55 +Author: 10994015 +Date: Mon Nov 13 17:49:07 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 24240f5c6358bc0b7611d0012b9febbab190f929 +Author: 10994015 +Date: Mon Nov 13 17:48:27 2023 +0800 + + rm cached images/contracts + +commit 01482e59db5137bb2b4af2c6bb6126905842e298 +Author: 10994015 +Date: Mon Nov 13 17:44:42 2023 +0800 + + 新梯合約上傳完成 + +commit 83623b559f4fb4491fc20eeb1a805cd9b908a2b7 +Author: jrbin +Date: Mon Nov 13 16:05:26 2023 +0800 + + 規調查詢bug fix + +commit 44e910cbb413f94a5b4301418d55f13e574d24b2 +Author: gary_chen\gary_chen +Date: Mon Nov 13 16:03:22 2023 +0800 + + 更改大日程申請計畫圖上傳簽核流程 + +commit 8d551637775669fb1f2ffef667799b2ac6c662a4 +Author: gary_chen\gary_chen +Date: Mon Nov 13 09:58:48 2023 +0800 + + 修正大日程出貨日申請單批次申請bug + +commit ad352146e92d684536bb8840a7dc41b3be644f84 +Author: gary_chen +Date: Mon Nov 13 01:47:35 2023 +0000 + + 更新 wms/contract/api/getFacilityNo.php + +commit 66bb5a97d029d9614227bb7e8d2df16eb9708eb0 +Author: gary_chen +Date: Mon Nov 13 01:47:23 2023 +0000 + + 更新 wms/contract/api/getFacilityNo.php + +commit 238b86c82f56d9e0808b3b69bdf276d75fde3e7d +Merge: 7eceefa0 8327ea8c +Author: gary_chen\gary_chen +Date: Mon Nov 13 09:44:55 2023 +0800 + + Merge branch 'main' into gary + + # Conflicts: + # wms/contract/contract-input.php + +commit 7eceefa0cfc7d56f9d137e47c64c6b8d852e2e65 +Author: gary_chen\gary_chen +Date: Mon Nov 13 09:40:09 2023 +0800 + + no message + +commit 948586dc442c92e993508b580d7ab6ec188e8303 +Author: gary_chen\gary_chen +Date: Mon Nov 13 09:37:59 2023 +0800 + + 修正編列作番 class 規則 + +commit 5721447be59aea327212e64ccea959829e2cc98b +Merge: bac1d6e8 3c5c6f7e +Author: gary_chen\gary_chen +Date: Mon Nov 13 09:30:45 2023 +0800 + + Merge remote-tracking branch 'origin/yan' into gary + +commit bac1d6e8aceb43f02d0227ff3e353a6303fb2ec3 +Author: gary_chen\gary_chen +Date: Mon Nov 13 09:30:23 2023 +0800 + + 修正大日程 bug + +commit 3c5c6f7e6a2ad2789d401d3de12feb1426f9eeeb +Merge: cb0bab16 4ca030cd +Author: 10994015 +Date: Mon Nov 13 09:28:55 2023 +0800 + + merge + +commit 8327ea8cfa9eb83f92780654dd370d97133eac58 +Author: 10994015 +Date: Mon Nov 13 09:27:32 2023 +0800 + + merge + +commit cb0bab16fe42f1590a2a31490d08f3e03e77a87c +Author: 10994015 +Date: Mon Nov 13 09:26:54 2023 +0800 + + 1113 + +commit 24b93402f654e900db3d008e162a448d57f93b23 +Merge: a27bb543 7b26b8d5 +Author: 10994015 +Date: Mon Nov 13 09:03:15 2023 +0800 + + merge + +commit a27bb543aee677640f9944524baa1d3dd2d20bd0 +Merge: 6342bcd4 3035bf4e +Author: 10994015 +Date: Fri Nov 10 18:00:02 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 7b26b8d540933378927980691c40776c1de837c2 +Author: 10994015 +Date: Fri Nov 10 17:59:41 2023 +0800 + + 1110 + +commit 3035bf4e051e4916c064e0b4aa58b465b4112737 +Merge: 040552fe 2cbf5613 +Author: gary_chen\gary_chen +Date: Fri Nov 10 17:22:17 2023 +0800 + + Merge branch 'main' into gary + +commit 040552fe8ef7f12e84e9a944bd2151bc397cca59 +Author: gary_chen\gary_chen +Date: Fri Nov 10 17:21:44 2023 +0800 + + 作番編列 函數參數 $sale_type, $make_type改成陣列 (第一版) 只有改保養的 + +commit 7e7723fd58c106741693a5c71fdee904111ddc21 +Author: gary_chen\gary_chen +Date: Fri Nov 10 17:02:10 2023 +0800 + + 修正大日程 工務助理項目 bug + +commit 2cbf56132057ad904f3793d96812bdcd3425db06 +Author: jrbin +Date: Fri Nov 10 16:30:08 2023 +0800 + + 保養人員過濾 + +commit 31c891cba1aa38784d34fd55a1b68d23c70f89d3 +Author: jrbin +Date: Fri Nov 10 16:20:10 2023 +0800 + + 客戶資料查詢 + +commit 92aaf1993796a0727438da092d2fd6bb59796cf3 +Author: jrbin +Date: Fri Nov 10 15:53:34 2023 +0800 + + 1.欄位檢查 + 2.新增圖片 + +commit 566886363a93f844c8319d1549646ee9ab2a5839 +Author: jrbin +Date: Fri Nov 10 15:18:08 2023 +0800 + + 價審_修改 功能上版 + +commit 89a6bcb05ac4f0e85aab99d288cbeb7fcae99436 +Author: jrbin +Date: Fri Nov 10 13:20:42 2023 +0800 + + mi計算式修正 + +commit 4c177f24b52548723d257d29ecb71ae1ce15e206 +Author: 10994015 +Date: Mon Nov 6 17:51:19 2023 +0800 + + 1106 + +commit 949b37e3308a6e310fde32c4e294b20fbfce0d71 +Author: 10994015 +Date: Fri Nov 10 08:57:02 2023 +0800 + + 1110 + +commit 6342bcd477a7b985d83363c144c92b1fba21b24e +Author: 10994015 +Date: Fri Nov 10 08:49:11 2023 +0800 + + rebase + +commit 4ca030cdc4f28aa1930c96757f88c8f095a5b5cb +Merge: 0e2ccacc f6b04618 +Author: 10994015 +Date: Thu Nov 9 17:56:48 2023 +0800 + + 合約入力 修改1109 + +commit 0e2ccacc04092c5fb357a34e6174f90542bc6cc2 +Author: 10994015 +Date: Thu Nov 9 17:46:35 2023 +0800 + + 合約入力修改1109 + +commit 4081028775aefd99c12934674d9074e00de4f47d +Author: jrbin +Date: Thu Nov 9 11:35:30 2023 +0800 + + bug fix + +commit a748df3512ed25d3ffe9e22c8b4cf059dc3a07c6 +Author: jrbin +Date: Thu Nov 9 11:12:41 2023 +0800 + + 規調子項目序號 + +commit 822549a4533cd0cc2dcf7381b4a1a0648f81f6d6 +Author: gary_chen\gary_chen +Date: Thu Nov 9 09:30:07 2023 +0800 + + 修正部分大日程 申請計劃圖上傳 的流程 + +commit 1f0f2acd176a7371f597c82efa8fd257b748d4f1 +Author: 10994015 +Date: Thu Nov 9 09:14:05 2023 +0800 + + 新增合約書下載註解 + +commit cb974a7c19ceb03a25e862277fc67748189c2d31 +Author: 10994015 +Date: Wed Nov 8 20:00:59 2023 +0800 + + 合約入立wms 完成 + +commit dcb74c084f4ce72041ebc470bce7dbcf61200885 +Author: 10994015 +Date: Tue Nov 7 08:36:25 2023 +0800 + + createFacilityNo.php => getFacilityNo.php + +commit a56cbd8387996a5db8339d2bd65ce30c5c2fc87b +Author: 10994015 +Date: Mon Nov 6 17:51:19 2023 +0800 + + 1106 + +commit a68ca316230cb5b3a844a0367b8552cb554b5048 +Merge: 963df7d0 dc86fcc5 +Author: 10994015 +Date: Thu Nov 9 08:53:30 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit dc86fcc58537a9722d4963307f1847b0b53f1c2c +Merge: c59adb60 a8e9365d +Author: gary_chen\gary_chen +Date: Thu Nov 9 08:51:57 2023 +0800 + + Merge branch 'main' into gary + +commit c59adb60bc2ca281cc99cb050d9ca86dc6b42261 +Author: gary_chen\gary_chen +Date: Thu Nov 9 08:51:29 2023 +0800 + + 1."申請計劃圖上傳功能" 新增上船附件功能 + 2.大日程開放許協理的編輯權限 + +commit e2c5b7c9129d45f887840a9cdb55c0d1a3912d59 +Author: gary_chen\gary_chen +Date: Thu Nov 9 08:45:40 2023 +0800 + + calander 新增 .env 連線資料庫方式 + +commit a8e9365d122d7467118bff0a43b13221029db57a +Author: jrbin +Date: Wed Nov 8 15:02:57 2023 +0800 + + +鄭伊岑權限 + +commit fe0a37d5a89c7d3af1fd57550f55aa79403ef5aa +Author: gary_chen\gary_chen +Date: Wed Nov 8 14:23:55 2023 +0800 + + 1.取消追蹤 出貨地區預定明細.xls 並添加至gitignore + 2.作番大日程 index 新增 合約交期(到工地) 欄位 + 3.待簽進入明細頁 新增 _blank 開啟分頁,並嘗試隱藏已結案的內容。 + +commit 061a770e055622c35df9799676e9acb6f04ca900 +Author: gary_chen\gary_chen +Date: Wed Nov 8 14:20:20 2023 +0800 + + 修正出貨地區預定明細報表 + +commit 8a24ec4e0793ccbb5d492edffa8a32da1d46de40 +Merge: 2e291501 d2318ee6 +Author: jrbin +Date: Wed Nov 8 11:32:33 2023 +0800 + + Merge branch 'jrbin' + +commit d2318ee66210b81836e07f1554c06b780357ff4b +Author: jrbin +Date: Wed Nov 8 11:32:15 2023 +0800 + + 簽核bug修正 + +commit fb4710f63730b985cd1a701e0d8baeadc9d64c53 +Author: gary_chen\gary_chen +Date: Wed Nov 8 10:11:23 2023 +0800 + + 1.修正未上傳檔案卻產生日期戳記bug + 2.大日程新增許協理更改業務項目的權限 + +commit 2e29150184c455df3bfeabbab22bb1380d1fc323 +Merge: 6e912866 57136fa5 +Author: gary_chen\gary_chen +Date: Wed Nov 8 09:13:40 2023 +0800 + + Merge branch 'main' into gary + +commit 6e912866abf6a19f452e2ed18c21b59e224dbddb +Author: gary_chen\gary_chen +Date: Wed Nov 8 09:12:41 2023 +0800 + + gitignore 排除大日程產生的excel + +commit 57136fa53213875d96b2e8675becf58c64ca25b4 +Author: jrbin +Date: Wed Nov 8 09:08:38 2023 +0800 + + sql調整 + +commit fbad7dff721bec0a449232efa6a2c818f3190e7b +Author: gary_chen\gary_chen +Date: Wed Nov 8 09:06:34 2023 +0800 + + 大日程 工務助理新增 M0188 + +commit 2029ab132ffd981df07fb82b348c5db19154be26 +Author: gary_chen\gary_chen +Date: Wed Nov 8 09:05:55 2023 +0800 + + 大日程系統匯出excel 新增依照地址判斷區域的欄位 + +commit 9da64863c224ce5063ab75659614ff80ebba000c +Author: Ellin +Date: Tue Nov 7 15:04:12 2023 +0800 + + 註解掉header.php連T8資料庫的echo + +commit 963df7d03f4a1a0b4c72d547958b42c7de22590b +Merge: c51ffad0 df4c26cc +Author: 10994015 +Date: Tue Nov 7 08:36:37 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit df4c26cc3c231d37d1cea518979c3e00b1efb7a5 +Merge: 7780a7e4 c6dffadf +Author: Ellin +Date: Tue Nov 7 08:26:43 2023 +0800 + + Merge branch 'main' into kaiyu + +commit 7780a7e46c657bfcab437849ca3a1e3aaca25164 +Author: Ellin +Date: Tue Nov 7 08:25:27 2023 +0800 + + 修改rib01-check權限 + +commit f6b04618b5c0fe1a754f7bff02349ad84038fcb9 +Author: 10994015 +Date: Mon Nov 6 17:51:19 2023 +0800 + + 1106 + +commit db70e5c63276acf6a223ad5fa049b996bbc9a670 +Author: gary_chen\gary_chen +Date: Mon Nov 6 11:04:17 2023 +0800 + + 新增作番大日程工務部門"經理"權限 + +commit 72d8aa05287a4ebf29f093b208c5632d7d4191b4 +Author: Ellin +Date: Mon Nov 6 10:05:19 2023 +0800 + + 新增會計人員權限; 修改通知 + +commit c51ffad0c16a9af6d1f6bf7f985919290f145e0b +Merge: ccc89c52 c6dffadf +Author: 10994015 +Date: Mon Nov 6 09:14:05 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit ccc89c52d795b4fcb8e54076b036b38a91ca92b7 +Author: 10994015 +Date: Mon Nov 6 09:13:29 2023 +0800 + + 1116 + +commit c6dffadf02be1b91147e61b9aee95d6dd714d2ff +Merge: 4ecac3c3 6a15faab +Author: gary_chen\gary_chen +Date: Mon Nov 6 08:44:21 2023 +0800 + + Merge branch 'gary' + +commit 4ecac3c39f711bddbeba784acd45f187d7e23854 +Merge: d90196db 6d7b8a48 +Author: Ellin +Date: Fri Nov 3 18:15:53 2023 +0800 + + Merge branch 'kaiyu' + +commit 6d7b8a483489343b974b9583cbc520145c0d45f4 +Author: Ellin +Date: Fri Nov 3 18:15:31 2023 +0800 + + rib02-edit可看到廠商統編; rib01-business調統編 + +commit 7db6bb3b294895d661f6d4cc2b8f1dc24ae95ddf +Merge: 068e494c a9ee5768 +Author: 10994015 +Date: Fri Nov 3 18:12:33 2023 +0800 + + 解決衝突 + +commit 068e494cef35928aeb5c77530770acc10eb9dee5 +Author: 10994015 +Date: Fri Nov 3 18:01:14 2023 +0800 + + 合約入力 + +commit 6b1ddc734d18b2ee1af8d6b33e0d64568482aa14 +Author: 10994015 +Date: Fri Nov 3 18:07:05 2023 +0800 + + 衝突已解決 + +commit 22b677e3b165786de3a0024b5ae42e21da855944 +Merge: 7760a826 d90196db +Author: 10994015 +Date: Fri Nov 3 18:03:21 2023 +0800 + + 11/3 pull + +commit 6a15faab1649e3b906b0c34c1c7c5957cf5b04e6 +Merge: 67ed3452 d90196db +Author: gary_chen\gary_chen +Date: Fri Nov 3 18:02:55 2023 +0800 + + Merge branch 'main' into gary + +commit 67ed34527e4d6c79d9ce43bd5b59cdba6862fad8 +Author: gary_chen\gary_chen +Date: Fri Nov 3 18:02:31 2023 +0800 + + 報表修正bug + +commit d90196db1370c09ff8a50f4628c87216bdfb6c89 +Author: jrbin +Date: Fri Nov 3 09:30:58 2023 +0800 + + 文字 + +commit c506fcbed0b34e2b64571a36a74a49ccc670ee99 +Author: jrbin +Date: Fri Nov 3 09:25:30 2023 +0800 + + 改文字 + +commit d760420c4b5293314b9463496c6a541a47e2b99c +Author: gary_chen\gary_chen +Date: Fri Nov 3 09:03:53 2023 +0800 + + 修正大日程 index 頁面顯示錯誤 + +commit a9ee576846985e37915e9de0e73db8763786d2aa +Author: 10994015 +Date: Thu Nov 2 17:40:12 2023 +0800 + + 合約入力 11/2 + +commit 2e7982bdd82b8b8583a7fa8ea27f8960932daac7 +Merge: 78acda0d a7258c17 +Author: Ellin +Date: Thu Nov 2 17:30:36 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 78acda0d8a0a7ac23d0e02f1a865becad322eaca +Author: Ellin +Date: Thu Nov 2 17:28:30 2023 +0800 + + 改連MSSQL程式碼放的位置; 改供應商偵測 + +commit f8f352229f3758d02202bb5cbea4f0e78d7ed9a0 +Author: gary_chen\gary_chen +Date: Thu Nov 2 17:01:16 2023 +0800 + + 1.新增補丁 // 補丁 黃孟澤 & 葉博澄 權限等於 李烘銘。 + 2.新增暫時刪除及編輯權限 (M0175及M0079)。 + 3.新增 安裝圖附件時,同時寫入備註。 + +commit a7258c1784cd33c32a01bd3f0f71d486f3ff0e41 +Author: jrbin +Date: Thu Nov 2 14:52:31 2023 +0800 + + 開放工務助理專員查詢保養行程 + +commit 16ce8773d0d955140ba5c65f4928f06df00a513c +Author: jrbin +Date: Thu Nov 2 11:12:54 2023 +0800 + + 汰改bug fix + +commit 6fa1926fce6ede2d3bed3de793b171565cc9bae9 +Author: jrbin +Date: Thu Nov 2 09:53:47 2023 +0800 + + bug fix + +commit 3427043146de1691dd3f32ba3251649ada9f8813 +Author: jrbin +Date: Thu Nov 2 09:35:00 2023 +0800 + + bug fix + +commit 63414f7f485c90cd771542ff3ebdcbbe41745cf7 +Merge: 8ff78fa7 576814b4 +Author: gary_chen\gary_chen +Date: Thu Nov 2 09:33:01 2023 +0800 + + Merge branch 'main' into gary + +commit 8ff78fa72f04977aeae681009c4db0703d833763 +Author: gary_chen\gary_chen +Date: Thu Nov 2 09:32:40 2023 +0800 + + 1.新增工務助理確認項分頁 + 2.新增計畫圖上傳功能 + +commit 576814b49b9deb01474fcd0651acbee98439b22f +Author: jrbin +Date: Wed Nov 1 13:01:45 2023 +0800 + + 拆梯&美容成本平均分到每台 + +commit cabdb2cacd80f233f01201e6b027961ee1968b96 +Merge: 17cf832b b00da108 +Author: Ellin +Date: Wed Nov 1 10:37:36 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 17cf832b9a068464ffea3f5234cbb1d7df081bfa +Author: Ellin +Date: Wed Nov 1 10:36:05 2023 +0800 + + 將連線T8資料庫存到fun_global內 + +commit b00da108ef49e7e50fe8cfb7760cece0255119b6 +Author: jrbin +Date: Wed Nov 1 09:19:44 2023 +0800 + + 開放新梯客戶瀏覽權限:林慧珊 + +commit b6fff9abec53352bb0173a713b863f905b2c3b19 +Author: gary_chen\gary_chen +Date: Wed Nov 1 09:14:01 2023 +0800 + + 大日程 實際出貨日(到工地) 變更會通知營業人員 + +commit 90cf5ce5183072788541ba421bca43ca8f5b77f6 +Author: jrbin +Date: Tue Oct 31 19:18:10 2023 +0800 + + remove mkt/mkt/*.* + +commit 51ff33c86c253a3331dce03504d3afe5e5a01524 +Author: jrbin +Date: Tue Oct 31 18:12:41 2023 +0800 + + 修正Undefined offset + +commit ea90ec18fb104fc3d7595408ab1d9041e85860b0 +Author: gary_chen\gary_chen +Date: Tue Oct 31 17:47:10 2023 +0800 + + 調整大日程欄位大小 + +commit 05218e934f7ba1761025fb94cad0205056e15ef5 +Author: jrbin +Date: Tue Oct 31 16:43:35 2023 +0800 + + 電梯拆台計算MI:修改價審及規調功能 + +commit 7c999a831a0d2d5c6ca2d5920f0310a26febb8a0 +Author: gary_chen\gary_chen +Date: Tue Oct 31 13:27:15 2023 +0800 + + 新增 datatable 排序功能 + +commit 065209f768eb1d4019f3ccd678c3bbc8619835c1 +Author: gary_chen\gary_chen +Date: Tue Oct 31 09:53:17 2023 +0800 + + Merge branch 'gary' of http://10.10.1.6:3080/masada-admin/httpdocs into gary + + # Conflicts: + # wms/wipwhole-index-function.php + # wms/wipwhole-renovate-index-function.php + # wms/wipwhole-renovate-rec-invoice-edit.php + +commit 0e373c1ea518c226188a2a3e245917285c463723 +Merge: 082a80bb cb7c2458 +Author: gary_chen\gary_chen +Date: Tue Oct 31 09:51:35 2023 +0800 + + Merge branch 'gary' of http://10.10.1.6:3080/masada-admin/httpdocs into gary + +commit 082a80bb01798fbcacd7526ba439662aebae0e90 +Author: gary_chen\gary_chen +Date: Mon Oct 30 17:20:44 2023 +0800 + + 補 select2 缺的 js檔 + +commit cb7c2458c4857455ee1461af02167d36d7959ddd +Author: gary_chen\gary_chen +Date: Mon Oct 30 17:20:44 2023 +0800 + + 補 select2 缺的 js檔 + +commit 38847a4d1b2256daf0e236ee918dbe9f0bcbbcc1 +Author: gary_chen\gary_chen +Date: Mon Oct 30 17:20:14 2023 +0800 + + no message + +commit a754755e66cbf9a07637eaccd16bde92f3768705 +Author: gary_chen\gary_chen +Date: Mon Oct 30 17:19:42 2023 +0800 + + 增加宜蘭工務組長 大日程(實際安裝及試車日程)權限 + +commit 97c9be8dd081267d4e42cf620d629e37f77cea35 +Merge: e7909828 9f4f5b7f +Author: gary_chen\gary_chen +Date: Mon Oct 30 10:02:52 2023 +0800 + + Merge branch 'main' into gary + +commit 9f4f5b7f87744185b08ecc2cb2173a13be642857 +Author: Ellin +Date: Mon Oct 30 09:48:37 2023 +0800 + + .env跟T8資料庫連線 + +commit e7909828a6704c457b554877f88ba4ff6594bfb7 +Author: gary_chen\gary_chen +Date: Mon Oct 30 09:46:12 2023 +0800 + + 1,作番號製作 範例註解掉 + 2.保養行程功能製作中 + +commit 00f569aefeb5757481700079c6f0d01923dd4175 +Author: Ellin +Date: Mon Oct 30 08:57:08 2023 +0800 + + rm cache + +commit 7760a826a4e14c649141ad3d392be8c2bf9d2ec2 +Merge: c60b3056 24e99f2d +Author: 10994015 +Date: Mon Oct 30 08:33:04 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 2ed72098ec8d17354ab94ec2d1873f76c9325357 +Author: gary_chen\gary_chen +Date: Fri Oct 27 17:32:13 2023 +0800 + + 大日程 datatable 優化 + +commit 24e99f2d7cc6275c80e71b9a56ad5c14a230ee97 +Author: Ellin +Date: Fri Oct 27 17:30:55 2023 +0800 + + 改MSSQL密碼 + +commit 1a2e9c43cce963bf38b828a91187af568b4da38c +Author: gary_chen\gary_chen +Date: Fri Oct 27 13:33:27 2023 +0800 + + 作番大日程 移除業務編輯上方合約資料的權限 + +commit 2b8ea61f4071e8b1e94d361e823f713cb36bc7b9 +Merge: 24e8e12f 3d86e5d3 +Author: gary_chen\gary_chen +Date: Fri Oct 27 08:50:01 2023 +0800 + + Merge remote-tracking branch 'origin/kaiyu' into gary + +commit 24e8e12f7d50a5211041d6965278ab82f2aab1b5 +Author: gary_chen\gary_chen +Date: Fri Oct 27 08:47:42 2023 +0800 + + createFacilityNo.php + 1.將資料庫連線方式改為 .env 方式 + 2.新增檢查保養作番檢查規則 function getMakeNewBFacilityNoStatus + 3.移除部分用不到的變數 + +commit c60b30561c00ed6da3aaff89771ee179ece3fea5 +Merge: 473a6f87 0994df4a +Author: 10994015 +Date: Thu Oct 26 17:59:15 2023 +0800 + + database update + +commit 0994df4a881b540667cb543aca09dd23cd6b17da +Merge: 8fa28313 95f1891f +Author: 10994015 +Date: Thu Oct 26 17:57:49 2023 +0800 + + 1026test + +commit 8fa28313ba509836c2ee8af4d2b453710bc1ae45 +Author: 10994015 +Date: Thu Oct 26 17:55:38 2023 +0800 + + 1026 test + +commit 3d86e5d3fa329080842d4270dab17dbce34b8e53 +Merge: 5d9db5b6 2a3bf2c3 +Author: Ellin +Date: Thu Oct 26 17:50:45 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 5d9db5b6948b70a5c0ab70e028105bbc36c191ed +Author: Ellin +Date: Thu Oct 26 17:48:24 2023 +0800 + + 測試應付確認單API + +commit 7f3381aeaeaa78275f516165243ebd0c4403c013 +Author: 10994015 +Date: Thu Oct 26 16:34:20 2023 +0800 + + commit + +commit 2a3bf2c364c0a7d3d66207064f673fad1cfeaa4a +Author: jrbin +Date: Thu Oct 26 16:10:44 2023 +0800 + + bug fix + +commit 473a6f87dbab9053542960e2f1fa87d0ff937c23 +Merge: 36400ef5 c4c294be +Author: gary_chen\gary_chen +Date: Thu Oct 26 15:25:27 2023 +0800 + + Merge branch 'gary' + +commit 36400ef581edd9945e910a1741e395b6ee22f3e4 +Author: gary_chen\gary_chen +Date: Thu Oct 26 15:03:46 2023 +0800 + + hahaha + +commit c4c294be5830f4c84bff152396cc50e91812ecd6 +Merge: dfd1fb5b 2300cf78 +Author: gary_chen\gary_chen +Date: Thu Oct 26 15:02:03 2023 +0800 + + Merge branch 'gary' of http://10.10.1.6:3080/masada-admin/httpdocs into gary + +commit dfd1fb5b693c2b6a175ead2cb42c87641de8f003 +Author: gary_chen\gary_chen +Date: Thu Oct 26 14:14:59 2023 +0800 + + 建立作番小程式更換路徑至 /wms/createFacilityNo.php => /wms/contract/api/createFacilityNo.php + +commit 226c45986021395700c485377daf99e5861182e0 +Author: gary_chen\gary_chen +Date: Thu Oct 26 11:24:33 2023 +0800 + + 優化"申請單"其他裝置登入解析token並自動登入的程式碼 + +commit 7f6a2aaa4ec39327768b4ba98f04846ea043ca93 +Author: gary_chen\gary_chen +Date: Thu Oct 26 10:45:26 2023 +0800 + + 修正大日程 品證部門 修改權限bug + +commit 4630d8f2a2279c23721a570c3301468ecd56cbe5 +Author: IA2301\IA_2301 +Date: Wed Oct 25 17:40:28 2023 +0800 + + 新增藝匠圖申請表 功能 + +commit d93ed666e5759131a26e59756b903c1c52fc8107 +Merge: cc3d67c6 4599a508 +Author: 10994015 +Date: Thu Oct 26 14:59:09 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit cc3d67c6fdaea71bffbfe0de5398d8cf013bf112 +Author: 10994015 +Date: Thu Oct 26 14:59:02 2023 +0800 + + remove follow .env + +commit 4599a5081d567acb7880975c3a536b643cb64901 +Author: cy9577 +Date: Thu Oct 26 06:55:42 2023 +0000 + + 刪除 .env + +commit e3cad5b60b30968033b23bdecffee877fd71c7df +Author: cy9577 +Date: Thu Oct 26 06:55:19 2023 +0000 + + 更新 .gitignore + +commit 7439c3a6a7a71fc7082cf7398dfead8ac7d2f155 +Author: cy9577 +Date: Thu Oct 26 06:51:05 2023 +0000 + + 新增 .env + +commit 27c98411d02e1994f7bdbe289f48922780c35730 +Author: 10994015 +Date: Thu Oct 26 14:41:08 2023 +0800 + + create env + +commit b4576c56afb02ad4b4d17a2748f7c850ba9093d4 +Author: gary_chen +Date: Thu Oct 26 06:30:11 2023 +0000 + + 更新 wms/database.php + +commit 2300cf7837fb19282141ea9aa98e16ec29a046e1 +Author: gary_chen\gary_chen +Date: Thu Oct 26 14:29:30 2023 +0800 + + 修正database.php + +commit 8398630705a14cb86206ebfd8afd323ecc573d57 +Merge: a7d1a881 2bb51ce0 +Author: gary_chen\gary_chen +Date: Thu Oct 26 14:15:46 2023 +0800 + + Merge branch 'main' into gary + +commit a7d1a8812f5bc480863beaa822a1f2d95db69520 +Author: gary_chen\gary_chen +Date: Thu Oct 26 14:14:59 2023 +0800 + + 建立作番小程式更換路徑至 /wms/createFacilityNo.php => /wms/contract/api/createFacilityNo.php + +commit 2bb51ce0ccfd1a67465c2f3362b5ef65f85ce32d +Merge: 95e01ba1 28103d73 +Author: jrbin +Date: Thu Oct 26 14:06:42 2023 +0800 + + Merge branch 'jrbin' + + # Conflicts: + # .gitignore + +commit 28103d739f6cdb1bab802ea136da6b10589b2999 +Author: jrbin +Date: Thu Oct 26 14:04:37 2023 +0800 + + update .gitignore + +commit 95e01ba19a7b17f4f321bca8b297198a1a462e1f +Merge: c81b0473 15772786 +Author: Ellin +Date: Thu Oct 26 13:53:57 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit c81b047335dbf11e8c75759e8dccd76cadfb8690 +Author: Ellin +Date: Thu Oct 26 13:51:39 2023 +0800 + + rib01不給改單據編號 + +commit b79f798f5bd77a14512bcc2f3d18a8266df21a3e +Author: Ellin +Date: Thu Oct 26 13:32:37 2023 +0800 + + rib還原為與正式上線版一樣 + +commit 157727866d588e920a0dfc1284a9098ae4170adf +Merge: d85c0191 a53c1baa +Author: jrbin +Date: Thu Oct 26 11:35:03 2023 +0800 + + Merge branch 'jrbin' + +commit a53c1baa286ca6d524c0c40ffd3d87bd4347272d +Author: jrbin +Date: Thu Oct 26 11:34:13 2023 +0800 + + 電梯廠牌中文 + +commit d85c01914805f84a3e837082f40f854be4de4b91 +Merge: 049aebbc a9e4407b +Author: 10994015 +Date: Thu Oct 26 11:27:55 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 049aebbcede42fe677aac80a3810ac2fcdfdc6da +Author: 10994015 +Date: Thu Oct 26 11:27:37 2023 +0800 + + remove follow .env + +commit 5936797d46d790ecd42b19bd62e044ec43717019 +Author: gary_chen\gary_chen +Date: Thu Oct 26 11:24:33 2023 +0800 + + 優化"申請單"其他裝置登入解析token並自動登入的程式碼 + +commit 76167f4bae073e9ff79b9f85634ba9a1a88b5224 +Author: gary_chen\gary_chen +Date: Thu Oct 26 10:45:26 2023 +0800 + + 修正大日程 品證部門 修改權限bug + +commit a9e4407b85c6171d0df723a73f6806fec150d0d2 +Author: jrbin +Date: Thu Oct 26 10:28:08 2023 +0800 + + 契約價審修改 + +commit 31fb83dc50e215276869c48e9c4d100de5876165 +Author: 10994015 +Date: Thu Oct 26 09:41:12 2023 +0800 + + update .env + +commit 41f4e98e9d29af11fd653936871d70a7ddcddf1b +Author: 10994015 +Date: Thu Oct 26 09:35:44 2023 +0800 + + update env + +commit 0427d641adaee76cc18fd64ba6183e7583f34e21 +Author: cy9577 +Date: Thu Oct 26 01:34:38 2023 +0000 + + 新增 .env + +commit 0aef1d77403843f8aa9da2e13852195f0a03e547 +Author: 10994015 +Date: Thu Oct 26 09:33:38 2023 +0800 + + remove .env follow + +commit d71bcede33247110a611b148077ce47f92dcc2a7 +Author: 10994015 +Date: Thu Oct 26 09:29:22 2023 +0800 + + remove .env follow + +commit e8770beb86a782ee053ee88ff1218977af1c6826 +Author: cy9577 +Date: Thu Oct 26 01:27:01 2023 +0000 + + 新增 .env + +commit 271ada6ec630c22eaef26eba479b36e25835d5f0 +Merge: 51acf567 e8c6befa +Author: 10994015 +Date: Thu Oct 26 09:26:32 2023 +0800 + + Merge branch 'main' of http://10.10.1.6:3080/masada-admin/httpdocs + +commit 51acf567c7ee0dc066617396662aca91caab64ea +Author: 10994015 +Date: Thu Oct 26 09:26:06 2023 +0800 + + remove .env follow + +commit e8c6befa4f3dc463c46c77371cfa46ffc863e4d6 +Author: cy9577 +Date: Thu Oct 26 01:25:43 2023 +0000 + + 新增 .env + +commit 9526f04355f3cf1ec03c2df1219a6482e1627a74 +Author: cy9577 +Date: Thu Oct 26 01:25:30 2023 +0000 + + 刪除 .env + +commit 3226deb0191222a7b8716d76a5f8cd05e7bd1c74 +Author: cy9577 +Date: Thu Oct 26 01:23:02 2023 +0000 + + 新增 .gitignore + +commit 2a1935ae9d60a51d6eee9abb605f73978e147b82 +Author: cy9577 +Date: Thu Oct 26 01:22:49 2023 +0000 + + 刪除 ..gitignore + +commit a7c3d5ecfe7594c480dab56fda6ea62cb09c6e5d +Author: cy9577 +Date: Thu Oct 26 01:22:28 2023 +0000 + + 新增 ..gitignore + + create .gitignore + +commit c5d399caa5db30a9c9cc73fd69b4722ff91a271f +Author: cy9577 +Date: Thu Oct 26 01:21:40 2023 +0000 + + 新增 .env + + create .env + +commit d5b966d0245e33598b6c8c30febb2de6c49cddac +Author: 10994015 +Date: Thu Oct 26 09:20:45 2023 +0800 + + remove follow .env + +commit 2d727ec6f6b216f87c5c4479c3f280d103ab0aca +Author: 10994015 +Date: Thu Oct 26 09:19:54 2023 +0800 + + update .env + +commit a929373ad93785e4fd37d746eab537e9e295e4d8 +Author: cy9577 +Date: Thu Oct 26 01:19:17 2023 +0000 + + 更新 .env + +commit 5f68c3c17ba5a5a57734ae2a64ac7c1fa4126a45 +Author: 10994015 +Date: Thu Oct 26 09:17:22 2023 +0800 + + remove follow wms/contract/.env & wms/account_log + +commit ae33d8bca3b10254684a70b7d38ad5393650b0ae +Merge: 5ec527af a6ce9d57 +Author: 10994015 +Date: Thu Oct 26 09:03:31 2023 +0800 + + Merge branch 'main' into yan + +commit a6ce9d57f83ddae5ce214264655b08bc403a5f68 +Author: 10994015 +Date: Thu Oct 26 09:00:49 2023 +0800 + + 取消.env &.gitignore追蹤 + +commit aec5443d6ee324bbaf957022cdc2db077c5f7766 +Author: gary_chen\gary_chen +Date: Thu Oct 26 09:00:46 2023 +0800 + + gary branch 拿掉 .env + +commit 5ec527afbaa57a2ba0596e65fafed8f74275a6b7 +Merge: ecaad54f d1ffb81d +Author: 10994015 +Date: Thu Oct 26 08:43:04 2023 +0800 + + Merge branch 'main' into yan + +commit ecaad54f77826556904773ebc805899bd1ee68e8 +Author: 10994015 +Date: Thu Oct 26 08:41:28 2023 +0800 + + update .env + +commit 9862f67c2eaa645f4247640f56acd7aa4a6bcd12 +Author: Ellin +Date: Thu Oct 26 08:39:31 2023 +0800 + + 放回去rib02-edit + +commit d1ffb81df18b7e95af86d39d2ef22e84a30bea13 +Author: Ellin +Date: Wed Oct 25 18:40:43 2023 +0800 + + rebase + +commit 59555bbf8f167448290e3a2ab711b206ba00c331 +Merge: cfb1ee98 d427e9e1 +Author: Ellin +Date: Wed Oct 25 18:39:32 2023 +0800 + + Merge branch 'kaiyu' + +commit d427e9e1111c0867cbbe77aa228ee6b34f10a518 +Author: Ellin +Date: Wed Oct 25 18:38:08 2023 +0800 + + :rm api + +commit a1dc11deec65809034c316b8958292f2ab8394d9 +Author: Ellin +Date: Wed Oct 25 18:36:46 2023 +0800 + + api + +commit d170df6ab95b744a930bcb0a2c5415ec93818de8 +Author: IA2301\IA_2301 +Date: Wed Oct 25 17:40:28 2023 +0800 + + 新增藝匠圖申請表 功能 + +commit cfb1ee98a3194f04b3fc2930a3552249029c236a +Author: 10994015 +Date: Wed Oct 25 17:53:14 2023 +0800 + + 1025合約書生成修改完成 + +commit 7e706bdc13d0d8862c16b22293e76ff5931cef2c +Author: 10994015 +Date: Tue Oct 24 17:44:19 2023 +0800 + + 合約生成增加升降設備除外工程表 + +commit 95f1891ff530ebdfea438e55771128ca085434cb +Author: 10994015 +Date: Wed Oct 25 17:53:14 2023 +0800 + + 1025合約書生成修改完成 + +commit 1c3369a7d324b6fae93c6be4863c52c0b7632e67 +Author: gary_chen +Date: Wed Oct 25 09:35:52 2023 +0000 + + 更新 .gitignore + +commit bffd22b9f93ec35956908bc316c28c5c9f55e3cd +Author: jrbin +Date: Wed Oct 25 15:47:54 2023 +0800 + + con->cont + +commit 8dabb2fedb5bb7ed57bf42513f2cb956125c8fe6 +Author: jrbin +Date: Wed Oct 25 14:37:39 2023 +0800 + + _con->con + +commit 7a00d65044f4e4a7ff268e266ca16db7e30739ca +Author: jrbin +Date: Wed Oct 25 14:26:31 2023 +0800 + + update .gitignore + +commit 6873908b7b14a7c856ba95e556e5e95f1eac9866 +Author: jrbin +Date: Wed Oct 25 14:17:25 2023 +0800 + + con->cont + +commit 730741e5ed2eff34817715201d992baaf91ee5ed +Author: jrbin +Date: Wed Oct 25 13:20:13 2023 +0800 + + add workflow + +commit a983f4069c00a0d2e6e726552e85f341caa5c8d4 +Author: jrbin +Date: Wed Oct 25 13:14:08 2023 +0800 + + add con + +commit 09920d716bf7249d37cc897c5b1ddc969a4a6a33 +Author: jrbin +Date: Wed Oct 25 12:19:45 2023 +0800 + + restore workflow + +commit 10648d42c3eeca85cfdf890d1a89a0aeea998637 (origin/jrbin) +Author: jrbin +Date: Wed Oct 25 11:54:42 2023 +0800 + + update workflow + +commit a496c672de3e594699ffdf686314fc0ff504d185 +Author: jrbin +Date: Wed Oct 25 11:33:50 2023 +0800 + + add .gitignore + +commit 7195447afac7ca23d06fba91c1b2b8349122a9e3 +Author: Ellin +Date: Wed Oct 25 09:29:28 2023 +0800 + + rebase + +commit bf7fbf679029efc85c64ef3aab6d608fe648a232 +Author: Ellin +Date: Wed Oct 25 09:22:56 2023 +0800 + + rebase + +commit 00cd453203ad58262905515325607c5905885ae3 +Author: cy9577 +Date: Wed Oct 25 01:18:16 2023 +0000 + + 更新 .env + +commit 1840416a69be35f039c5d5f0791fd45a6a4d9ab6 +Merge: 481a368d 4001cbb5 +Author: Ellin +Date: Wed Oct 25 08:27:21 2023 +0800 + + Merge branch 'kaiyu' of http://10.10.1.6:3080/masada-admin/httpdocs into kaiyu + +commit 481a368df57d3cfd034aa258631e1ac0a223acee +Author: Ellin +Date: Tue Oct 24 18:17:47 2023 +0800 + + 修改business index;01edit + +commit 51d54ee0bf5d3fbe793daae0e8887e86a8107df7 +Author: 10994015 +Date: Tue Oct 24 17:44:19 2023 +0800 + + 合約生成增加升降設備除外工程表 + +commit 3dd205d5810f864169bd69ad73b745509fb014b4 +Author: 10994015 +Date: Tue Oct 24 16:31:09 2023 +0800 + + create .gitignore + +commit 3a5cab5f8af2557bd645ee58c8f1f5cafb8512d9 +Author: 10994015 +Date: Tue Oct 24 15:50:04 2023 +0800 + + create env + +commit 51292af6bf46b875efb7cd9fd88189a4665a7f4c +Author: 10994015 +Date: Tue Oct 24 15:41:41 2023 +0800 + + create env + +commit 91eb3c486ef6b88f977c38a2573f8034ba1c5275 +Author: 10994015 +Date: Tue Oct 24 15:39:26 2023 +0800 + + 還原env + +commit 17981a99ae3f522da4a733ad9b994b95d86f38d9 +Author: 10994015 +Date: Tue Oct 24 14:22:01 2023 +0800 + + db connect info 本地改成戰國策 + + upload mkt + + upload wms/mkt + +commit 4001cbb5a9e38f990ef7a21044d83fed033a8a73 +Merge: 82751c74 4ec14a02 +Author: Ellin +Date: Tue Oct 24 13:14:56 2023 +0800 + + Merge branch 'kaiyu' of http://10.10.1.6:3080/masada-admin/httpdocs into kaiyu + +commit 82751c74b0233285e2955eca20aa524ac0fccfca +Author: Ellin +Date: Tue Oct 24 11:52:55 2023 +0800 + + 會計審核時修改金額與稅率 + +commit 80604cee860db5d0ede345f84b82446b18a251e0 +Author: Ellin +Date: Tue Oct 24 10:11:27 2023 +0800 + + test + +commit 4ec14a027c864e326ed9f7fe4274fe47ef0654c9 +Author: Ellin +Date: Tue Oct 24 11:52:55 2023 +0800 + + 會計審核時修改金額與稅率 + +commit 1631ad2d561a596c96f522a4feb1286044570b3f +Author: 10994015 +Date: Tue Oct 24 11:50:04 2023 +0800 + + upload wms/mkt + +commit 02a1b5b55d209b10ed32b8b05447f23c85fb872b +Author: Ellin +Date: Tue Oct 24 10:11:27 2023 +0800 + + test + +commit c157aacff575664ed047c42ff34d0ef3dda0bcd7 +Author: IA2301\M0117 +Date: Tue Oct 24 09:54:06 2023 +0800 + + 20231024(二)更新CODE + +commit 10b79f71d630964172200cf7df331e266af55b4c +Author: 10994015 +Date: Tue Oct 24 09:45:25 2023 +0800 + + 測試 + +commit 3484b050d654f7e5a80a052259a9cf855a51a286 +Merge: fc707e25 e2f03013 +Author: a0980758238 +Date: Tue Oct 24 01:34:13 2023 +0000 + + Merge pull request 'added push message to line group' (#1) from a0980758238/httpdocs:main into main + + Reviewed-on: http://10.10.1.6:3080/masada-admin/httpdocs/pulls/1 + +commit e2f030136b24e30b47632a1d123e19ac8186df0a +Author: izumi.wang +Date: Tue Oct 24 09:26:46 2023 +0800 + + added push message to line group + +commit fc707e25130ffdede984a0e7d357b9ba1f4dc005 (tag: wms/app) +Author: izumi.wang +Date: Mon Oct 23 18:35:12 2023 +0800 + + first commit diff --git a/static/flow/cont/con01.json b/static/flow/cont/con01.json index 4b435a3d..ab807286 100644 --- a/static/flow/cont/con01.json +++ b/static/flow/cont/con01.json @@ -1 +1,71 @@ -{"flowName":"保养合约价格审核","systemId":"con","flowId":"con01","version":"","selectedNode":"start_node_1684033305000","saveUrl":"https://www.masada.com.tw/fds/index.php/DesignFlow/acceptJsonToSave/","publishUrl":"","drawID":"draw","flowList":{"start_node_1684033305000":{"nodeName":"申请","nodeId":"start_node_1684033305000","creator":"P0044","desc":"申请单位签核","nodeType":"start_node","targetId":["end_node_1684033370000"],"sourceId":[],"targetAnchor":[],"connector":[],"blockTop":"218.8625030517578px","blockLeft":"718.6625366210938px","endPoints":["RightMiddle"],"flowCode":"A","assignClass":"X","assignClassMethod":"function test($flow_context, $form)\n{\n\n $discount = empty($form['discount']) ? '' : $form['discount'];\n\n if ($discount >= '90') return 'C';\n if ($discount >= 80 and $discount < 90) return 'C';\n if ($discount >= 60 and $discount < 80) return 'D';\n if ($discount < 60) return 'F';\n return 'C';\n}","assigner":"","htmlDiv":"
\n \"\"\n

开始

\n
","allowAssign":"true","allowPassTo":"true","backOption":"B1"},"end_node_1684033370000":{"nodeName":"结案节点","nodeId":"end_node_1684033370000","creator":" ","desc":"结案节点","nodeType":"end_node","targetId":[],"sourceId":["start_node_1684033305000"],"targetAnchor":[],"connector":[],"blockTop":"409.26251220703125px","blockLeft":"903.6625366210938px","endPoints":["TopCenter"],"flowCode":"Z","assignClass":"A","assigner":"F4-结案:|","htmlDiv":"
\n \"\"\n

结案

\n
"}},"flowConnector":[{"ConnectionId":"con_5","PageSourceId":"start_node_1684033305000","PageTargetId":"end_node_1684033370000","SourceText":"","TargetText":"","SourceAnchor":"RightMiddle","TargetAnchor":"TopCenter"}]} \ No newline at end of file +{ + "flowName": "保养合约价格审核", + "systemId": "con", + "flowId": "con01", + "version": "", + "selectedNode": "start_node_1684033305000", + "saveUrl": "https://www.masada.com.tw/fds/index.php/DesignFlow/acceptJsonToSave/", + "publishUrl": "", + "drawID": "draw", + "flowList": { + "start_node_1684033305000": { + "nodeName": "申请", + "nodeId": "start_node_1684033305000", + "creator": "P0044", + "desc": "申请单位签核", + "nodeType": "start_node", + "targetId": [ + "end_node_1684033370000" + ], + "sourceId": [], + "targetAnchor": [], + "connector": [], + "blockTop": "218.8625030517578px", + "blockLeft": "718.6625366210938px", + "endPoints": [ + "RightMiddle" + ], + "flowCode": "A", + "assignClass": "X", + "assignClassMethod": "function test($flow_context, $form)\n{\n\n $discount = empty($form['discount']) ? '' : $form['discount'];\n\n if ($discount >= '90') return 'C';\n if ($discount >= 80 and $discount < 90) return 'C';\n if ($discount >= 60 and $discount < 80) return 'D';\n if ($discount < 60) return 'F';\n return 'C';\n}", + "assigner": "", + "htmlDiv": "
\n \"\"\n

开始

\n
", + "allowAssign": "true", + "allowPassTo": "true", + "backOption": "B1" + }, + "end_node_1684033370000": { + "nodeName": "结案节点", + "nodeId": "end_node_1684033370000", + "creator": " ", + "desc": "结案节点", + "nodeType": "end_node", + "targetId": [], + "sourceId": [ + "start_node_1684033305000" + ], + "targetAnchor": [], + "connector": [], + "blockTop": "409.26251220703125px", + "blockLeft": "903.6625366210938px", + "endPoints": [ + "TopCenter" + ], + "flowCode": "Z", + "assignClass": "A", + "assigner": "F4-结案:|", + "htmlDiv": "
\n \"\"\n

结案

\n
" + } + }, + "flowConnector": [ + { + "ConnectionId": "con_5", + "PageSourceId": "start_node_1684033305000", + "PageTargetId": "end_node_1684033370000", + "SourceText": "", + "TargetText": "", + "SourceAnchor": "RightMiddle", + "TargetAnchor": "TopCenter" + } + ] +} \ No newline at end of file diff --git a/wms/T8_APItest.php b/wms/T8_APItest.php index a6febca7..802934eb 100644 --- a/wms/T8_APItest.php +++ b/wms/T8_APItest.php @@ -1,72 +1,74 @@ \ No newline at end of file diff --git a/wms/T8_Authorization.php b/wms/T8_Authorization.php index d906dbbc..a1a756ce 100644 --- a/wms/T8_Authorization.php +++ b/wms/T8_Authorization.php @@ -1,21 +1,23 @@ \ No newline at end of file diff --git a/wms/T8_Authorization_from_bpm.php b/wms/T8_Authorization_from_bpm.php index a05417c1..3e8708b2 100644 --- a/wms/T8_Authorization_from_bpm.php +++ b/wms/T8_Authorization_from_bpm.php @@ -10,6 +10,8 @@ echo $validation = get_Auth($user_id, $user_password); function get_Auth($user_id = "M0000", $user_password = "M012290493119") { + $currentTime = time(); + $twoMinutesLater = $currentTime - (2 * 60); // $now = gmdate("YmdHis"); $now = gmdate("YmdHis", strtotime("-2 minutes")); @@ -35,8 +37,9 @@ function get_Auth($user_id = "M0000", $user_password = "M012290493119") curl_setopt($ch, CURLOPT_HTTPHEADER, $headerParam); $response = curl_exec($ch); + echo $response; if ($response === false) { - echo 'Curl error: ' . curl_error($ch); + echo '123Curl error: ' . curl_error($ch); } else { $result = json_decode($response, true); if ($result['Status'] == 'Success') @@ -47,3 +50,5 @@ function get_Auth($user_id = "M0000", $user_password = "M012290493119") curl_close($ch); } +// $data = []; +// get_Auth(); diff --git a/wms/account-receivable-excel.php b/wms/account-receivable-excel.php index 891156a6..db546b37 100644 --- a/wms/account-receivable-excel.php +++ b/wms/account-receivable-excel.php @@ -15,15 +15,15 @@ $sheet = $spreadsheet->getActiveSheet(); // file_put_contents('account-receivable.txt', json_encode($Bill)); if ($type == 'facility') { $colomnHeader = [ - '作番號', '合約號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', - '訂金名稱', '訂金合約金額', '訂金應收日期', '訂金目前應收金額', '訂金已收金額', '訂金催收金額', '訂金催收次數', - '二次款名稱', '二次款合約金額', '二次款應收日期', '二次款目前應收金額', '二次款已收金額', '二次款催收金額', '二次款催收次數', - '貨抵工地款名稱', '貨抵工地款合約金額', '貨抵工地款應收日期', '貨抵工地款目前應收金額', '貨抵工地款已收金額', '貨抵工地款催收金額', '貨抵工地款催收次數', - '安裝款名稱', '安裝款合約金額', '安裝款應收日期', '安裝款目前應收金額', '安裝款已收金額', '安裝款催收金額', '安裝款催收次數', - '試車款名稱', '試車款合約金額', '試車款應收日期', '試車款目前應收金額', '試車款已收金額', '試車款催收金額', '試車款催收次數', - '官檢款名稱', '官檢款合約金額', '官檢款應收日期', '官檢款目前應收金額', '官檢款已收金額', '官檢款催收金額', '官檢款催收次數', - '交車款名稱', '交車款合約金額', '交車款應收日期', '交車款目前應收金額', '交車款已收金額', '交車款催收金額', '交車款催收次數', - '尾款名稱', '尾款金額', '尾款應收日期', '尾款應收金額', '尾款已收金額', '尾款催收金額', '尾款催收次數', + 'T8單據日期','作番號', '合約號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', + '訂金名稱', '訂金合約金額', '訂金應收日期', '訂金目前應收金額','訂金已開金額','訂金未開金額', '訂金已收金額', '訂金催收金額', '訂金催收次數', + '二次款名稱', '二次款合約金額', '二次款應收日期', '二次款目前應收金額','二次款已開金額','二次款未開金額', '二次款已收金額', '二次款催收金額', '二次款催收次數', + '貨抵工地款名稱', '貨抵工地款合約金額', '貨抵工地款應收日期', '貨抵工地款目前應收金額','貨抵工地款已開金額','貨抵工地款未開金額', '貨抵工地款已收金額', '貨抵工地款催收金額', '貨抵工地款催收次數', + '安裝款名稱', '安裝款合約金額', '安裝款應收日期', '安裝款目前應收金額','安裝款已開金額','安裝款未開金額', '安裝款已收金額', '安裝款催收金額', '安裝款催收次數', + '試車款名稱', '試車款合約金額', '試車款應收日期', '試車款目前應收金額','試車款已開金額','試車款未開金額', '試車款已收金額', '試車款催收金額', '試車款催收次數', + '官檢款名稱', '官檢款合約金額', '官檢款應收日期', '官檢款目前應收金額','官檢款已開金額','官檢款未開金額', '官檢款已收金額', '官檢款催收金額', '官檢款催收次數', + '交車款名稱', '交車款合約金額', '交車款應收日期', '交車款目前應收金額','交車款已開金額','交車款未開金額', '交車款已收金額', '交車款催收金額', '交車款催收次數', + '尾款名稱', '尾款金額', '尾款應收日期', '尾款應收金額','尾款已開金額','尾款未開金額', '尾款已收金額', '尾款催收金額', '尾款催收次數', '作番狀態', '合約-設備金額','合約-安裝金額','作番合約總金額', '作番總應收金額' ]; $sheet->fromArray($colomnHeader, NULL, 'A1'); @@ -34,7 +34,7 @@ if ($type == 'facility') { $column = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', - 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO', 'BP','BQ','BR' + 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO', 'BP','BQ','BR','BK' ]; foreach ($column as $col) { $sheet->getColumnDimension($col)->setAutoSize(true); @@ -47,7 +47,7 @@ if ($type == 'facility') { $writer->save($excelFileName); } else { $colomnHeader = [ - '合約號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', + 'T8單據日期','合約號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', '訂金', '訂金目前應收', '訂金已開票金額','訂金未開票金額', '訂金已收金額', '訂金催收金額', '訂金最大催收次數', '訂金最小催收次數', '二次款', '二次款目前應收', '二次款已開票金額','二次款未開票金額', '二次款已收金額', '二次款催收金額', '二次款最大催收次數', '二次款最小催收次數', '貨抵工地款', '貨抵工地款目前應收', '貨抵工地款已開票金額','貨抵工地款未開票金額', '貨抵工地款已收金額', '貨抵工地款催收金額', '貨抵工地款最大催收次數', '貨抵工地款最小催收次數', @@ -67,12 +67,12 @@ if ($type == 'facility') { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO', 'BP', 'BQ', 'BR', 'BS', 'BT', 'BU', 'BV', 'BW', 'BX', 'BY', 'BZ', - 'CA','CB','CC' + 'CA','CB','CC','CD' ]; foreach ($column as $col) { - if ($col == 'CB') { - $sheet->getColumnDimension('CB')->setWidth(40); - $sheet->getStyle('CB')->getAlignment()->setWrapText(true); + if ($col == 'CC') { + $sheet->getColumnDimension('CC')->setWidth(40); + $sheet->getStyle('CC')->getAlignment()->setWrapText(true); } else { $sheet->getColumnDimension($col)->setAutoSize(true); } diff --git a/wms/account-receivable-facility.xlsx b/wms/account-receivable-facility.xlsx index 17779853..db0898a8 100644 Binary files a/wms/account-receivable-facility.xlsx and b/wms/account-receivable-facility.xlsx differ diff --git a/wms/account-receivable-index-ing.php b/wms/account-receivable-index-ing.php index a3312ef3..ced50411 100644 --- a/wms/account-receivable-index-ing.php +++ b/wms/account-receivable-index-ing.php @@ -1,5 +1,6 @@ 0"; //T8 銷售訂單 階段收款計畫 -$sql_contract = "SELECT a.BillNo, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId, +$sql_contract = "SELECT a.BillNo,s.BillDate, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId, c.EnterpriseName, c.TaxNo, c.ContactAddress FROM salOrderStagePay AS a LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo LEFT JOIN comBusinessPartner AS c ON s.BizPartnerId=c.BizPartnerId @@ -95,9 +96,11 @@ ON d.department_id = tmp2.department_id "; // 期初收款資訊 $sql_opening = " SELECT * FROM account_received "; - // 設定權限:看到自己的/下屬的,資訊處跟財會處可以看全部的 -if (!(in_array(accountidToDepartId($user_id), array('220', '210')))) { +if ((in_array($user_id, array('M0060', 'M0175'))) || (in_array(accountidToDepartId($user_id), array('220', '210')))) { + $sql .= " ORDER BY contractno"; + $sql_contract_budget .= "ORDER BY BillNo, CU_MaterialId"; +} else { $sql_contract .= "AND (s.PersonId = '$user_id'"; // $sql_received .= " AND (PersonId = '$user_id'"; $sql_opening .= " OR person_id = '$user_id'"; @@ -111,7 +114,7 @@ if (!(in_array(accountidToDepartId($user_id), array('220', '210')))) { // $sql_received .= " OR PersonId IN $column_str)"; $sql_opening .= " OR person_id IN $column_str)"; $sql .= " OR salesid IN $column_str ORDER BY contractno"; - $sql_contract_budget .= " OR PersonId IN $column_str ORDER BY BillNo, CU_MaterialId)"; + $sql_contract_budget .= " OR PersonId IN $column_str )ORDER BY BillNo, CU_MaterialId"; } else { $sql_contract .= ")"; // $sql_received .= ")"; @@ -119,9 +122,6 @@ if (!(in_array(accountidToDepartId($user_id), array('220', '210')))) { $sql .= " ORDER BY contractno"; $sql_contract_budget .= ")"; }; -} else { - $sql .= " ORDER BY contractno"; - $sql_contract_budget .= "ORDER BY BillNo, CU_MaterialId"; } $contract = $conn->query($sql_contract); @@ -141,6 +141,8 @@ foreach ($contract_budget_data as $cont) { $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['total'] += $cont['OAmountWithTax']; } else { $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['total'] = $cont['OAmountWithTax']; + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40001'] = 0; + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40008'] = 0; }; if (isset($contract_budget[$cont['BillNo']][$cont['MaterialId']])) { $contract_budget[$cont['BillNo']][$cont['MaterialId']] += $cont['OAmountWithTax']; @@ -184,6 +186,7 @@ foreach ($contract as $cont) { } else { $BillNo = $cont['BillNo']; }; + $BillDate = $cont['BillDate']; $PayStage = $cont['PayStage']; $PlanPayDate = $cont['PlanPayDate']; $PayAmount = $cont['PlanPayAmt']; @@ -195,12 +198,13 @@ foreach ($contract as $cont) { //['tryrun'] 0 試車款名 1試車金額 2 試車收款日期 ['check'] 0 官檢款名 1 官檢金額 2 官檢收款日期 ['delivery'] 0 交車款名 1 交車金額 2 交車收款日期 ['final'] 0 尾款名 1 尾款金額 2 尾款收款日期 //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 if (!(isset($arrayData[$BillNo]))) { - // 0 部門id 1 部門名稱 2 經理名稱 3 營業員id 4 營業員名稱 5 客戶名稱 6 抬頭 7 統編 8 通訊地址 + // 0 部門id 1 部門名稱 2 經理名稱 3 營業員id 4 營業員名稱 5 客戶名稱 6 抬頭 7 統編 8 通訊地址 9 T8單據日期 $arrayData[$BillNo] = [0, 0, 0, 0, 0, 0, 0, 0, 0]; $arrayData[$BillNo][5] = $partnerName; $arrayData[$BillNo][6] = $EnterpriseName; $arrayData[$BillNo][7] = $TaxNo; $arrayData[$BillNo][8] = $ContactAddress; + $arrayData[$BillNo][9] = $BillDate; $arrayData[$BillNo]['total_budget'] = 0; $arrayData[$BillNo]['invoice'] = array(); $arrayData[$BillNo]['received_budget'] = 0; @@ -212,7 +216,7 @@ foreach ($contract as $cont) { $arrayData[$BillNo]['total_facility_num'] = $arrayData[$BillNo]['delivery_num'] = $arrayData[$BillNo]['check_num'] = $arrayData[$BillNo]['tryrun_num'] = $arrayData[$BillNo]['install_num'] = $arrayData[$BillNo]['arrive_num'] = $arrayData[$BillNo]['second_num'] = $arrayData[$BillNo]['sign_num'] = $arrayData[$BillNo]['receivable_budget'] = 0; $arrayData[$BillNo]['total_list'] = $arrayData[$BillNo]['sign_list'] = $arrayData[$BillNo]['second_list'] = $arrayData[$BillNo]['arrive_list'] = $arrayData[$BillNo]['install_list'] = $arrayData[$BillNo]['tryrun_list'] = $arrayData[$BillNo]['check_list'] = $arrayData[$BillNo]['delivery_list'] = $arrayData[$BillNo]['final_list'] = []; } - if (stristr($PayStage, '二次款') || (stristr($PayStage, '出貨前') && $PayStage != "寶佳出貨前30天") || stristr($PayStage, '簽約後') || stristr($PayStage, '簽訂後') || stristr($PayStage, '建照核發時') || stristr($PayStage, '簽約60') || stristr($PayStage, '寶佳出貨後10天')) { + if (stristr($PayStage, '二次款') || (stristr($PayStage, '出貨前') && $PayStage != "寶佳出貨前30天") || stristr($PayStage, '簽約後') || stristr($PayStage, '訂金支付後') || stristr($PayStage, '簽訂後') || stristr($PayStage, '建照核發時') || stristr($PayStage, '簽約60') || stristr($PayStage, '寶佳出貨後10天')) { $arrayData[$BillNo]['second'][0] = $PayStage; $arrayData[$BillNo]['second'][1] = $PayAmount; $arrayData[$BillNo]['second'][2] = $PlanPayDate; @@ -300,8 +304,8 @@ foreach ($wipwhole_array as $wip) { $arrayData[$wip['contractno']][4] = $wip['name']; $arrayData[$wip['contractno']][10] = $wip['contractno']; $arrayData[$wip['contractno']]['total_facility_num'] += 1; - $arrayData[$wip['contractno']]['A40001'] = $contract_budget[$wip['contractno']]['A40001']; - $arrayData[$wip['contractno']]['A40008'] = $contract_budget[$wip['contractno']]['A40008']; + $arrayData[$wip['contractno']]['A40001'] = (isset($contract_budget[$wip['contractno']]['A40001']) && !is_null($contract_budget[$wip['contractno']]['A40001'])) ? $contract_budget[$wip['contractno']]['A40001'] : 0; + $arrayData[$wip['contractno']]['A40008'] = (isset($contract_budget[$wip['contractno']]['A40008']) && !is_null($contract_budget[$wip['contractno']]['A40008'])) ? $contract_budget[$wip['contractno']]['A40008'] : 0; // [合約號]['facility'][作番號]['no'] $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['no'] = $wip['facilityno']; $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = ""; @@ -896,19 +900,21 @@ foreach ($arrayData as &$value) { } //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 // 計算每台作番金額與各階段應收金額 - foreach ($value['facility'] as &$val) { - foreach ($contractstage as $stage) { - if (isset($value[$stage][0]) && !empty($value[$stage][0])) { - $val[$stage][0] = $value[$stage][0]; - if (isset($contract_budget[$value[10]]['total']) && isset($contract_budget[$value[10]][$val['no']]['total'])) { - $ratio = $contract_budget[$value[10]][$val['no']]['total'] / $contract_budget[$value[10]]['total']; - } else { - $ratio = 0; + if (isset($value['facility'])) { + foreach ($value['facility'] as &$val) { + foreach ($contractstage as $stage) { + if (isset($value[$stage][0]) && !empty($value[$stage][0])) { + $val[$stage][0] = $value[$stage][0]; + if (isset($contract_budget[$value[10]]['total']) && isset($contract_budget[$value[10]][$val['no']]['total'])) { + $ratio = $contract_budget[$value[10]][$val['no']]['total'] / $contract_budget[$value[10]]['total']; + } else { + $ratio = 0; + } + $val[$stage][1] = $value[$stage][1] * $ratio; + $val[$stage][3] = (!(isset($val[$stage][6])) || $val[$stage][6] == 0) ? 0 : $val[$stage][1]; + $val['total_budget'] += $val[$stage][1]; + $val['receivable_budget'] += $val[$stage][3]; } - $val[$stage][1] = $value[$stage][1] * $ratio; - $val[$stage][3] = (!(isset($val[$stage][6])) || $val[$stage][6] == 0) ? 0 : $val[$stage][1]; - $val['total_budget'] += $val[$stage][1]; - $val['receivable_budget'] += $val[$stage][3]; } } } @@ -986,24 +992,92 @@ foreach ($received_array as $received) { //['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 4 已收金額 5 催收金額 6 已開發票金額 7 未開發票金額 min 最早應收月份 max 最晚應收月份 foreach ($arrayData as $key => &$data) { + //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 7 已開票金額 8 未開票金額 + //作番 + $facilities = array(); + if (isset($data['facility'])) { + foreach ($data['facility'] as $fakey => $val) { + array_push($facilities, $fakey); + } + } + $tmp_data = $data['received_budget']; $tmp_invoice = $data['invoice_budget']; - - if ($data['sign'][3] > 0) { + if (isset($data['sign'][3]) && $data['sign'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['sign'][3]) >= 0) { $data['sign'][4] = $data['sign'][3]; $tmp_data -= $data['sign'][3]; + $tmp_facility_received = $data['sign'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; + $data['facility'][$this_facility]['sign'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + } + } else { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = 0; + } + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; + } + } } else { $data['sign'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['sign'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; + $data['facility'][$this_facility]['sign'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + } + } else { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = 0; + } + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; + } + } } $data['sign'][5] = $data['sign'][3] - $data['sign'][4]; } else { $data['sign'][4] = 0; $data['sign'][5] = $data['sign'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; + } + } } + //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 7 已開票金額 8 未開票金額 + //--------------------------------------------------------------------------------------------------------------------------------------------- if ($tmp_invoice > 0) { + $tmp_facility_invoice = $tmp_invoice; if (($tmp_invoice - $data['sign'][3]) >= 0) { $data['sign'][6] = $data['sign'][3]; $tmp_invoice -= $data['sign'][3]; @@ -1012,9 +1086,28 @@ foreach ($arrayData as $key => &$data) { $tmp_invoice = 0; } $data['sign'][7] = $data['sign'][3] - $data['sign'][6]; + foreach ($facilities as $this_facility) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice > $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][7] = $data['facility'][$this_facility]['sign'][3]; + $tmp_facility_invoice -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['sign'][7] = $tmp_facility_invoice; + $tmp_facility_invoice = 0; + } + $data['facility'][$this_facility]['sign'][8] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][7]; + } else { + $data['facility'][$this_facility]['sign'][7] = 0; + $data['facility'][$this_facility]['sign'][8] = $data['facility'][$this_facility]['sign'][3]; + } + } } else { $data['sign'][6] = 0; $data['sign'][7] = $data['sign'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['sign'][7] = 0; + $data['facility'][$this_facility]['sign'][8] = $data['facility'][$this_facility]['sign'][3]; + } } } else { $data['sign'][4] = 0; @@ -1022,21 +1115,81 @@ foreach ($arrayData as $key => &$data) { $data['sign'][6] = 0; $data['sign'][7] = 0; } - if ($data['second'][3] > 0) { + if (isset($data['second'][3]) && $data['second'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['second'][3]) >= 0) { $data['second'][4] = $data['second'][3]; $tmp_data -= $data['second'][3]; + $tmp_facility_received = $data['second'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; + $data['facility'][$this_facility]['second'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; + } else { + $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + } + } else { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = 0; + $data['facility'][$this_facility]['second'][6] = 0; + } + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; + } + } } else { $data['second'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['second'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; + $data['facility'][$this_facility]['second'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; + } else { + $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + } + } else { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = 0; + $data['facility'][$this_facility]['second'][6] = 0; + } + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; + } + } } $data['second'][5] = $data['second'][3] - $data['second'][4]; } else { $data['second'][4] = 0; $data['second'][5] = $data['second'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; + } + } } if ($tmp_invoice > 0) { + $tmp_facility_invoice = $tmp_invoice; if (($tmp_invoice - $data['second'][3]) >= 0) { $data['second'][6] = $data['second'][3]; $tmp_invoice -= $data['second'][3]; @@ -1045,9 +1198,28 @@ foreach ($arrayData as $key => &$data) { $tmp_invoice = 0; } $data['second'][7] = $data['second'][3] - $data['second'][6]; + foreach ($facilities as $this_facility) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice > $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][7] = $data['facility'][$this_facility]['second'][3]; + $tmp_facility_invoice -= $data['facility'][$this_facility]['second'][3]; + } else { + $data['facility'][$this_facility]['second'][7] = $tmp_facility_invoice; + $tmp_facility_invoice = 0; + } + $data['facility'][$this_facility]['second'][8] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][7]; + } else { + $data['facility'][$this_facility]['second'][7] = 0; + $data['facility'][$this_facility]['second'][8] = $data['facility'][$this_facility]['second'][3]; + } + } } else { $data['second'][6] = 0; $data['second'][7] = $data['second'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['second'][7] = 0; + $data['facility'][$this_facility]['second'][8] = $data['facility'][$this_facility]['second'][3]; + } } } else { $data['second'][4] = 0; @@ -1056,22 +1228,82 @@ foreach ($arrayData as $key => &$data) { $data['second'][7] = 0; } - if ($data['arrive'][3] > 0) { + if (isset($data['arrive'][3]) && $data['arrive'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['arrive'][1]) >= 0) { $data['arrive'][4] = $data['arrive'][3]; $tmp_data -= $data['arrive'][3]; + $tmp_facility_received = $data['arrive'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; + $data['facility'][$this_facility]['arrive'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; + } else { + $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + } + } else { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = 0; + $data['facility'][$this_facility]['arrive'][6] = 0; + } + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; + } + } } else { $data['arrive'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['arrive'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; + $data['facility'][$this_facility]['arrive'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; + } else { + $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + } + } else { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = 0; + $data['facility'][$this_facility]['arrive'][6] = 0; + } + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; + } + } } $data['arrive'][5] = $data['arrive'][3] - $data['arrive'][4]; } else { $data['arrive'][4] = 0; $data['arrive'][5] = $data['arrive'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; + } + } } if ($tmp_invoice > 0) { + $tmp_facility_invoice = $tmp_invoice; if (($tmp_invoice - $data['arrive'][3]) >= 0) { $data['arrive'][6] = $data['arrive'][3]; $tmp_invoice -= $data['arrive'][3]; @@ -1080,9 +1312,28 @@ foreach ($arrayData as $key => &$data) { $tmp_invoice = 0; } $data['arrive'][7] = $data['arrive'][3] - $data['arrive'][6]; + foreach ($facilities as $this_facility) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice > $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][7] = $data['facility'][$this_facility]['arrive'][3]; + $tmp_facility_invoice -= $data['facility'][$this_facility]['arrive'][3]; + } else { + $data['facility'][$this_facility]['arrive'][7] = $tmp_facility_invoice; + $tmp_facility_invoice = 0; + } + $data['facility'][$this_facility]['arrive'][8] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][7]; + } else { + $data['facility'][$this_facility]['arrive'][7] = 0; + $data['facility'][$this_facility]['arrive'][8] = $data['facility'][$this_facility]['arrive'][3]; + } + } } else { $data['arrive'][6] = 0; $data['arrive'][7] = $data['arrive'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['arrive'][7] = 0; + $data['facility'][$this_facility]['arrive'][8] = $data['facility'][$this_facility]['arrive'][3]; + } } } else { $data['arrive'][4] = 0; @@ -1091,22 +1342,82 @@ foreach ($arrayData as $key => &$data) { $data['arrive'][7] = 0; } - if ($data['install'][3] > 0) { + if (isset($data['install'][3]) && $data['install'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['install'][1]) >= 0) { $data['install'][4] = $data['install'][3]; $tmp_data -= $data['install'][3]; + $tmp_facility_received = $data['install'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; + $data['facility'][$this_facility]['install'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; + } else { + $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + } + } else { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = 0; + $data['facility'][$this_facility]['install'][6] = 0; + } + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; + } + } } else { $data['install'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['install'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; + $data['facility'][$this_facility]['install'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; + } else { + $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + } + } else { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = 0; + $data['facility'][$this_facility]['install'][6] = 0; + } + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; + } + } } $data['install'][5] = $data['install'][3] - $data['install'][4]; } else { $data['install'][4] = 0; $data['install'][5] = $data['install'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; + } + } } if ($tmp_invoice > 0) { + $tmp_facility_invoice = $tmp_invoice; if (($tmp_invoice - $data['install'][3]) >= 0) { $data['install'][6] = $data['install'][3]; $tmp_invoice -= $data['install'][3]; @@ -1115,9 +1426,28 @@ foreach ($arrayData as $key => &$data) { $tmp_invoice = 0; } $data['install'][7] = $data['install'][3] - $data['install'][6]; + foreach ($facilities as $this_facility) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice > $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][7] = $data['facility'][$this_facility]['install'][3]; + $tmp_facility_invoice -= $data['facility'][$this_facility]['install'][3]; + } else { + $data['facility'][$this_facility]['install'][7] = $tmp_facility_invoice; + $tmp_facility_invoice = 0; + } + $data['facility'][$this_facility]['install'][8] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][7]; + } else { + $data['facility'][$this_facility]['install'][7] = 0; + $data['facility'][$this_facility]['install'][8] = $data['facility'][$this_facility]['install'][3]; + } + } } else { $data['install'][6] = 0; $data['install'][7] = $data['install'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['install'][7] = 0; + $data['facility'][$this_facility]['install'][8] = $data['facility'][$this_facility]['install'][3]; + } } } else { $data['install'][4] = 0; @@ -1127,21 +1457,81 @@ foreach ($arrayData as $key => &$data) { } - if ($data['tryrun'][3] > 0) { + if (isset($data['tryrun'][3]) && $data['tryrun'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['tryrun'][1]) >= 0) { $data['tryrun'][4] = $data['tryrun'][3]; $tmp_data -= $data['tryrun'][3]; + $tmp_facility_received = $data['tryrun'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; + } else { + $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + } + } else { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + } } else { $data['tryrun'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['tryrun'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; + } else { + $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + } + } else { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + } } $data['tryrun'][5] = $data['tryrun'][3] - $data['tryrun'][4]; } else { $data['tryrun'][4] = 0; $data['tryrun'][5] = $data['tryrun'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + } } if ($tmp_invoice > 0) { + $tmp_facility_invoice = $tmp_invoice; if (($tmp_invoice - $data['tryrun'][3]) >= 0) { $data['tryrun'][6] = $data['tryrun'][3]; $tmp_invoice -= $data['tryrun'][3]; @@ -1150,9 +1540,28 @@ foreach ($arrayData as $key => &$data) { $tmp_invoice = 0; } $data['tryrun'][7] = $data['tryrun'][3] - $data['tryrun'][6]; + foreach ($facilities as $this_facility) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice > $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][7] = $data['facility'][$this_facility]['tryrun'][3]; + $tmp_facility_invoice -= $data['facility'][$this_facility]['tryrun'][3]; + } else { + $data['facility'][$this_facility]['tryrun'][7] = $tmp_facility_invoice; + $tmp_facility_invoice = 0; + } + $data['facility'][$this_facility]['tryrun'][8] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][7]; + } else { + $data['facility'][$this_facility]['tryrun'][7] = 0; + $data['facility'][$this_facility]['tryrun'][8] = $data['facility'][$this_facility]['tryrun'][3]; + } + } } else { $data['tryrun'][6] = 0; $data['tryrun'][7] = $data['tryrun'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['tryrun'][7] = 0; + $data['facility'][$this_facility]['tryrun'][8] = $data['facility'][$this_facility]['tryrun'][3]; + } } } else { $data['tryrun'][4] = 0; @@ -1161,21 +1570,81 @@ foreach ($arrayData as $key => &$data) { $data['tryrun'][7] = 0; } - if ($data['check'][3] > 0) { + if (isset($data['check'][3]) && $data['check'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['check'][1]) >= 0) { $data['check'][4] = $data['check'][3]; $tmp_data -= $data['check'][3]; + $tmp_facility_received = $data['check'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; + $data['facility'][$this_facility]['check'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; + } else { + $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + } + } else { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = 0; + $data['facility'][$this_facility]['check'][6] = 0; + } + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; + } + } } else { $data['check'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['check'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; + $data['facility'][$this_facility]['check'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; + } else { + $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + } + } else { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = 0; + $data['facility'][$this_facility]['check'][6] = 0; + } + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; + } + } } $data['check'][5] = $data['check'][3] - $data['check'][4]; } else { $data['check'][4] = 0; $data['check'][5] = $data['check'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; + } + } } if ($tmp_invoice > 0) { + $tmp_facility_invoice = $tmp_invoice; if (($tmp_invoice - $data['check'][3]) >= 0) { $data['check'][6] = $data['check'][3]; $tmp_invoice -= $data['check'][3]; @@ -1184,9 +1653,28 @@ foreach ($arrayData as $key => &$data) { $tmp_invoice = 0; } $data['check'][7] = $data['check'][3] - $data['check'][6]; + foreach ($facilities as $this_facility) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice > $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][7] = $data['facility'][$this_facility]['check'][3]; + $tmp_facility_invoice -= $data['facility'][$this_facility]['check'][3]; + } else { + $data['facility'][$this_facility]['check'][7] = $tmp_facility_invoice; + $tmp_facility_invoice = 0; + } + $data['facility'][$this_facility]['check'][8] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][7]; + } else { + $data['facility'][$this_facility]['check'][7] = 0; + $data['facility'][$this_facility]['check'][8] = $data['facility'][$this_facility]['check'][3]; + } + } } else { $data['check'][6] = 0; $data['check'][7] = $data['check'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['check'][7] = 0; + $data['facility'][$this_facility]['check'][8] = $data['facility'][$this_facility]['check'][3]; + } } } else { $data['check'][4] = 0; @@ -1194,21 +1682,81 @@ foreach ($arrayData as $key => &$data) { $data['check'][6] = 0; $data['check'][7] = 0; } - if ($data['delivery'][3] > 0) { + if (isset($data['delivery'][3]) && $data['delivery'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['delivery'][1]) >= 0) { $data['delivery'][4] = $data['delivery'][3]; $tmp_data -= $data['delivery'][3]; + $tmp_facility_received = $data['delivery'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; + $data['facility'][$this_facility]['delivery'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; + } else { + $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + } + } else { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = 0; + $data['facility'][$this_facility]['delivery'][6] = 0; + } + if ($data['facility'][$this_facility]['delivery'][5] == 0) { + $data['facility'][$this_facility]['delivery'][6] = 0; + } + } } else { $data['delivery'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['delivery'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; + $data['facility'][$this_facility]['delivery'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; + } else { + $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + } + } else { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = 0; + $data['facility'][$this_facility]['delivery'][6] = 0; + } + if ($data['facility'][$this_facility]['delivery'][5] == 0) { + $data['facility'][$this_facility]['delivery'][6] = 0; + } + } } $data['delivery'][5] = $data['delivery'][3] - $data['delivery'][4]; } else { $data['delivery'][4] = 0; $data['delivery'][5] = $data['delivery'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; + } + } } if ($tmp_invoice > 0) { + $tmp_facility_invoice = $tmp_invoice; if (($tmp_invoice - $data['delivery'][3]) >= 0) { $data['delivery'][6] = $data['delivery'][3]; $tmp_invoice -= $data['delivery'][3]; @@ -1217,9 +1765,28 @@ foreach ($arrayData as $key => &$data) { $tmp_invoice = 0; } $data['delivery'][7] = $data['delivery'][3] - $data['delivery'][6]; + foreach ($facilities as $this_facility) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice > $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][7] = $data['facility'][$this_facility]['delivery'][3]; + $tmp_facility_invoice -= $data['facility'][$this_facility]['delivery'][3]; + } else { + $data['facility'][$this_facility]['delivery'][7] = $tmp_facility_invoice; + $tmp_facility_invoice = 0; + } + $data['facility'][$this_facility]['delivery'][8] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][7]; + } else { + $data['facility'][$this_facility]['delivery'][7] = 0; + $data['facility'][$this_facility]['delivery'][8] = $data['facility'][$this_facility]['delivery'][3]; + } + } } else { $data['delivery'][6] = 0; $data['delivery'][7] = $data['delivery'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['delivery'][7] = 0; + $data['facility'][$this_facility]['delivery'][8] = $data['facility'][$this_facility]['delivery'][3]; + } } } else { $data['delivery'][4] = 0; @@ -1228,21 +1795,81 @@ foreach ($arrayData as $key => &$data) { $data['delivery'][7] = 0; } - if ($data['final'][3] > 0) { + if (isset($data['final'][3]) && $data['final'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['final'][1]) >= 0) { $data['final'][4] = $data['final'][3]; $tmp_data -= $data['final'][3]; + $tmp_facility_received = $data['final'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; + } else { + $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + } + } else { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = 0; + $data['facility'][$this_facility]['final'][6] = 0; + } + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; + } + } } else { $data['final'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['final'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; + } else { + $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + } + } else { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = 0; + $data['facility'][$this_facility]['final'][6] = 0; + } + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; + } + } } $data['final'][5] = $data['final'][3] - $data['final'][4]; } else { $data['final'][4] = 0; $data['final'][5] = $data['final'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + } + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; + } } if ($tmp_invoice > 0) { + $tmp_facility_invoice = $tmp_invoice; if (($tmp_invoice - $data['final'][3]) >= 0) { $data['final'][6] = $data['final'][3]; $tmp_invoice -= $data['final'][3]; @@ -1251,9 +1878,28 @@ foreach ($arrayData as $key => &$data) { $tmp_invoice = 0; } $data['final'][7] = $data['final'][3] - $data['final'][6]; + foreach ($facilities as $this_facility) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice > $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][7] = $data['facility'][$this_facility]['final'][3]; + $tmp_facility_invoice -= $data['facility'][$this_facility]['final'][3]; + } else { + $data['facility'][$this_facility]['final'][7] = $tmp_facility_invoice; + $tmp_facility_invoice = 0; + } + $data['facility'][$this_facility]['final'][8] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][7]; + } else { + $data['facility'][$this_facility]['final'][7] = 0; + $data['facility'][$this_facility]['final'][8] = $data['facility'][$this_facility]['final'][3]; + } + } } else { $data['final'][6] = 0; $data['final'][7] = $data['final'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['final'][7] = 0; + $data['facility'][$this_facility]['final'][8] = $data['facility'][$this_facility]['final'][3]; + } } } else { $data['final'][4] = 0; @@ -1261,8 +1907,16 @@ foreach ($arrayData as $key => &$data) { $data['final'][6] = 0; $data['final'][7] = 0; } + $contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); + foreach ($contractstage as $i) { + if ($data[$i][5] == 0) { + $data[$i]['min'] = 0; + $data[$i]['max'] = 0; + } + } } + //產生excel的array $excel_aray = array(); $boga_array = array(); @@ -1271,8 +1925,8 @@ $facility_array = array(); $facility_boga_array = array(); $facility_exclude_boga_array = array(); foreach ($arrayData as $key => $value) { - $sum_A40001 += $value['A40001']; - $sum_A40008 += $value['A40008']; + $sum_A40001 += isset($value['A40001']) ? $value['A40001'] : 0; + $sum_A40008 += isset($value['A40008']) ? $value['A40008'] : 0; $sum_total_budget += $value['total_budget']; $sum_facility += $value['total_facility_num']; $value['sign'][3] = (isset($value['sign'][3])) ? $value['sign'][3] : 0; @@ -1283,105 +1937,112 @@ foreach ($arrayData as $key => $value) { $value['check'][3] = (isset($value['check'][3])) ? $value['check'][3] : 0; $value['delivery'][3] = (isset($value['delivery'][3])) ? $value['delivery'][3] : 0; $value['final'][3] = (isset($value['final'][3])) ? $value['final'][3] : 0; + $value[9] = (isset($value[9])) ? Date('Ymd', strtotime($value[9])) : 0; $contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); foreach ($contractstage as $i) { $value[$i]['max'] = (empty($value[$i]['max']) || is_null($value[$i]['max'])) ? 0 : $value[$i]['max']; $value[$i]['min'] = (empty($value[$i]['min']) || is_null($value[$i]['min'])) ? 0 : $value[$i]['min']; $value[$i][4] = (isset($value[$i][4])) ? $value[$i][4] : 0; $value[$i][5] = (isset($value[$i][5])) ? $value[$i][5] : 0; + $value['A40001'] = (isset($value['A40001'])) ? $value['A40001'] : 0; + $value['A40008'] = (isset($value['A40008'])) ? $value['A40008'] : 0; }; - if ($value['sign'][0] == "寶佳出貨前30天") { + if (isset($value['sign'][0]) && $value['sign'][0] == "寶佳出貨前30天") { $boga_array[$key] = [ - $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], - number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], - number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], - number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), $value['install']['max'], $value['install']['min'], - number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), $value['tryrun']['max'], $value['tryrun']['min'], - number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), $value['check']['max'], $value['check']['min'], - number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), $value['delivery']['max'], $value['delivery']['min'], - number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), $value['final']['max'], $value['final']['min'], + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), number_format($value['sign']['max']), number_format($value['sign']['min']), + number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), number_format($value['second']['max']), number_format($value['second']['min']), + number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), number_format($value['arrive']['max']), number_format($value['arrive']['min']), + number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), number_format($value['install']['max']), number_format($value['install']['min']), + number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), number_format($value['tryrun']['max']), number_format($value['tryrun']['min']), + number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), number_format($value['check']['max']), number_format($value['check']['min']), + number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), number_format($value['delivery']['max']), number_format($value['delivery']['min']), + number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), number_format($value['final']['max']), number_format($value['final']['min']), number_format(round($value['A40001'])), number_format(round($value['A40008'])), number_format(round($value['total_budget'])), number_format(round($value['receivable_budget'])), number_format(round($value['invoice_budget'])), number_format(round($value['received_budget'])), $value['total_facility_num'], str_replace('
', '; ', $value['facilities']) ]; } else { $exclude_boga_array[$key] = [ - $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], - number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], - number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], - number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), $value['install']['max'], $value['install']['min'], - number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), $value['tryrun']['max'], $value['tryrun']['min'], - number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), $value['check']['max'], $value['check']['min'], - number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), $value['delivery']['max'], $value['delivery']['min'], - number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), $value['final']['max'], $value['final']['min'], + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), number_format($value['sign']['max']), number_format($value['sign']['min']), + number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), number_format($value['second']['max']), number_format($value['second']['min']), + number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), number_format($value['arrive']['max']), number_format($value['arrive']['min']), + number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), number_format($value['install']['max']), number_format($value['install']['min']), + number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), number_format($value['tryrun']['max']), number_format($value['tryrun']['min']), + number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), number_format($value['check']['max']), number_format($value['check']['min']), + number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), number_format($value['delivery']['max']), number_format($value['delivery']['min']), + number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), number_format($value['final']['max']), number_format($value['final']['min']), number_format(round($value['A40001'])), number_format(round($value['A40008'])), number_format(round($value['total_budget'])), number_format(round($value['receivable_budget'])), number_format(round($value['invoice_budget'])), number_format(round($value['received_budget'])), $value['total_facility_num'], str_replace('
', '; ', $value['facilities']) ]; } $excel_aray[$key] = [ - $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], - number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], - number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], - number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), $value['install']['max'], $value['install']['min'], - number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), $value['tryrun']['max'], $value['tryrun']['min'], - number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), $value['check']['max'], $value['check']['min'], - number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), $value['delivery']['max'], $value['delivery']['min'], - number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), $value['final']['max'], $value['final']['min'], + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), number_format($value['sign']['max']), number_format($value['sign']['min']), + number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), number_format($value['second']['max']), number_format($value['second']['min']), + number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), number_format($value['arrive']['max']), number_format($value['arrive']['min']), + number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), number_format($value['install']['max']), number_format($value['install']['min']), + number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), number_format($value['tryrun']['max']), number_format($value['tryrun']['min']), + number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), number_format($value['check']['max']), number_format($value['check']['min']), + number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), number_format($value['delivery']['max']), number_format($value['delivery']['min']), + number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), number_format($value['final']['max']), number_format($value['final']['min']), number_format(round($value['A40001'])), number_format(round($value['A40008'])), number_format(round($value['total_budget'])), number_format(round($value['receivable_budget'])), number_format(round($value['invoice_budget'])), number_format(round($value['received_budget'])), $value['total_facility_num'], str_replace('
', '; ', $value['facilities']) ]; //['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 min 最早應收月份 max 最晚應收月份 //[合約號]['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 - foreach ($value['facility'] as $valkey => $val) { - foreach ($contractstage as $stage) { - $val[$stage][0] = (!(isset($val[$stage][0])) || is_null($val[$stage][0])) ? "-" : $val[$stage][0]; - $val[$stage][1] = (!(isset($val[$stage][1])) || is_null($val[$stage][1])) ? 0 : $val[$stage][1]; - $val[$stage][2] = (!(isset($val[$stage][2])) || is_null($val[$stage][2])) ? "-" : $val[$stage][2]; - $val[$stage][3] = (!(isset($val[$stage][3])) || is_null($val[$stage][3])) ? 0 : $val[$stage][3]; - $val[$stage][4] = (!(isset($val[$stage][4])) || is_null($val[$stage][4])) ? 0 : $val[$stage][4]; - $val[$stage][5] = (!(isset($val[$stage][5])) || is_null($val[$stage][5])) ? 0 : $val[$stage][5]; - $val[$stage][6] = (!(isset($val[$stage][6])) || is_null($val[$stage][6])) ? 0 : $val[$stage][6]; - } - $facility_array[$valkey] = [ - $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), $val['sign'][6], - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), $val['second'][6], - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), $val['arrive'][6], - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), $val['install'][6], - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), $val['tryrun'][6], - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), $val['check'][6], - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), $val['delivery'][6], - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), $val['final'][6], - str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) - ]; - if ($value['sign'][0] == "寶佳出貨前30天") { - $facility_boga_array[$valkey] = [ - $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), $val['sign'][6], - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), $val['second'][6], - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), $val['arrive'][6], - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), $val['install'][6], - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), $val['tryrun'][6], - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), $val['check'][6], - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), $val['delivery'][6], - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), $val['final'][6], - str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) - ]; - } else { - $facility_exclude_boga_array[$valkey] = [ - $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), $val['sign'][6], - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), $val['second'][6], - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), $val['arrive'][6], - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), $val['install'][6], - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), $val['tryrun'][6], - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), $val['check'][6], - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), $val['delivery'][6], - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), $val['final'][6], + if (isset($value['facility'])) { + foreach ($value['facility'] as $valkey => $val) { + foreach ($contractstage as $stage) { + $val[$stage][0] = (!(isset($val[$stage][0])) || is_null($val[$stage][0])) ? "-" : $val[$stage][0]; + $val[$stage][1] = (!(isset($val[$stage][1])) || is_null($val[$stage][1])) ? 0 : $val[$stage][1]; + $val[$stage][2] = (!(isset($val[$stage][2])) || is_null($val[$stage][2])) ? "-" : $val[$stage][2]; + $val[$stage][3] = (!(isset($val[$stage][3])) || is_null($val[$stage][3])) ? 0 : $val[$stage][3]; + $val[$stage][4] = (!(isset($val[$stage][4])) || is_null($val[$stage][4])) ? 0 : $val[$stage][4]; + $val[$stage][5] = (!(isset($val[$stage][5])) || is_null($val[$stage][5])) ? 0 : $val[$stage][5]; + $val[$stage][6] = (!(isset($val[$stage][6])) || is_null($val[$stage][6])) ? 0 : $val[$stage][6]; + $val[$stage][7] = (!(isset($val[$stage][7])) || is_null($val[$stage][7])) ? 0 : $val[$stage][7]; + $val[$stage][8] = (!(isset($val[$stage][8])) || is_null($val[$stage][8])) ? 0 : $val[$stage][8]; + } + $facility_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][7])), number_format(round($val['sign'][8])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][7])), number_format(round($val['second'][8])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][7])), number_format(round($val['arrive'][8])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][7])), number_format(round($val['install'][8])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][7])), number_format(round($val['tryrun'][8])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][7])), number_format(round($val['check'][8])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][7])), number_format(round($val['delivery'][8])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][7])), number_format(round($val['final'][8])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) ]; + if ($value['sign'][0] == "寶佳出貨前30天") { + $facility_boga_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][7])), number_format(round($val['sign'][8])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][7])), number_format(round($val['second'][8])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][7])), number_format(round($val['arrive'][8])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][7])), number_format(round($val['install'][8])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][7])), number_format(round($val['tryrun'][8])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][7])), number_format(round($val['check'][8])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][7])), number_format(round($val['delivery'][8])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][7])), number_format(round($val['final'][8])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) + ]; + } else { + $facility_exclude_boga_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][7])), number_format(round($val['sign'][8])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][7])), number_format(round($val['second'][8])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][7])), number_format(round($val['arrive'][8])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][7])), number_format(round($val['install'][8])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][7])), number_format(round($val['tryrun'][8])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][7])), number_format(round($val['check'][8])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][7])), number_format(round($val['delivery'][8])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][7])), number_format(round($val['final'][8])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) + ]; + } } } } @@ -1415,9 +2076,6 @@ $facility_exclude_boga_data = json_encode($facility_exclude_boga_array); width: 125px; } - table { - width: 100%; - } #table_index_filter { float: right; @@ -1431,7 +2089,10 @@ $facility_exclude_boga_data = json_encode($facility_exclude_boga_array); display: inline-flex; margin-bottom: .5rem; margin-top: .5rem; + } + tr .hidden { + display: none; } @@ -1493,56 +2154,25 @@ $facility_exclude_boga_data = json_encode($facility_exclude_boga_array);
- +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + @@ -1551,50 +2181,63 @@ include "./footer.php"; foreach ($arrayData as $key => $value) { ?> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + $value) { - foreach ($value['facility'] as $fakey => $facility) { - foreach ($contractstage as $stage) { - switch ($stage) { - case 'sign': - $stageno = 0; - break; - case 'second': - $stageno = 1; - break; - case 'arrive': - $stageno = 2; - break; - case 'install': - $stageno = 3; - break; - case 'tryrun': - $stageno = 4; - break; - case 'check': - $stageno = 5; - break; - case 'delivery': - $stageno = 6; - break; - case 'final': - $stageno = 7; - break; - } - if (isset($value[$stage]) && isset($value[$stage][0]) && !empty($value[$stage][0])) { - if ($value[$stage][3] > 0) { - $stage3 = 1; - } else { - $stage3 = 0; + if (isset($value['facility']) && !empty($value['facility'])) { + foreach ($value['facility'] as $fakey => $facility) { + foreach ($contractstage as $stage) { + switch ($stage) { + case 'sign': + $stageno = 0; + break; + case 'second': + $stageno = 1; + break; + case 'arrive': + $stageno = 2; + break; + case 'install': + $stageno = 3; + break; + case 'tryrun': + $stageno = 4; + break; + case 'check': + $stageno = 5; + break; + case 'delivery': + $stageno = 6; + break; + case 'final': + $stageno = 7; + break; } - $budget = $value[$stage][1]; - $receivable_date = $value[$stage][2]; - $table .= "INSERT INTO account_receivable ( + if (isset($value[$stage]) && isset($value[$stage][0]) && !empty($value[$stage][0])) { + if ($value[$stage][3] > 0) { + $stage3 = 1; + } else { + $stage3 = 0; + } + if ($value[$stage][7] > 0) { + $stage7 = 1; + } else { + $stage7 = 0; + } + $invoice_budget = $value[$stage][7]; + $received_budget = $value[$stage][4]; + $budget = $value[$stage][1]; + $receivable_date = $value[$stage][2]; + $table .= "INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('$key','$fakey',$stageno,$budget,$receivable_date,$stage3); \n"; +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`"; + if ($value[$stage][7] > 0) { + $table .= ",`invoice_state`"; + } + $table .= ") VALUES ('$key','$fakey',$stageno,$budget,$receivable_date,$stage3,$stage7,$invoice_budget,$received_budget "; + if ($value[$stage][7] > 0) { + $table .= ",0"; + } + $table .= "); \n"; + } } } } diff --git a/wms/account-receivable-index.php b/wms/account-receivable-index.php index 5e4f9e0d..cab5caf3 100644 --- a/wms/account-receivable-index.php +++ b/wms/account-receivable-index.php @@ -1,4 +1,7 @@ 0"; //T8 銷售訂單 階段收款計畫 -$sql_contract = "SELECT a.BillNo, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId, +$sql_contract = "SELECT a.BillNo,s.BillDate, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId, c.EnterpriseName, c.TaxNo, c.ContactAddress FROM salOrderStagePay AS a LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo LEFT JOIN comBusinessPartner AS c ON s.BizPartnerId=c.BizPartnerId @@ -95,9 +98,11 @@ ON d.department_id = tmp2.department_id "; // 期初收款資訊 $sql_opening = " SELECT * FROM account_received "; - // 設定權限:看到自己的/下屬的,資訊處跟財會處可以看全部的 -if (!(in_array(accountidToDepartId($user_id), array('220', '210')))) { +if ((in_array($user_id, array('M0060', 'M0175'))) || (in_array(accountidToDepartId($user_id), array('220', '210')))) { + $sql .= " ORDER BY contractno"; + $sql_contract_budget .= "ORDER BY BillNo, CU_MaterialId"; +} else { $sql_contract .= "AND (s.PersonId = '$user_id'"; // $sql_received .= " AND (PersonId = '$user_id'"; $sql_opening .= " OR person_id = '$user_id'"; @@ -111,7 +116,7 @@ if (!(in_array(accountidToDepartId($user_id), array('220', '210')))) { // $sql_received .= " OR PersonId IN $column_str)"; $sql_opening .= " OR person_id IN $column_str)"; $sql .= " OR salesid IN $column_str ORDER BY contractno"; - $sql_contract_budget .= " OR PersonId IN $column_str ORDER BY BillNo, CU_MaterialId)"; + $sql_contract_budget .= " OR PersonId IN $column_str )ORDER BY BillNo, CU_MaterialId"; } else { $sql_contract .= ")"; // $sql_received .= ")"; @@ -119,9 +124,6 @@ if (!(in_array(accountidToDepartId($user_id), array('220', '210')))) { $sql .= " ORDER BY contractno"; $sql_contract_budget .= ")"; }; -} else { - $sql .= " ORDER BY contractno"; - $sql_contract_budget .= "ORDER BY BillNo, CU_MaterialId"; } $contract = $conn->query($sql_contract); @@ -141,6 +143,8 @@ foreach ($contract_budget_data as $cont) { $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['total'] += $cont['OAmountWithTax']; } else { $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['total'] = $cont['OAmountWithTax']; + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40001'] = 0; + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40008'] = 0; }; if (isset($contract_budget[$cont['BillNo']][$cont['MaterialId']])) { $contract_budget[$cont['BillNo']][$cont['MaterialId']] += $cont['OAmountWithTax']; @@ -184,6 +188,7 @@ foreach ($contract as $cont) { } else { $BillNo = $cont['BillNo']; }; + $BillDate = $cont['BillDate']; $PayStage = $cont['PayStage']; $PlanPayDate = $cont['PlanPayDate']; $PayAmount = $cont['PlanPayAmt']; @@ -195,12 +200,13 @@ foreach ($contract as $cont) { //['tryrun'] 0 試車款名 1試車金額 2 試車收款日期 ['check'] 0 官檢款名 1 官檢金額 2 官檢收款日期 ['delivery'] 0 交車款名 1 交車金額 2 交車收款日期 ['final'] 0 尾款名 1 尾款金額 2 尾款收款日期 //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 if (!(isset($arrayData[$BillNo]))) { - // 0 部門id 1 部門名稱 2 經理名稱 3 營業員id 4 營業員名稱 5 客戶名稱 6 抬頭 7 統編 8 通訊地址 + // 0 部門id 1 部門名稱 2 經理名稱 3 營業員id 4 營業員名稱 5 客戶名稱 6 抬頭 7 統編 8 通訊地址 9 T8單據日期 $arrayData[$BillNo] = [0, 0, 0, 0, 0, 0, 0, 0, 0]; $arrayData[$BillNo][5] = $partnerName; $arrayData[$BillNo][6] = $EnterpriseName; $arrayData[$BillNo][7] = $TaxNo; $arrayData[$BillNo][8] = $ContactAddress; + $arrayData[$BillNo][9] = $BillDate; $arrayData[$BillNo]['total_budget'] = 0; $arrayData[$BillNo]['invoice'] = array(); $arrayData[$BillNo]['received_budget'] = 0; @@ -212,7 +218,7 @@ foreach ($contract as $cont) { $arrayData[$BillNo]['total_facility_num'] = $arrayData[$BillNo]['delivery_num'] = $arrayData[$BillNo]['check_num'] = $arrayData[$BillNo]['tryrun_num'] = $arrayData[$BillNo]['install_num'] = $arrayData[$BillNo]['arrive_num'] = $arrayData[$BillNo]['second_num'] = $arrayData[$BillNo]['sign_num'] = $arrayData[$BillNo]['receivable_budget'] = 0; $arrayData[$BillNo]['total_list'] = $arrayData[$BillNo]['sign_list'] = $arrayData[$BillNo]['second_list'] = $arrayData[$BillNo]['arrive_list'] = $arrayData[$BillNo]['install_list'] = $arrayData[$BillNo]['tryrun_list'] = $arrayData[$BillNo]['check_list'] = $arrayData[$BillNo]['delivery_list'] = $arrayData[$BillNo]['final_list'] = []; } - if (stristr($PayStage, '二次款') || (stristr($PayStage, '出貨前') && $PayStage != "寶佳出貨前30天") || stristr($PayStage, '簽約後') || stristr($PayStage, '簽訂後') || stristr($PayStage, '建照核發時') || stristr($PayStage, '簽約60') || stristr($PayStage, '寶佳出貨後10天')) { + if (stristr($PayStage, '二次款') || (stristr($PayStage, '出貨前') && $PayStage != "寶佳出貨前30天") || stristr($PayStage, '簽約後') || stristr($PayStage, '訂金支付後') || stristr($PayStage, '簽訂後') || stristr($PayStage, '建照核發時') || stristr($PayStage, '簽約60') || stristr($PayStage, '寶佳出貨後10天')) { $arrayData[$BillNo]['second'][0] = $PayStage; $arrayData[$BillNo]['second'][1] = $PayAmount; $arrayData[$BillNo]['second'][2] = $PlanPayDate; @@ -300,8 +306,8 @@ foreach ($wipwhole_array as $wip) { $arrayData[$wip['contractno']][4] = $wip['name']; $arrayData[$wip['contractno']][10] = $wip['contractno']; $arrayData[$wip['contractno']]['total_facility_num'] += 1; - $arrayData[$wip['contractno']]['A40001'] = $contract_budget[$wip['contractno']]['A40001']; - $arrayData[$wip['contractno']]['A40008'] = $contract_budget[$wip['contractno']]['A40008']; + $arrayData[$wip['contractno']]['A40001'] = (isset($contract_budget[$wip['contractno']]['A40001']) && !is_null($contract_budget[$wip['contractno']]['A40001'])) ? $contract_budget[$wip['contractno']]['A40001'] : 0; + $arrayData[$wip['contractno']]['A40008'] = (isset($contract_budget[$wip['contractno']]['A40008']) && !is_null($contract_budget[$wip['contractno']]['A40008'])) ? $contract_budget[$wip['contractno']]['A40008'] : 0; // [合約號]['facility'][作番號]['no'] $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['no'] = $wip['facilityno']; $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = ""; @@ -896,19 +902,21 @@ foreach ($arrayData as &$value) { } //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 // 計算每台作番金額與各階段應收金額 - foreach ($value['facility'] as &$val) { - foreach ($contractstage as $stage) { - if (isset($value[$stage][0]) && !empty($value[$stage][0])) { - $val[$stage][0] = $value[$stage][0]; - if (isset($contract_budget[$value[10]]['total']) && isset($contract_budget[$value[10]][$val['no']]['total'])) { - $ratio = $contract_budget[$value[10]][$val['no']]['total'] / $contract_budget[$value[10]]['total']; - } else { - $ratio = 0; + if (isset($value['facility'])) { + foreach ($value['facility'] as &$val) { + foreach ($contractstage as $stage) { + if (isset($value[$stage][0]) && !empty($value[$stage][0])) { + $val[$stage][0] = $value[$stage][0]; + if (isset($contract_budget[$value[10]]['total']) && isset($contract_budget[$value[10]][$val['no']]['total'])) { + $ratio = $contract_budget[$value[10]][$val['no']]['total'] / $contract_budget[$value[10]]['total']; + } else { + $ratio = 0; + } + $val[$stage][1] = $value[$stage][1] * $ratio; + $val[$stage][3] = (!(isset($val[$stage][6])) || $val[$stage][6] == 0) ? 0 : $val[$stage][1]; + $val['total_budget'] += $val[$stage][1]; + $val['receivable_budget'] += $val[$stage][3]; } - $val[$stage][1] = $value[$stage][1] * $ratio; - $val[$stage][3] = (!(isset($val[$stage][6])) || $val[$stage][6] == 0) ? 0 : $val[$stage][1]; - $val['total_budget'] += $val[$stage][1]; - $val['receivable_budget'] += $val[$stage][3]; } } } @@ -986,22 +994,90 @@ foreach ($received_array as $received) { //['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 4 已收金額 5 催收金額 6 已開發票金額 7 未開發票金額 min 最早應收月份 max 最晚應收月份 foreach ($arrayData as $key => &$data) { + //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 + //作番 + $facilities = array(); + if (isset($data['facility'])) { + foreach ($data['facility'] as $fakey => $val) { + array_push($facilities, $fakey); + } + } + $tmp_data = $data['received_budget']; $tmp_invoice = $data['invoice_budget']; - - if ($data['sign'][3] > 0) { + //------------------------------------------------------------------------------------------------------------------------------------ + if (isset($data['sign'][3]) && $data['sign'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['sign'][3]) >= 0) { $data['sign'][4] = $data['sign'][3]; $tmp_data -= $data['sign'][3]; + $tmp_facility_received = $data['sign'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; + $data['facility'][$this_facility]['sign'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; + }else{ + $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['sign'][5] =$data['facility'][$this_facility]['sign'][3] -$data['facility'][$this_facility]['sign'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + + } + }else{ + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = 0; + } + if($data['facility'][$this_facility]['sign'][5] == 0){ + $data['facility'][$this_facility]['sign'][6] =0; + } + } } else { $data['sign'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['sign'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; + $data['facility'][$this_facility]['sign'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; + }else{ + $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['sign'][5] =$data['facility'][$this_facility]['sign'][3] -$data['facility'][$this_facility]['sign'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + + } + }else{ + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = 0; + } + if($data['facility'][$this_facility]['sign'][5] == 0){ + $data['facility'][$this_facility]['sign'][6] =0; + } + } } $data['sign'][5] = $data['sign'][3] - $data['sign'][4]; } else { $data['sign'][4] = 0; $data['sign'][5] = $data['sign'][3]; + foreach($facilities as $this_facility){ + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + if($data['facility'][$this_facility]['sign'][5] == 0){ + $data['facility'][$this_facility]['sign'][6] =0; + } + } } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['sign'][3]) >= 0) { @@ -1022,19 +1098,81 @@ foreach ($arrayData as $key => &$data) { $data['sign'][6] = 0; $data['sign'][7] = 0; } - if ($data['second'][3] > 0) { + if (isset($data['second'][3]) && $data['second'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['second'][3]) >= 0) { $data['second'][4] = $data['second'][3]; $tmp_data -= $data['second'][3]; + $tmp_facility_received = $data['second'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; + $data['facility'][$this_facility]['second'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; + }else{ + $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['second'][5] =$data['facility'][$this_facility]['second'][3] -$data['facility'][$this_facility]['second'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + + } + }else{ + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = 0; + $data['facility'][$this_facility]['second'][6] = 0; + } + if($data['facility'][$this_facility]['second'][5] == 0){ + $data['facility'][$this_facility]['second'][6] =0; + } + } } else { $data['second'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['second'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; + $data['facility'][$this_facility]['second'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; + }else{ + $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['second'][5] =$data['facility'][$this_facility]['second'][3] -$data['facility'][$this_facility]['second'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + + } + }else{ + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = 0; + $data['facility'][$this_facility]['second'][6] = 0; + } + if($data['facility'][$this_facility]['second'][5] == 0){ + $data['facility'][$this_facility]['second'][6] =0; + } + } } $data['second'][5] = $data['second'][3] - $data['second'][4]; } else { $data['second'][4] = 0; $data['second'][5] = $data['second'][3]; + foreach($facilities as $this_facility){ + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + if($data['facility'][$this_facility]['second'][5] == 0){ + $data['facility'][$this_facility]['second'][6] =0; + } + } + } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['second'][3]) >= 0) { @@ -1056,20 +1194,81 @@ foreach ($arrayData as $key => &$data) { $data['second'][7] = 0; } - if ($data['arrive'][3] > 0) { + if (isset($data['arrive'][3]) && $data['arrive'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['arrive'][1]) >= 0) { $data['arrive'][4] = $data['arrive'][3]; $tmp_data -= $data['arrive'][3]; + $tmp_facility_received = $data['arrive'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; + $data['facility'][$this_facility]['arrive'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; + }else{ + $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['arrive'][5] =$data['facility'][$this_facility]['arrive'][3] -$data['facility'][$this_facility]['arrive'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + + } + }else{ + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = 0; + $data['facility'][$this_facility]['arrive'][6] = 0; + } + if($data['facility'][$this_facility]['arrive'][5] == 0){ + $data['facility'][$this_facility]['arrive'][6] =0; + } + } } else { $data['arrive'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['arrive'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; + $data['facility'][$this_facility]['arrive'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; + }else{ + $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['arrive'][5] =$data['facility'][$this_facility]['arrive'][3] -$data['facility'][$this_facility]['arrive'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + + } + }else{ + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = 0; + $data['facility'][$this_facility]['arrive'][6] = 0; + } + if($data['facility'][$this_facility]['arrive'][5] == 0){ + $data['facility'][$this_facility]['arrive'][6] =0; + } + } } $data['arrive'][5] = $data['arrive'][3] - $data['arrive'][4]; } else { $data['arrive'][4] = 0; $data['arrive'][5] = $data['arrive'][3]; + foreach($facilities as $this_facility){ + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + if($data['facility'][$this_facility]['arrive'][5] == 0){ + $data['facility'][$this_facility]['arrive'][6] =0; + } + } } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['arrive'][3]) >= 0) { @@ -1091,20 +1290,81 @@ foreach ($arrayData as $key => &$data) { $data['arrive'][7] = 0; } - if ($data['install'][3] > 0) { + if (isset($data['install'][3]) && $data['install'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['install'][1]) >= 0) { $data['install'][4] = $data['install'][3]; $tmp_data -= $data['install'][3]; + $tmp_facility_received = $data['install'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; + $data['facility'][$this_facility]['install'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; + }else{ + $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['install'][5] =$data['facility'][$this_facility]['install'][3] -$data['facility'][$this_facility]['install'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + + } + }else{ + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = 0; + $data['facility'][$this_facility]['install'][6] = 0; + } + if($data['facility'][$this_facility]['install'][5] == 0){ + $data['facility'][$this_facility]['install'][6] =0; + } + } } else { $data['install'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['install'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; + $data['facility'][$this_facility]['install'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; + }else{ + $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['install'][5] =$data['facility'][$this_facility]['install'][3] -$data['facility'][$this_facility]['install'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + + } + }else{ + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = 0; + $data['facility'][$this_facility]['install'][6] = 0; + } + if($data['facility'][$this_facility]['install'][5] == 0){ + $data['facility'][$this_facility]['install'][6] =0; + } + } } $data['install'][5] = $data['install'][3] - $data['install'][4]; } else { $data['install'][4] = 0; $data['install'][5] = $data['install'][3]; + foreach($facilities as $this_facility){ + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + if($data['facility'][$this_facility]['install'][5] == 0){ + $data['facility'][$this_facility]['install'][6] =0; + } + } } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['install'][3]) >= 0) { @@ -1127,19 +1387,80 @@ foreach ($arrayData as $key => &$data) { } - if ($data['tryrun'][3] > 0) { + if (isset($data['tryrun'][3]) && $data['tryrun'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['tryrun'][1]) >= 0) { $data['tryrun'][4] = $data['tryrun'][3]; $tmp_data -= $data['tryrun'][3]; + $tmp_facility_received = $data['tryrun'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; + }else{ + $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['tryrun'][5] =$data['facility'][$this_facility]['tryrun'][3] -$data['facility'][$this_facility]['tryrun'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + + } + }else{ + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + if($data['facility'][$this_facility]['tryrun'][5] == 0){ + $data['facility'][$this_facility]['tryrun'][6] =0; + } + } } else { $data['tryrun'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['tryrun'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; + }else{ + $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['tryrun'][5] =$data['facility'][$this_facility]['tryrun'][3] -$data['facility'][$this_facility]['tryrun'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + + } + }else{ + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + if($data['facility'][$this_facility]['tryrun'][5] == 0){ + $data['facility'][$this_facility]['tryrun'][6] =0; + } + } } $data['tryrun'][5] = $data['tryrun'][3] - $data['tryrun'][4]; } else { $data['tryrun'][4] = 0; $data['tryrun'][5] = $data['tryrun'][3]; + foreach($facilities as $this_facility){ + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + if($data['facility'][$this_facility]['tryrun'][5] == 0){ + $data['facility'][$this_facility]['tryrun'][6] =0; + } + } } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['tryrun'][3]) >= 0) { @@ -1161,19 +1482,80 @@ foreach ($arrayData as $key => &$data) { $data['tryrun'][7] = 0; } - if ($data['check'][3] > 0) { + if (isset($data['check'][3]) && $data['check'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['check'][1]) >= 0) { $data['check'][4] = $data['check'][3]; $tmp_data -= $data['check'][3]; + $tmp_facility_received = $data['check'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; + $data['facility'][$this_facility]['check'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; + }else{ + $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['check'][5] =$data['facility'][$this_facility]['check'][3] -$data['facility'][$this_facility]['check'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + + } + }else{ + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = 0; + $data['facility'][$this_facility]['check'][6] = 0; + } + if($data['facility'][$this_facility]['check'][5] == 0){ + $data['facility'][$this_facility]['check'][6] =0; + } + } } else { $data['check'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['check'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; + $data['facility'][$this_facility]['check'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; + }else{ + $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['check'][5] =$data['facility'][$this_facility]['check'][3] -$data['facility'][$this_facility]['check'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + + } + }else{ + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = 0; + $data['facility'][$this_facility]['check'][6] = 0; + } + if($data['facility'][$this_facility]['check'][5] == 0){ + $data['facility'][$this_facility]['check'][6] =0; + } + } } $data['check'][5] = $data['check'][3] - $data['check'][4]; } else { $data['check'][4] = 0; $data['check'][5] = $data['check'][3]; + foreach($facilities as $this_facility){ + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + if($data['facility'][$this_facility]['check'][5] == 0){ + $data['facility'][$this_facility]['check'][6] =0; + } + } } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['check'][3]) >= 0) { @@ -1194,19 +1576,80 @@ foreach ($arrayData as $key => &$data) { $data['check'][6] = 0; $data['check'][7] = 0; } - if ($data['delivery'][3] > 0) { + if (isset($data['delivery'][3]) && $data['delivery'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['delivery'][1]) >= 0) { $data['delivery'][4] = $data['delivery'][3]; $tmp_data -= $data['delivery'][3]; + $tmp_facility_received = $data['delivery'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; + $data['facility'][$this_facility]['delivery'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; + }else{ + $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['delivery'][5] =$data['facility'][$this_facility]['delivery'][3] -$data['facility'][$this_facility]['delivery'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + + } + }else{ + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = 0; + $data['facility'][$this_facility]['delivery'][6] = 0; + } + if($data['facility'][$this_facility]['delivery'][5] == 0){ + $data['facility'][$this_facility]['delivery'][6] =0; + } + } } else { $data['delivery'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['delivery'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; + $data['facility'][$this_facility]['delivery'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; + }else{ + $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['delivery'][5] =$data['facility'][$this_facility]['delivery'][3] -$data['facility'][$this_facility]['delivery'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + + } + }else{ + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = 0; + $data['facility'][$this_facility]['delivery'][6] = 0; + } + if($data['facility'][$this_facility]['delivery'][5] == 0){ + $data['facility'][$this_facility]['delivery'][6] =0; + } + } } $data['delivery'][5] = $data['delivery'][3] - $data['delivery'][4]; } else { $data['delivery'][4] = 0; $data['delivery'][5] = $data['delivery'][3]; + foreach($facilities as $this_facility){ + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + if($data['facility'][$this_facility]['sign'][5] == 0){ + $data['facility'][$this_facility]['sign'][6] =0; + } + } } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['delivery'][3]) >= 0) { @@ -1228,19 +1671,80 @@ foreach ($arrayData as $key => &$data) { $data['delivery'][7] = 0; } - if ($data['final'][3] > 0) { + if (isset($data['final'][3]) && $data['final'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['final'][1]) >= 0) { $data['final'][4] = $data['final'][3]; $tmp_data -= $data['final'][3]; + $tmp_facility_received = $data['final'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; + }else{ + $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['final'][5] =$data['facility'][$this_facility]['final'][3] -$data['facility'][$this_facility]['final'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + + } + }else{ + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = 0; + $data['facility'][$this_facility]['final'][6] = 0; + } + if($data['facility'][$this_facility]['final'][5] == 0){ + $data['facility'][$this_facility]['final'][6] =0; + } + } } else { $data['final'][4] = $tmp_data; $tmp_data = 0; + $tmp_facility_received = $data['final'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; + }else{ + $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['final'][5] =$data['facility'][$this_facility]['final'][3] -$data['facility'][$this_facility]['final'][4]; + $tmp_facility_received = 0; + } + }else{ + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + + } + }else{ + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = 0; + $data['facility'][$this_facility]['final'][6] = 0; + } + if($data['facility'][$this_facility]['final'][5] == 0){ + $data['facility'][$this_facility]['final'][6] =0; + } + } } $data['final'][5] = $data['final'][3] - $data['final'][4]; } else { $data['final'][4] = 0; $data['final'][5] = $data['final'][3]; + foreach($facilities as $this_facility){ + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + } + if($data['facility'][$this_facility]['final'][5] == 0){ + $data['facility'][$this_facility]['final'][6] =0; + } } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['final'][3]) >= 0) { @@ -1263,6 +1767,7 @@ foreach ($arrayData as $key => &$data) { } } + //產生excel的array $excel_aray = array(); $boga_array = array(); @@ -1271,8 +1776,8 @@ $facility_array = array(); $facility_boga_array = array(); $facility_exclude_boga_array = array(); foreach ($arrayData as $key => $value) { - $sum_A40001 += $value['A40001']; - $sum_A40008 += $value['A40008']; + $sum_A40001 += isset($value['A40001']) ? $value['A40001'] : 0; + $sum_A40008 += isset($value['A40008']) ? $value['A40008'] : 0; $sum_total_budget += $value['total_budget']; $sum_facility += $value['total_facility_num']; $value['sign'][3] = (isset($value['sign'][3])) ? $value['sign'][3] : 0; @@ -1283,17 +1788,20 @@ foreach ($arrayData as $key => $value) { $value['check'][3] = (isset($value['check'][3])) ? $value['check'][3] : 0; $value['delivery'][3] = (isset($value['delivery'][3])) ? $value['delivery'][3] : 0; $value['final'][3] = (isset($value['final'][3])) ? $value['final'][3] : 0; + $value[9] = (isset($value[9])) ? Date('Ymd', strtotime($value[9])) : 0; $contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); foreach ($contractstage as $i) { $value[$i]['max'] = (empty($value[$i]['max']) || is_null($value[$i]['max'])) ? 0 : $value[$i]['max']; $value[$i]['min'] = (empty($value[$i]['min']) || is_null($value[$i]['min'])) ? 0 : $value[$i]['min']; $value[$i][4] = (isset($value[$i][4])) ? $value[$i][4] : 0; $value[$i][5] = (isset($value[$i][5])) ? $value[$i][5] : 0; + $value['A40001'] = (isset($value['A40001'])) ? $value['A40001'] : 0; + $value['A40008'] = (isset($value['A40008'])) ? $value['A40008'] : 0; }; - if ($value['sign'][0] == "寶佳出貨前30天") { + if (isset($value['sign'][0]) && $value['sign'][0] == "寶佳出貨前30天") { $boga_array[$key] = [ - $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], @@ -1306,7 +1814,7 @@ foreach ($arrayData as $key => $value) { ]; } else { $exclude_boga_array[$key] = [ - $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], @@ -1320,7 +1828,7 @@ foreach ($arrayData as $key => $value) { } $excel_aray[$key] = [ - $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], @@ -1334,54 +1842,56 @@ foreach ($arrayData as $key => $value) { //['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 min 最早應收月份 max 最晚應收月份 //[合約號]['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 - foreach ($value['facility'] as $valkey => $val) { - foreach ($contractstage as $stage) { - $val[$stage][0] = (!(isset($val[$stage][0])) || is_null($val[$stage][0])) ? "-" : $val[$stage][0]; - $val[$stage][1] = (!(isset($val[$stage][1])) || is_null($val[$stage][1])) ? 0 : $val[$stage][1]; - $val[$stage][2] = (!(isset($val[$stage][2])) || is_null($val[$stage][2])) ? "-" : $val[$stage][2]; - $val[$stage][3] = (!(isset($val[$stage][3])) || is_null($val[$stage][3])) ? 0 : $val[$stage][3]; - $val[$stage][4] = (!(isset($val[$stage][4])) || is_null($val[$stage][4])) ? 0 : $val[$stage][4]; - $val[$stage][5] = (!(isset($val[$stage][5])) || is_null($val[$stage][5])) ? 0 : $val[$stage][5]; - $val[$stage][6] = (!(isset($val[$stage][6])) || is_null($val[$stage][6])) ? 0 : $val[$stage][6]; - } - $facility_array[$valkey] = [ - $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), $val['sign'][6], - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), $val['second'][6], - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), $val['arrive'][6], - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), $val['install'][6], - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), $val['tryrun'][6], - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), $val['check'][6], - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), $val['delivery'][6], - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), $val['final'][6], - str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) - ]; - if ($value['sign'][0] == "寶佳出貨前30天") { - $facility_boga_array[$valkey] = [ - $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), $val['sign'][6], - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), $val['second'][6], - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), $val['arrive'][6], - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), $val['install'][6], - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), $val['tryrun'][6], - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), $val['check'][6], - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), $val['delivery'][6], - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), $val['final'][6], - str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) - ]; - } else { - $facility_exclude_boga_array[$valkey] = [ - $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), $val['sign'][6], - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), $val['second'][6], - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), $val['arrive'][6], - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), $val['install'][6], - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), $val['tryrun'][6], - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), $val['check'][6], - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), $val['delivery'][6], - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), $val['final'][6], + if (isset($value['facility'])) { + foreach ($value['facility'] as $valkey => $val) { + foreach ($contractstage as $stage) { + $val[$stage][0] = (!(isset($val[$stage][0])) || is_null($val[$stage][0])) ? "-" : $val[$stage][0]; + $val[$stage][1] = (!(isset($val[$stage][1])) || is_null($val[$stage][1])) ? 0 : $val[$stage][1]; + $val[$stage][2] = (!(isset($val[$stage][2])) || is_null($val[$stage][2])) ? "-" : $val[$stage][2]; + $val[$stage][3] = (!(isset($val[$stage][3])) || is_null($val[$stage][3])) ? 0 : $val[$stage][3]; + $val[$stage][4] = (!(isset($val[$stage][4])) || is_null($val[$stage][4])) ? 0 : $val[$stage][4]; + $val[$stage][5] = (!(isset($val[$stage][5])) || is_null($val[$stage][5])) ? 0 : $val[$stage][5]; + $val[$stage][6] = (!(isset($val[$stage][6])) || is_null($val[$stage][6])) ? 0 : $val[$stage][6]; + } + $facility_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) ]; + if ($value['sign'][0] == "寶佳出貨前30天") { + $facility_boga_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) + ]; + } else { + $facility_exclude_boga_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) + ]; + } } } } @@ -1727,21 +2237,4 @@ include "./footer.php"; })); } - - - - function sendData(BillNo) { - var BillData = ; - var Bill = BillData[BillNo]; - var form = document.createElement("form"); - form.method = 'POST'; - form.action = "account-receivable-check.php?"; - var input = document.createElement("input"); - input.type = "hidden"; - input.name = "Bill"; - input.value = JSON.stringify(Bill); - form.appendChild(input); - document.body.appendChild(form); - form.submit(); - } \ No newline at end of file diff --git a/wms/account-receivable-renovate-index.php b/wms/account-receivable-renovate-index.php new file mode 100644 index 00000000..04425bda --- /dev/null +++ b/wms/account-receivable-renovate-index.php @@ -0,0 +1,2218 @@ +0"; + +// T8核銷 +$sql_received = "SELECT +a.BillNo, a.WriteOffBizPartnerId,a.PayWriteOffOAmount, +b.FromBillDate AS ReceivedDate,b.CurrWOFeeOAmt AS Fee, +c.OrderBillNo, c.checkBillNo, c.InvoiceNo, c.BillDate AS CheckBillDate +FROM arWriteOffBill AS a +LEFT JOIN arWriteOffBillRec AS b ON a.BillNo=b.BillNo +LEFT JOIN + (SELECT temp1.*,arWriteOffBillDetail.* FROM arWriteOffBillDetail + LEFT JOIN + (SELECT + arCheckBill.BillNo AS checkBillNo, arCheckBill.BillDate,arCheckBillInvInfo.InvoiceNo + FROM arCheckBill + LEFT JOIN arCheckBillInvInfo + ON arCheckBill.InvoiceBillNo=arCheckBillInvInfo.InvoiceBillNo) AS temp1 + ON temp1.checkBillNo = arWriteOffBillDetail.FromBillNo) AS c +ON a.BillNo=c.BillNo +WHERE DATALENGTH(c.OrderBillNo) >0"; + + + +//ORDER BY contractno + +// 期初收款資訊 +$sql_opening = " +SELECT * FROM account_received "; +// 設定權限:看到自己的/下屬的,資訊處跟財會處可以看全部的 +if ((in_array($user_id, array('M0060', 'M0175'))) || (in_array(accountidToDepartId($user_id), array('220', '210')))) { +} else { + $sql_contract .= "AND (s.PersonId = '$user_id'"; + // $sql_received .= " AND (PersonId = '$user_id'"; + $sql_opening .= " OR person_id = '$user_id'"; + $sql_contractNumber .= " AND (PersonId = '$user_id'"; + $sql_contract_budget .= " AND (PersonId = '$user_id'"; + if (count($follower) > 0) { + $column_str = "('$user_id'" . ",'"; + $column_str .= implode("','", $follower); + $column_str .= "')"; + $sql_contractNumber .= " OR PersonId IN $column_str)"; + // $sql_contract .= " OR s.PersonId IN $column_str)"; + // $sql_received .= " OR PersonId IN $column_str)"; + $sql_opening .= " OR person_id IN $column_str)"; + // $sql_contract_budget .= " OR PersonId IN $column_str )ORDER BY BillNo, CU_MaterialId"; + } else { + $sql_contract .= ")"; + // $sql_received .= ")"; + $sql_opening .= ")"; + $sql_contractNumber .= ")"; + // $sql_contract_budget .= ")"; + }; +} + +$contractNumbers = array(); +$query_contract_number = $conn->query($sql_contractNumber); +foreach ($query_contract_number as $contract_numbers) { + array_push($contractNumbers, $contract_numbers['BillNo']); + $str_numbers = "('" . implode("','", $contractNumbers) . "')"; +} +//作番大日程 +$sql = "SELECT +tmp2.*, +d.name AS depart_name +FROM( +SELECT + a.manager, + a2.name as manager_name, + a.name, + a.department_id, + w.salesid, + w.contractno, + w.facilityno, + w.estimated_shipping_date, + w.real_contract_arrival_date, +w.actual_tofactory_date, + w.real_arrival_date, + w.install_end_date, + w.tryrun_end_date, + w.official_check_date, + w.delivery_date +from wipwholestatus AS w +left join account AS a +ON w.salesid = a.accountid +left join account AS a2 +ON a2.accountid = a.manager +where w.status = '1' AND w.contract_type='B' +)AS tmp2 +left join ( +SELECT DISTINCT + department_id, + name +FROM department + +) AS d +ON d.department_id = tmp2.department_id +WHERE contractno IN $str_numbers "; + +//T8 銷售訂單 階段收款計畫 +$sql_contract = "SELECT a.BillNo,s.BillDate, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId, +c.EnterpriseName, c.TaxNo, c.ContactAddress FROM salOrderStagePay AS a +LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo +LEFT JOIN comBusinessPartner AS c ON s.BizPartnerId=c.BizPartnerId +WHERE s.BillNo IN $str_numbers "; + +// T8 銷售訂單 作番金額 +$sql_contract_budget = "SELECT A.BillNo,A.MaterialId, A.OAmountWithTax,A.CU_MaterialId FROM salSalesOrderDetail AS A +LEFT JOIN salSalesOrder AS B ON A.BillNo=B.BillNo +WHERE B.ModeId='T' AND A.ItemType=1 AND A.BillNo IN $str_numbers "; + +$contract = $conn->query($sql_contract); +$contract_data = array(); +// 將T8合約收款階段資料依據款別分類放進arraData裡 +foreach ($contract as $cont) { + $BillNo = $cont['BillNo']; + $BillDate = $cont['BillDate']; + $PayStage = $cont['PayStage']; + $PlanPayDate = $cont['PlanPayDate']; + $PayAmount = $cont['PlanPayAmt']; + $partnerName = $cont['BizPartnerName']; + $EnterpriseName = $cont['EnterpriseName']; + $TaxNo = $cont['TaxNo']; + $ContactAddress = $cont['ContactAddress']; + // A:比照新梯、B:純分期、C:A+B都有、D:屬於B但是依合約判斷、E:其他 + //['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 min 最早應收月份 max 最晚應收月份 ['second'] 0 二次款名 1 二次款金額 2 收款日期 ['arrive'] 0 貨抵工地款名稱 1 貨抵工地款金額 2 貨抵工地收款日期 ['install'] 0 安裝款名 1 安裝金額 2 安裝收款日期 + //['tryrun'] 0 試車款名 1試車金額 2 試車收款日期 ['check'] 0 官檢款名 1 官檢金額 2 官檢收款日期 ['delivery'] 0 交車款名 1 交車金額 2 交車收款日期 ['final'] 0 尾款名 1 尾款金額 2 尾款收款日期 + //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 + if (!(isset($arrayData[$BillNo]))) { + // 0 部門id 1 部門名稱 2 經理名稱 3 營業員id 4 營業員名稱 5 客戶名稱 6 抬頭 7 統編 8 通訊地址 9 T8單據日期 10 合約號 + $arrayData[$BillNo] = [0, 0, 0, 0, 0, 0, 0, 0, 0]; + $arrayData[$BillNo][5] = $partnerName; + $arrayData[$BillNo][6] = $EnterpriseName; + $arrayData[$BillNo][7] = $TaxNo; + $arrayData[$BillNo][8] = $ContactAddress; + $arrayData[$BillNo][9] = $BillDate; + $arrayData[$BillNo][10] = $BillNo; + $arrayData[$BillNo]['total_budget'] = 0; + $arrayData[$BillNo]['invoice'] = array(); + $arrayData[$BillNo]['received_budget'] = 0; + $arrayData[$BillNo]['invoice_budget'] = 0; + $arrayData[$BillNo]['type'] = 0; + $arrayData[$BillNo]['A40002'] = $arrayData[$BillNo]['A40009'] = $arrayData[$BillNo]['A40010'] = 0; + $arrayData[$BillNo]['total_facility_num'] = 0; + } + // 判斷是否全分期/全階段 + if ($arrayData[$BillNo]['type'] == 0) { + if (mb_substr($cont['PayStage'], -1) == '期' && mb_substr($cont['PayStage'], 0, 1) == '第') { + $arrayData[$BillNo]['type'] = "B"; + } elseif (strpos($cont['PayStage'], '1') == false) { + $arrayData[$BillNo]['type'] = "A"; + } else { + $arrayData[$BillNo]['type'] = "E"; + } + } elseif ($arrayData[$BillNo]['type'] == "B") { + if (mb_substr($cont['PayStage'], -1) == '期' && mb_substr($cont['PayStage'], 0, 1) == '第') { + $arrayData[$BillNo]['type'] = "B"; + } else { + $arrayData[$BillNo]['type'] = "E"; + } + } elseif ($arrayData[$BillNo]['type'] == "A") { + if (strpos($cont['PayStage'], '1') == false) { + $arrayData[$BillNo]['type'] = "A"; + } else { + $arrayData[$BillNo]['type'] = "E"; + } + } +} + +$received_array = $conn->query($sql_received); +$opening_data = mysqli_query($link, $sql_opening); +$invoice_data = $conn->query($sql_invoice); +$contract_budget_data = $conn->query($sql_contract_budget); + +$contract_budget = array(); +foreach ($contract_budget_data as $cont) { + if (isset($arrayData[$BillNo]['total_budget'])) { + $arrayData[$BillNo]['total_budget'] += $cont['OAmountWithTax']; + if (isset($arrayData[$BillNo][$cont['CU_MaterialId']])) { + $arrayData[$BillNo][$cont['CU_MaterialId']]['total_budget'] += $cont['OAmountWithTax']; + $arrayData[$BillNo][$cont['CU_MaterialId']][$cont['MaterialId']] += $cont['OAmountWithTax']; + } else { + $arrayData[$BillNo][$cont['CU_MaterialId']]['total_budget'] = $cont['OAmountWithTax']; + $arrayData[$BillNo][$cont['CU_MaterialId']]['A40002'] = $arrayData[$BillNo][$cont['CU_MaterialId']]['A40009'] = $arrayData[$BillNo][$cont['CU_MaterialId']]['A40010'] = 0; + $arrayData[$BillNo][$cont['CU_MaterialId']][$cont['MaterialId']] = $cont['OAmountWithTax']; + } + } + if (isset($contract_budget[$cont['BillNo']])) { + $contract_budget[$cont['BillNo']]['total'] += $cont['OAmountWithTax']; + } else { + $contract_budget[$cont['BillNo']]['total'] = $cont['OAmountWithTax']; + } + if (isset($contract_budget[$cont['BillNo']][$cont['CU_MaterialId']])) { + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['total'] += $cont['OAmountWithTax']; + } else { + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['total'] = $cont['OAmountWithTax']; + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40002'] = 0; + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40009'] = 0; + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40010'] = 0; + }; + if (isset($contract_budget[$cont['BillNo']][$cont['MaterialId']])) { + $contract_budget[$cont['BillNo']][$cont['MaterialId']] += $cont['OAmountWithTax']; + } else { + $contract_budget[$cont['BillNo']][$cont['MaterialId']] = $cont['OAmountWithTax']; + } + $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']][$cont['MaterialId']] = $cont['OAmountWithTax']; +} + +/* 計算比例 +@param $facility_list array +@param $contract_no string +@param $contract_budget array +return float */ +function get_ratio($facility_list, $contract_no, $contract_budget) +{ + $ratio = 0; + if (empty($facility_list)) { + return 0; + } else { + foreach ($facility_list as $every) { + if (isset($contract_budget[$contract_no][$every]['total']) && isset($contract_budget[$contract_no]['total'])) { + $ratio += $contract_budget[$contract_no][$every]['total'] / $contract_budget[$contract_no]['total']; + } + } + return $ratio; + } +} + +// 合約收款階段內容分類 +$sign60 = array('簽訂後60天', '簽約60日', '簽約後60天', '簽訂後60日內', '訂金支付後60天'); +$sign90 = array('簽約後90天', '簽約後90日', '簽訂後90天'); +$sign120 = array('簽約後120天', '簽約後120日', '簽訂後120天'); + + +//取作番大日程作番與時程 +// real_contract_arrival_date 預計出貨日 +// real_arrival_date 實際出貨日 +$today = strtotime(date('Ymd')); + +$wipwhole_array = mysqli_query($link, $sql); +foreach ($wipwhole_array as $wip) { + if (isset($arrayData[$wip['contractno']])) { + $arrayData[$wip['contractno']][0] = $wip['department_id'];; + $arrayData[$wip['contractno']][1] = $wip['depart_name']; + $arrayData[$wip['contractno']][2] = $wip['manager_name']; + $arrayData[$wip['contractno']][3] = $wip['salesid']; + $arrayData[$wip['contractno']][4] = $wip['name']; + $arrayData[$wip['contractno']][10] = $wip['contractno']; + $arrayData[$wip['contractno']]['total_facility_num'] += 1; + } +} +foreach ($arrayData as $data) { + print_r($data); + echo "
"; +} +exit(); +//----------------------------------------------------------------------------------確認A40002、A40009、A40010合約總金額有無存入--------------------------------------------- +foreach ($wipwhole_array as $wip) { + + //[合約號]['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 + if (isset($arrayData[$wip['contractno']])) { + // 整理合約資料 + $arrayData[$wip['contractno']][0] = $wip['department_id'];; + $arrayData[$wip['contractno']][1] = $wip['depart_name']; + $arrayData[$wip['contractno']][2] = $wip['manager_name']; + $arrayData[$wip['contractno']][3] = $wip['salesid']; + $arrayData[$wip['contractno']][4] = $wip['name']; + $arrayData[$wip['contractno']][10] = $wip['contractno']; + $arrayData[$wip['contractno']]['total_facility_num'] += 1; + $arrayData[$wip['contractno']]['A40001'] = (isset($contract_budget[$wip['contractno']]['A40001']) && !is_null($contract_budget[$wip['contractno']]['A40001'])) ? $contract_budget[$wip['contractno']]['A40001'] : 0; + $arrayData[$wip['contractno']]['A40008'] = (isset($contract_budget[$wip['contractno']]['A40008']) && !is_null($contract_budget[$wip['contractno']]['A40008'])) ? $contract_budget[$wip['contractno']]['A40008'] : 0; + // [合約號]['facility'][作番號]['no'] + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['no'] = $wip['facilityno']; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = ""; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['total_budget'] = 0; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['receivable_budget'] = 0; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['collect_budget'] = 0; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['A40001'] = (isset($contract_budget[$wip['contractno']][$wip['facilityno']]['A40001']) && !is_null($contract_budget[$wip['contractno']][$wip['facilityno']]['A40001'])) ? $contract_budget[$wip['contractno']][$wip['facilityno']]['A40001'] : 0; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['A40008'] = (isset($contract_budget[$wip['contractno']][$wip['facilityno']]['A40008']) && !is_null($contract_budget[$wip['contractno']][$wip['facilityno']]['A40008'])) ? $contract_budget[$wip['contractno']][$wip['facilityno']]['A40008'] : 0; + + // [合約號][作番號][款別] ['con'] [金額]/[合約預計收款日期] + // [合約號][作番號][款別] ['inv'] [金額]/[發票開立日期] + // [合約號][作番號][款別] ['rec'] [金額]/[實際收款日期] + $contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); + foreach ($contractstage as $i) { + $arrayData[$wip['contractno']][$wip['facilityno']][$i] = ['', 0, '', 0, 0, 0, 0]; + $arrayData[$wip['contractno']][$wip['facilityno']][$i]['inv']['date'] = ""; + $arrayData[$wip['contractno']][$wip['facilityno']][$i]['inv']['budget'] = 0; + $arrayData[$wip['contractno']][$wip['facilityno']][$i]['rec']['date'] = ""; + $arrayData[$wip['contractno']][$wip['facilityno']][$i]['rec']['budget'] = 0; + $arrayData[$wip['contractno']][$wip['facilityno']][$i]['con']['date'] = (isset($arrayData[$wip['contractno']][$i][2])) ? $arrayData[$wip['contractno']][$i][2] : ""; + $arrayData[$wip['contractno']][$wip['facilityno']][$i]['con']['budget'] = 0; + } + // 補上寶佳 (出貨前) 收款時間 + + if (isset($arrayData[$wip['contractno']]['sign'][0]) && $arrayData[$wip['contractno']]['sign'][0] == '寶佳出貨前30天') { + if ($wip['real_arrival_date'] != NULL) { + $estimate_delivery_time = strtotime($wip['real_arrival_date']); + $signtime = $estimate_delivery_time - (30 * 86400); + $signtime = date('Ymd', $signtime); + $arrayData[$wip['contractno']]['sign'][2] = strval($signtime); + array_push($arrayData[$wip['contractno']]['sign']['max'], strtotime(strval($signtime))); + array_push($arrayData[$wip['contractno']]['sign']['min'], strtotime(strval($signtime))); + } elseif ($wip['real_contract_arrival_date'] != NULL) { + $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); + $signtime = $estimate_delivery_time - (30 * 86400); + $signtime = date('Ymd', $signtime); + $arrayData[$wip['contractno']]['sign'][2] = strval($signtime); + array_push($arrayData[$wip['contractno']]['sign']['max'], strtotime(strval($signtime))); + array_push($arrayData[$wip['contractno']]['sign']['min'], strtotime(strval($signtime))); + } + } + + // 補上二次款 (出貨前) 收款時間,條件不是"出貨前"就pass + if (isset($arrayData[$wip['contractno']]['second'][0]) && stristr($arrayData[$wip['contractno']]['second'][0], '出貨前30天')) { + if (empty($wip['real_contract_arrival_date'])) { + } else { + $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); + $secondtime = $estimate_delivery_time - (30 * 86400); + $secondtime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['second'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['second']['max'], strtotime(strval($secondtime))); + array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime))); + } + } elseif (isset($arrayData[$wip['contractno']]['second'][0]) && stristr($arrayData[$wip['contractno']]['second'][0], '出貨前90天')) { + if (empty($wip['real_contract_arrival_date'])) { + } else { + $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); + $secondtime = $estimate_delivery_time - (90 * 86400); + $secondtime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['second'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['second']['max'], strtotime(strval($secondtime))); + array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime))); + } + } elseif (isset($arrayData[$wip['contractno']]['second'][0]) && stristr($arrayData[$wip['contractno']]['second'][0], '出貨前120天')) { + if (empty($wip['real_contract_arrival_date'])) { + } else { + $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); + $secondtime = $estimate_delivery_time - (120 * 86400); + $secondtime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['second'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['second']['max'], strtotime(strval($secondtime))); + array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime))); + } + } elseif (isset($arrayData[$wip['contractno']]['second'][0]) && $arrayData[$wip['contractno']]['second'][0] == '寶佳出貨後10天') { + + if ($wip['real_arrival_date'] != NULL) { + $estimate_delivery_time = strtotime($wip['real_arrival_date']); + $secondtime = $estimate_delivery_time + (10 * 86400); + $secondtime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['second'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['second']['max'], strtotime(strval($secondtime))); + array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime))); + } else { + $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); + $secondtime = $estimate_delivery_time + (10 * 86400); + $secondtime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['second'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['second']['max'], strtotime($secondtime)); + array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime))); + } + } + //根據作番狀態填入facilities,計算各階段數量、一個合約有幾個作番,增加作番資料 + // real_contract_arrival_date 預計出貨日=預計到貨日=預計貨抵工地 + // real_arrival_date 實際出貨日=實際到貨日=實際貨抵工地 + //----------------------------------------寶佳的另外處理--------------------------------------------------- + + if ($arrayData[$wip['contractno']]['sign'][0] == "寶佳出貨前30天") { + $facility_status = ""; + array_push($arrayData[$wip['contractno']]['total_list'], $wip['facilityno']); + $today = strtotime(date('Ymd')); + $contractday = strtotime($arrayData[$wip['contractno']]['sign'][2]); + $month = collect_month($contractday); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['sign'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['sign'][2] = $arrayData[$wip['contractno']]['sign'][2]; + if ($today > $contractday) { + $arrayData[$wip['contractno']]['sign_num'] += 1; + array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); + $facility_status = $wip['facilityno'] . " (出貨前30天" . $arrayData[$wip['contractno']]['sign'][2] . "已過)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status; + //二次款 + $contractday = strtotime($arrayData[$wip['contractno']]['second'][2]); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][2] = $arrayData[$wip['contractno']]['second'][2]; + $month = collect_month($contractday); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][6] = $month; + if ($today > $contractday) { + $arrayData[$wip['contractno']]['second_num'] += 1; + array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); + $facility_status = $wip['facilityno'] . " (出貨後10天" . $arrayData[$wip['contractno']]['second'][2] . "已過)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status; + //貨抵工地款 + if ($wip['real_arrival_date'] != NULL) { + $estimate_time = strtotime($wip['real_arrival_date']); + $contractday = $estimate_time + (90 * 86400); + $month = collect_month($contractday); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $contractday)); + if ($today > $contractday) { + $arrayData[$wip['contractno']]['arrive_num'] += 1; + array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['arrive'][2] = strval(date('Y-m-d', $contractday)); + $facility_status = $wip['facilityno'] . " (貨抵工地後90天" . $arrayData[$wip['contractno']]['arrive'][2] . "已過)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status; + //試車款 + if ($wip['tryrun_end_date'] != NULL) { + $estimate_time = strtotime($wip['tryrun_end_date']); + $contractday = $estimate_time + (90 * 86400); + $month = collect_month($contractday); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $contractday)); + if ($today > $contractday) { + $arrayData[$wip['contractno']]['tryrun_num'] += 1; + array_push($arrayData[$wip['contractno']]['tryrun_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['tryrun'][2] = strval(date('Y-m-d', $contractday)); + $facility_status = $wip['facilityno'] . " (試車後90天" . $arrayData[$wip['contractno']]['tryrun'][2] . "已過)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status; + //交車款 + if ($wip['delivery_date'] != NULL) { + $estimate_time = strtotime($wip['delivery_date']); + $contractday = $estimate_time + (270 * 86400); + $month = collect_month($contractday); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][2] = strval(date('Ymd', $contractday)); + if ($today > $contractday) { + $arrayData[$wip['contractno']]['delivery_num'] += 1; + array_push($arrayData[$wip['contractno']]['delivery_list'], $wip['facilityno']); + array_push($arrayData[$wip['contractno']]['final_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['delivery'][2] = strval(date('Y-m-d', $contractday)); + $facility_status = $wip['facilityno'] . " (交車後270天" . $arrayData[$wip['contractno']]['delivery'][2] . "已過)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status; + } + } + } + } + } + } + } + } else { + $facility_status = $wip['facilityno'] . " (出貨前30天" . $arrayData[$wip['contractno']]['sign'][2] . "未到)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status; + } + $arrayData[$wip['contractno']]['facilities'] .= $facility_status; + } else { + $signtime = strtotime($arrayData[$wip['contractno']]['sign'][2]); + array_push($arrayData[$wip['contractno']]['total_list'], $wip['facilityno']); + $month = collect_month($signtime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['sign'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['sign'][2] = strval(date('Ymd', $signtime)); + if (isset($arrayData[$wip['contractno']]['second'][2]) && ($arrayData[$wip['contractno']]['second'][2] !== NULL)) { + $secondtime = strtotime($arrayData[$wip['contractno']]['second'][2]); + $month = collect_month($secondtime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][2] = strval(date('Ymd', $secondtime)); + } + if ($wip['delivery_date'] != NULL) { + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['delivery_date'] . "已移交)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['delivery_date'] . "已移交)
"; + $arrayData[$wip['contractno']]['tryrun_num'] += 1; + array_push($arrayData[$wip['contractno']]['tryrun_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['install_num'] += 1; + array_push($arrayData[$wip['contractno']]['install_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['arrive_num'] += 1; + array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['second_num'] += 1; + array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['sign_num'] += 1; + array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); + + if ($arrayData[$wip['contractno']]['delivery'][0] == "交車後270天") { + $estimate_delivery_time = strtotime($wip['delivery_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $month = collect_month($arrivetime); + if ($today > $arrivetime) { + $arrayData[$wip['contractno']]['delivery_num'] += 1; + array_push($arrayData[$wip['contractno']]['delivery_list'], $wip['facilityno']); + array_push($arrayData[$wip['contractno']]['final_list'], $wip['facilityno']); + } + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][2] = strval(date('Ymd', $arrivetime)); + $arrivetime = date('Ymd', $arrivetime); + $arrayData[$wip['contractno']]['delivery'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['delivery']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['delivery']['max'], strtotime(strval($arrivetime))); + } else { + $arrayData[$wip['contractno']]['delivery_num'] += 1; + array_push($arrayData[$wip['contractno']]['delivery_list'], $wip['facilityno']); + array_push($arrayData[$wip['contractno']]['final_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['check_num'] += 1; + array_push($arrayData[$wip['contractno']]['check_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['delivery'][2] = strval($wip['delivery_date']); + $deliverytime = strtotime($wip['delivery_date']); + $month = collect_month($deliverytime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][2] = strval(date('Ymd', $deliverytime)); + array_push($arrayData[$wip['contractno']]['delivery']['min'], strtotime(strval($wip['delivery_date']))); + array_push($arrayData[$wip['contractno']]['delivery']['max'], strtotime(strval($wip['delivery_date']))); + } + if (!empty($wip['official_check_date']) && $wip['official_check_date'] != NULL) { + array_push($arrayData[$wip['contractno']]['check']['min'], strtotime(strval($wip['official_check_date']))); + array_push($arrayData[$wip['contractno']]['check']['max'], strtotime(strval($wip['official_check_date']))); + $checktime = strtotime($wip['official_check_date']); + $month = collect_month($checktime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['check'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['check'][2] = strval(date('Ymd', $checktime)); + } + if (!empty($wip['tryrun_end_date']) && $wip['tryrun_end_date'] != NULL) { + if ($arrayData[$wip['contractno']]['tryrun'][0] == "安裝試車後90天") { + $estimate_delivery_time = strtotime($wip['tryrun_end_date']); + $tryruntime = $estimate_delivery_time + (90 * 86400); + $tryruntime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['tryrun'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($tryruntime))); + array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($tryruntime))); + $month = collect_month($tryruntime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $tryruntime)); + } else { + $arrayData[$wip['contractno']]['tryrun'][2] = strval($wip['tryrun_end_date']); + array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($wip['tryrun_end_date']))); + array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($wip['tryrun_end_date']))); + $tryruntime = strtotime($wip['tryrun_end_date']); + $month = collect_month($tryruntime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $tryruntime)); + } + } + if (!empty($wip['install_end_date']) && $wip['install_end_date'] != NULL) { + array_push($arrayData[$wip['contractno']]['install']['min'], strtotime(strval($wip['install_end_date']))); + array_push($arrayData[$wip['contractno']]['install']['max'], strtotime(strval($wip['install_end_date']))); + $installtime = strtotime($wip['install_end_date']); + $month = collect_month($installtime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][2] = strval(date('Ymd', $installtime)); + } + if (!empty($wip['real_arrival_date']) && $wip['real_arrival_date'] != NULL) { + if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { + $estimate_delivery_time = strtotime($wip['real_arrival_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrivetime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['arrive'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); + } else { + $arrivetime = strtotime($wip['real_arrival_date']); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); + } + } + } elseif ($wip['official_check_date'] != NULL) { + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['official_check_date'] . "官檢完畢)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['official_check_date'] . "官檢完畢)
"; + $arrayData[$wip['contractno']]['check_num'] += 1; + array_push($arrayData[$wip['contractno']]['check_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['tryrun_num'] += 1; + array_push($arrayData[$wip['contractno']]['tryrun_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['install_num'] += 1; + array_push($arrayData[$wip['contractno']]['install_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['arrive_num'] += 1; + array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['second_num'] += 1; + array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['sign_num'] += 1; + array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); + if (!empty($wip['official_check_date']) && $wip['official_check_date'] != NULL) { + array_push($arrayData[$wip['contractno']]['check']['min'], strtotime(strval($wip['official_check_date']))); + array_push($arrayData[$wip['contractno']]['check']['max'], strtotime(strval($wip['official_check_date']))); + $checktime = strtotime($wip['official_check_date']); + $month = collect_month($checktime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['check'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['check'][2] = strval(date('Ymd', $checktime)); + } + + if (!empty($wip['tryrun_end_date']) && $wip['tryrun_end_date'] != NULL) { + if (isset($arrayData[$wip['contractno']]['tryrun'][0]) && $arrayData[$wip['contractno']]['tryrun'][0] == "安裝試車後90天") { + $estimate_delivery_time = strtotime($wip['tryrun_end_date']); + $tryruntime = $estimate_delivery_time + (90 * 86400); + $month = collect_month($tryruntime); + $tryruntime = date('Ymd', $tryruntime); + $arrayData[$wip['contractno']]['tryrun'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($tryruntime))); + array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($tryruntime))); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval($tryruntime); + } else { + $tryruntime = strtotime($wip['tryrun_end_date']); + $month = collect_month($tryruntime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $tryruntime)); + $arrayData[$wip['contractno']]['tryrun'][2] = strval($wip['tryrun_end_date']); + array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($wip['tryrun_end_date']))); + array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($wip['tryrun_end_date']))); + } + } + if (!empty($wip['install_end_date']) && $wip['install_end_date'] != NULL) { + $installtime = strtotime($wip['install_end_date']); + $month = collect_month($installtime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][2] = strval(date('Ymd', $installtime)); + array_push($arrayData[$wip['contractno']]['install']['min'], strtotime(strval($wip['install_end_date']))); + array_push($arrayData[$wip['contractno']]['install']['max'], strtotime(strval($wip['install_end_date']))); + } + if (!empty($wip['real_arrival_date']) && $wip['real_arrival_date'] != NULL) { + if (isset($arrayData[$wip['contractno']]['arrive'][0]) && $arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { + $estimate_delivery_time = strtotime($wip['real_arrival_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrivetime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['arrive'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); + } else { + $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); + $arrivetime = strtotime($wip['real_arrival_date']); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + } + } else { + if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { + $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $arrivetime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['arrive'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); + } else { + $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_contract_arrival_date']); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_contract_arrival_date']))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_contract_arrival_date']))); + } + } + } elseif ($wip['tryrun_end_date'] != NULL) { + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['tryrun_end_date'] . "試車完畢)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['tryrun_end_date'] . "試車完畢)
"; + $arrayData[$wip['contractno']]['tryrun_num'] += 1; + array_push($arrayData[$wip['contractno']]['tryrun_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['install_num'] += 1; + array_push($arrayData[$wip['contractno']]['install_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['arrive_num'] += 1; + array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['second_num'] += 1; + array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['sign_num'] += 1; + array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); + if (!empty($wip['tryrun_end_date']) && $wip['tryrun_end_date'] != NULL) { + array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($wip['tryrun_end_date']))); + array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($wip['tryrun_end_date']))); + $tryruntime = strtotime($wip['tryrun_end_date']); + $month = collect_month($tryruntime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $tryruntime)); + } + if (!empty($wip['install_end_date']) && $wip['install_end_date'] != NULL) { + array_push($arrayData[$wip['contractno']]['install']['min'], strtotime(strval($wip['install_end_date']))); + array_push($arrayData[$wip['contractno']]['install']['max'], strtotime(strval($wip['install_end_date']))); + $installtime = strtotime($wip['install_end_date']); + $month = collect_month($installtime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][2] = strval(date('Ymd', $installtime)); + } + if (!empty($wip['real_arrival_date']) && $wip['real_arrival_date'] != NULL) { + if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { + $estimate_delivery_time = strtotime($wip['real_arrival_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrivetime = date('Ymd', $arrivetime); + $arrayData[$wip['contractno']]['arrive'][2] = strval($arrivetime); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); + } else { + $arrivetime = strtotime($wip['real_arrival_date']); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); + } + } else { + if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { + $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $arrivetime = date('Ymd', $arrivetime); + $arrayData[$wip['contractno']]['arrive'][2] = strval($arrivetime); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); + } else { + $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_contract_arrival_date']); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_contract_arrival_date']))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_contract_arrival_date']))); + } + } + } elseif ($wip['install_end_date'] != NULL) { + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['install_end_date'] . "安裝完畢)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['install_end_date'] . "安裝完畢)
"; + $arrayData[$wip['contractno']]['install_num'] += 1; + array_push($arrayData[$wip['contractno']]['install_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['arrive_num'] += 1; + array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['second_num'] += 1; + array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['sign_num'] += 1; + array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); + if (!empty($wip['install_end_date']) && $wip['install_end_date'] != NULL) { + $installtime = strtotime($wip['install_end_date']); + $month = collect_month($installtime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][2] = strval(date('Ymd', $installtime)); + array_push($arrayData[$wip['contractno']]['install']['min'], strtotime(strval($wip['install_end_date']))); + array_push($arrayData[$wip['contractno']]['install']['max'], strtotime(strtotime(strval($wip['install_end_date'])))); + } + if (!empty($wip['real_arrival_date']) && $wip['real_arrival_date'] != NULL) { + if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { + $estimate_delivery_time = strtotime($wip['real_arrival_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrivetime = date('Ymd', $arrivetime); + $arrayData[$wip['contractno']]['arrive'][2] = strval($arrivetime); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); + } else { + $arrivetime = strtotime($wip['real_arrival_date']); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); + } + } else { + if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { + $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $arrivetime = date('Ymd', $secondtime); + $arrayData[$wip['contractno']]['arrive'][2] = strval($secondtime); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); + } else { + $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_contract_arrival_date']); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_contract_arrival_date']))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_contract_arrival_date']))); + } + } + } elseif ($wip['real_arrival_date'] != NULL) { + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['real_arrival_date'] . "貨抵工地)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['real_arrival_date'] . "貨抵工地)
"; + $arrayData[$wip['contractno']]['arrive_num'] += 1; + array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['second_num'] += 1; + array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['sign_num'] += 1; + array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); + + if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { + $estimate_delivery_time = strtotime($wip['real_arrival_date']); + $arrivetime = $estimate_delivery_time + (90 * 86400); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrivetime = date('Ymd', $arrivetime); + $arrayData[$wip['contractno']]['arrive'][2] = strval($arrivetime); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); + } else { + $arrivetime = strtotime($wip['real_arrival_date']); + $month = collect_month($arrivetime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); + $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); + array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); + array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); + } + } elseif (($arrayData[$wip['contractno']]['second'] != NULL) && (isset($arrayData[$wip['contractno']]['second'][2])) && ($arrayData[$wip['contractno']]['second'][2] <= date('Ymd'))) { + $secondtime = strtotime($arrayData[$wip['contractno']]['second'][2]); + $month = collect_month($secondtime); + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][6] = $month; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][2] = strval(date('Ymd', $secondtime)); + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (已達二次款收款條件)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (已達二次款收款條件)
"; + $arrayData[$wip['contractno']]['second_num'] += 1; + array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); + $arrayData[$wip['contractno']]['sign_num'] += 1; + array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); + } else { + $arrayData[$wip['contractno']]['sign_num'] += 1; + array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); + if ($wip['real_contract_arrival_date'] != NULL) { + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['real_contract_arrival_date'] . "預計出貨日)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['real_contract_arrival_date'] . "預計出貨日)
"; + } elseif ($wip['estimated_shipping_date'] != NULL) { + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['estimated_shipping_date'] . "預計出港日)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['estimated_shipping_date'] . "預計出港日)
"; + } else { + $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (預計出港日待確認)
"; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (預計出港日待確認)
"; + } + } + } + } +} +// foreach ($arrayData as $key => $value) { +// echo $key."
"; +// print_r($value['total_list']); +// echo " / 總 "; +// print_r($value['sign_list']); +// echo " / 訂金
"; +// print_r($value['arrive_list']); +// echo " / 貨抵 "; +// print_r($value['install_list']); +// echo " / 安裝
"; +// print_r($value['tryrun_list']); +// echo " / 試車 "; +// print_r($value['check_list']); +// echo " / 官檢
"; +// print_r($value['delivery_list']); +// echo " / 移交 "; +// print_r($value['final_list']); +// echo " / 結案
"; +// echo "---------------------------
"; +// foreach($value['sign_list'] as $fac){ +// echo $fac."========="; +// } +// } + + +// 計算每個合約的應收款、作番總數 +$today_date = new DateTime(date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m-d'))))); +$contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); +foreach ($arrayData as &$value) { + if ($value['total_facility_num'] > 0) { + $sign_ratio = get_ratio($value['sign_list'], $value[10], $contract_budget); + $value['sign'][3] = $value['sign'][1] * $sign_ratio; + $second_ratio = get_ratio($value['second_list'], $value[10], $contract_budget); + $value['second'][3] = $value['second'][1] * $second_ratio; + $arrive_ratio = get_ratio($value['arrive_list'], $value[10], $contract_budget); + $value['arrive'][3] = $value['arrive'][1] * $arrive_ratio; + $install_ratio = get_ratio($value['install_list'], $value[10], $contract_budget); + $value['install'][3] = $value['install'][1] * $install_ratio; + $tryrun_ratio = get_ratio($value['tryrun_list'], $value[10], $contract_budget); + $value['tryrun'][3] = $value['tryrun'][1] * $tryrun_ratio; + $check_ratio = get_ratio($value['check_list'], $value[10], $contract_budget); + $value['check'][3] = $value['check'][1] * $check_ratio; + $delivery_ratio = get_ratio($value['delivery_list'], $value[10], $contract_budget); + $value['delivery'][3] = $value['delivery'][1] * $delivery_ratio; + $final_ratio = get_ratio($value['final_list'], $value[10], $contract_budget); + $value['final'][3] = $value['final'][1] * $final_ratio; + $value['receivable_budget'] = $value['sign'][3] + $value['second'][3] + $value['arrive'][3] + $value['install'][3] + $value['tryrun'][3] + $value['check'][3] + $value['delivery'][3] + $value['final'][3]; + } + //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 + // 計算每台作番金額與各階段應收金額 + if (isset($value['facility'])) { + foreach ($value['facility'] as &$val) { + foreach ($contractstage as $stage) { + if (isset($value[$stage][0]) && !empty($value[$stage][0])) { + $val[$stage][0] = $value[$stage][0]; + if (isset($contract_budget[$value[10]]['total']) && isset($contract_budget[$value[10]][$val['no']]['total'])) { + $ratio = $contract_budget[$value[10]][$val['no']]['total'] / $contract_budget[$value[10]]['total']; + } else { + $ratio = 0; + } + $val[$stage][1] = $value[$stage][1] * $ratio; + $val[$stage][3] = (!(isset($val[$stage][6])) || $val[$stage][6] == 0) ? 0 : $val[$stage][1]; + $val['total_budget'] += $val[$stage][1]; + $val['receivable_budget'] += $val[$stage][3]; + } + } + } + } + + + + // 計算最大催收次數與最小催收次數 + foreach ($contractstage as $i) { + if (!empty($value[$i]['min']) && count($value[$i]['min']) > 0) { + $latest_timestamp = max($value[$i]['min']); + $latest_date = new DateTime(); + $latest_date->setTimestamp($latest_timestamp); + if ($latest_date < $today_date) { + $interval = $latest_date->diff($today_date); + $month = $interval->format('%m'); + $value[$i]['min'] = $month; + } else { + $value[$i]['min'] = 0; + } + } else { + $value[$i]['min'] = 0; + }; + if (!empty($value[$i]['max']) && count($value[$i]['max']) > 0) { + $latest_timestamp = min($value[$i]['max']); + $latest_date = new DateTime(); + $latest_date->setTimestamp($latest_timestamp); + if ($latest_date < $today_date) { + $interval = $latest_date->diff($today_date); + $month = $interval->format('%m'); + $value[$i]['max'] = $month; + } else { + $value[$i]['max'] = 0; + } + } else { + $value[$i]['max'] = 0; + }; + } +} + +// [合約號][作番號][款別] ['con'] [金額]/[合約預計收款日期] +// [合約號][作番號][款別] ['inv'] [金額]/[發票開立日期] +// [合約號][作番號][款別] ['rec'] [金額]/[實際收款日期] +foreach ($wipwhole_array as $wip) { + if (isset($arrayData[$wip['contractno']]) && isset($arrayData[$wip['contractno']][$wip['facilityno']]) && !empty($arrayData[$wip['contractno']]['total_facility_num'])) { + $stagearray = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); + foreach ($stagearray as $stage) { + $arrayData[$wip['contractno']][$wip['facilityno']][$stage]['con'] = $arrayData[$wip['contractno']][$stage][1] / $arrayData[$wip['contractno']]['total_facility_num']; + } + } +} +// [invoice][發票號碼][0 發票日期, 1 發票金額, 2 發票狀態, 3 收款日期, 4 收款金額, 5 手續費, 6 核銷單號] +foreach ($invoice_data as $invoice) { + if (isset($arrayData[$invoice['ProjectId']])) { + $arrayData[$invoice['ProjectId']]['invoice_budget'] += intval($invoice['OAmountWithTax']); + $arrayData[$invoice['ProjectId']]['invoice'][$invoice['InvoiceNo']] = [date("Ymd", strtotime($invoice['InvoiceTime'])), $invoice['OAmountWithTax'], $invoice['InvoiceState']]; + } +} + +// 把核銷單的內容補到發票資料中 +foreach ($received_array as $received) { + if ($received['OrderBillNo'] == 'SO20230801001') { + $BillNo = 'M230947'; + } elseif ($received['OrderBillNo'] == 'SO20230801002') { + $BillNo = 'M231067'; + } else { + $BillNo = $received['OrderBillNo']; + }; + if (isset($arrayData[$BillNo])) { + if (isset($arrayData[$BillNo]['invoice'][$received['InvoiceNo']])) { + $arrayData[$BillNo]['received_budget'] += $received['PayWriteOffOAmount']; + array_push($arrayData[$BillNo]['invoice'][$received['InvoiceNo']], date($received['ReceivedDate']), $received['PayWriteOffOAmount'], $received['Fee'], $received['BillNo']); + } + } +} + +//['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 4 已收金額 5 催收金額 6 已開發票金額 7 未開發票金額 min 最早應收月份 max 最晚應收月份 +foreach ($arrayData as $key => &$data) { + //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 + //作番 + $facilities = array(); + if (isset($data['facility'])) { + foreach ($data['facility'] as $fakey => $val) { + array_push($facilities, $fakey); + } + } + + $tmp_data = $data['received_budget']; + $tmp_invoice = $data['invoice_budget']; + //------------------------------------------------------------------------------------------------------------------------------------ + if (isset($data['sign'][3]) && $data['sign'][3] > 0) { + if ($tmp_data > 0) { + if (($tmp_data - $data['sign'][3]) >= 0) { + $data['sign'][4] = $data['sign'][3]; + $tmp_data -= $data['sign'][3]; + $tmp_facility_received = $data['sign'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; + $data['facility'][$this_facility]['sign'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + } + } else { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = 0; + } + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; + } + } + } else { + $data['sign'][4] = $tmp_data; + $tmp_data = 0; + $tmp_facility_received = $data['sign'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; + $data['facility'][$this_facility]['sign'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + } + } else { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = 0; + } + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; + } + } + } + $data['sign'][5] = $data['sign'][3] - $data['sign'][4]; + } else { + $data['sign'][4] = 0; + $data['sign'][5] = $data['sign'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['sign'][4] = 0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; + } + } + } + if ($tmp_invoice > 0) { + if (($tmp_invoice - $data['sign'][3]) >= 0) { + $data['sign'][6] = $data['sign'][3]; + $tmp_invoice -= $data['sign'][3]; + } else { + $data['sign'][6] = $tmp_invoice; + $tmp_invoice = 0; + } + $data['sign'][7] = $data['sign'][3] - $data['sign'][6]; + } else { + $data['sign'][6] = 0; + $data['sign'][7] = $data['sign'][3]; + } + } else { + $data['sign'][4] = 0; + $data['sign'][5] = 0; + $data['sign'][6] = 0; + $data['sign'][7] = 0; + } + if (isset($data['second'][3]) && $data['second'][3] > 0) { + if ($tmp_data > 0) { + if (($tmp_data - $data['second'][3]) >= 0) { + $data['second'][4] = $data['second'][3]; + $tmp_data -= $data['second'][3]; + $tmp_facility_received = $data['second'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; + $data['facility'][$this_facility]['second'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; + } else { + $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + } + } else { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = 0; + $data['facility'][$this_facility]['second'][6] = 0; + } + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; + } + } + } else { + $data['second'][4] = $tmp_data; + $tmp_data = 0; + $tmp_facility_received = $data['second'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; + $data['facility'][$this_facility]['second'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; + } else { + $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + } + } else { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = 0; + $data['facility'][$this_facility]['second'][6] = 0; + } + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; + } + } + } + $data['second'][5] = $data['second'][3] - $data['second'][4]; + } else { + $data['second'][4] = 0; + $data['second'][5] = $data['second'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['second'][4] = 0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; + } + } + } + if ($tmp_invoice > 0) { + if (($tmp_invoice - $data['second'][3]) >= 0) { + $data['second'][6] = $data['second'][3]; + $tmp_invoice -= $data['second'][3]; + } else { + $data['second'][6] = $tmp_invoice; + $tmp_invoice = 0; + } + $data['second'][7] = $data['second'][3] - $data['second'][6]; + } else { + $data['second'][6] = 0; + $data['second'][7] = $data['second'][3]; + } + } else { + $data['second'][4] = 0; + $data['second'][5] = 0; + $data['second'][6] = 0; + $data['second'][7] = 0; + } + + if (isset($data['arrive'][3]) && $data['arrive'][3] > 0) { + + if ($tmp_data > 0) { + if (($tmp_data - $data['arrive'][1]) >= 0) { + $data['arrive'][4] = $data['arrive'][3]; + $tmp_data -= $data['arrive'][3]; + $tmp_facility_received = $data['arrive'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; + $data['facility'][$this_facility]['arrive'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; + } else { + $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + } + } else { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = 0; + $data['facility'][$this_facility]['arrive'][6] = 0; + } + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; + } + } + } else { + $data['arrive'][4] = $tmp_data; + $tmp_data = 0; + $tmp_facility_received = $data['arrive'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; + $data['facility'][$this_facility]['arrive'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; + } else { + $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + } + } else { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = 0; + $data['facility'][$this_facility]['arrive'][6] = 0; + } + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; + } + } + } + $data['arrive'][5] = $data['arrive'][3] - $data['arrive'][4]; + } else { + $data['arrive'][4] = 0; + $data['arrive'][5] = $data['arrive'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['arrive'][4] = 0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; + } + } + } + if ($tmp_invoice > 0) { + if (($tmp_invoice - $data['arrive'][3]) >= 0) { + $data['arrive'][6] = $data['arrive'][3]; + $tmp_invoice -= $data['arrive'][3]; + } else { + $data['arrive'][6] = $tmp_invoice; + $tmp_invoice = 0; + } + $data['arrive'][7] = $data['arrive'][3] - $data['arrive'][6]; + } else { + $data['arrive'][6] = 0; + $data['arrive'][7] = $data['arrive'][3]; + } + } else { + $data['arrive'][4] = 0; + $data['arrive'][5] = 0; + $data['arrive'][6] = 0; + $data['arrive'][7] = 0; + } + + if (isset($data['install'][3]) && $data['install'][3] > 0) { + + if ($tmp_data > 0) { + if (($tmp_data - $data['install'][1]) >= 0) { + $data['install'][4] = $data['install'][3]; + $tmp_data -= $data['install'][3]; + $tmp_facility_received = $data['install'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; + $data['facility'][$this_facility]['install'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; + } else { + $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + } + } else { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = 0; + $data['facility'][$this_facility]['install'][6] = 0; + } + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; + } + } + } else { + $data['install'][4] = $tmp_data; + $tmp_data = 0; + $tmp_facility_received = $data['install'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; + $data['facility'][$this_facility]['install'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; + } else { + $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + } + } else { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = 0; + $data['facility'][$this_facility]['install'][6] = 0; + } + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; + } + } + } + $data['install'][5] = $data['install'][3] - $data['install'][4]; + } else { + $data['install'][4] = 0; + $data['install'][5] = $data['install'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['install'][4] = 0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; + } + } + } + if ($tmp_invoice > 0) { + if (($tmp_invoice - $data['install'][3]) >= 0) { + $data['install'][6] = $data['install'][3]; + $tmp_invoice -= $data['install'][3]; + } else { + $data['install'][6] = $tmp_invoice; + $tmp_invoice = 0; + } + $data['install'][7] = $data['install'][3] - $data['install'][6]; + } else { + $data['install'][6] = 0; + $data['install'][7] = $data['install'][3]; + } + } else { + $data['install'][4] = 0; + $data['install'][5] = 0; + $data['install'][6] = 0; + $data['install'][7] = 0; + } + + + if (isset($data['tryrun'][3]) && $data['tryrun'][3] > 0) { + if ($tmp_data > 0) { + if (($tmp_data - $data['tryrun'][1]) >= 0) { + $data['tryrun'][4] = $data['tryrun'][3]; + $tmp_data -= $data['tryrun'][3]; + $tmp_facility_received = $data['tryrun'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; + } else { + $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + } + } else { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + } + } else { + $data['tryrun'][4] = $tmp_data; + $tmp_data = 0; + $tmp_facility_received = $data['tryrun'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; + } else { + $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + } + } else { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = 0; + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + } + } + $data['tryrun'][5] = $data['tryrun'][3] - $data['tryrun'][4]; + } else { + $data['tryrun'][4] = 0; + $data['tryrun'][5] = $data['tryrun'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['tryrun'][4] = 0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; + } + } + } + if ($tmp_invoice > 0) { + if (($tmp_invoice - $data['tryrun'][3]) >= 0) { + $data['tryrun'][6] = $data['tryrun'][3]; + $tmp_invoice -= $data['tryrun'][3]; + } else { + $data['tryrun'][6] = $tmp_invoice; + $tmp_invoice = 0; + } + $data['tryrun'][7] = $data['tryrun'][3] - $data['tryrun'][6]; + } else { + $data['tryrun'][6] = 0; + $data['tryrun'][7] = $data['tryrun'][3]; + } + } else { + $data['tryrun'][4] = 0; + $data['tryrun'][5] = 0; + $data['tryrun'][6] = 0; + $data['tryrun'][7] = 0; + } + + if (isset($data['check'][3]) && $data['check'][3] > 0) { + if ($tmp_data > 0) { + if (($tmp_data - $data['check'][1]) >= 0) { + $data['check'][4] = $data['check'][3]; + $tmp_data -= $data['check'][3]; + $tmp_facility_received = $data['check'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; + $data['facility'][$this_facility]['check'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; + } else { + $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + } + } else { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = 0; + $data['facility'][$this_facility]['check'][6] = 0; + } + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; + } + } + } else { + $data['check'][4] = $tmp_data; + $tmp_data = 0; + $tmp_facility_received = $data['check'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; + $data['facility'][$this_facility]['check'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; + } else { + $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + } + } else { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = 0; + $data['facility'][$this_facility]['check'][6] = 0; + } + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; + } + } + } + $data['check'][5] = $data['check'][3] - $data['check'][4]; + } else { + $data['check'][4] = 0; + $data['check'][5] = $data['check'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['check'][4] = 0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; + } + } + } + if ($tmp_invoice > 0) { + if (($tmp_invoice - $data['check'][3]) >= 0) { + $data['check'][6] = $data['check'][3]; + $tmp_invoice -= $data['check'][3]; + } else { + $data['check'][6] = $tmp_invoice; + $tmp_invoice = 0; + } + $data['check'][7] = $data['check'][3] - $data['check'][6]; + } else { + $data['check'][6] = 0; + $data['check'][7] = $data['check'][3]; + } + } else { + $data['check'][4] = 0; + $data['check'][5] = 0; + $data['check'][6] = 0; + $data['check'][7] = 0; + } + if (isset($data['delivery'][3]) && $data['delivery'][3] > 0) { + if ($tmp_data > 0) { + if (($tmp_data - $data['delivery'][1]) >= 0) { + $data['delivery'][4] = $data['delivery'][3]; + $tmp_data -= $data['delivery'][3]; + $tmp_facility_received = $data['delivery'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; + $data['facility'][$this_facility]['delivery'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; + } else { + $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + } + } else { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = 0; + $data['facility'][$this_facility]['delivery'][6] = 0; + } + if ($data['facility'][$this_facility]['delivery'][5] == 0) { + $data['facility'][$this_facility]['delivery'][6] = 0; + } + } + } else { + $data['delivery'][4] = $tmp_data; + $tmp_data = 0; + $tmp_facility_received = $data['delivery'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; + $data['facility'][$this_facility]['delivery'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; + } else { + $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + } + } else { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = 0; + $data['facility'][$this_facility]['delivery'][6] = 0; + } + if ($data['facility'][$this_facility]['delivery'][5] == 0) { + $data['facility'][$this_facility]['delivery'][6] = 0; + } + } + } + $data['delivery'][5] = $data['delivery'][3] - $data['delivery'][4]; + } else { + $data['delivery'][4] = 0; + $data['delivery'][5] = $data['delivery'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['delivery'][4] = 0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; + } + } + } + if ($tmp_invoice > 0) { + if (($tmp_invoice - $data['delivery'][3]) >= 0) { + $data['delivery'][6] = $data['delivery'][3]; + $tmp_invoice -= $data['delivery'][3]; + } else { + $data['delivery'][6] = $tmp_invoice; + $tmp_invoice = 0; + } + $data['delivery'][7] = $data['delivery'][3] - $data['delivery'][6]; + } else { + $data['delivery'][6] = 0; + $data['delivery'][7] = $data['delivery'][3]; + } + } else { + $data['delivery'][4] = 0; + $data['delivery'][5] = 0; + $data['delivery'][6] = 0; + $data['delivery'][7] = 0; + } + + if (isset($data['final'][3]) && $data['final'][3] > 0) { + if ($tmp_data > 0) { + if (($tmp_data - $data['final'][1]) >= 0) { + $data['final'][4] = $data['final'][3]; + $tmp_data -= $data['final'][3]; + $tmp_facility_received = $data['final'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; + } else { + $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + } + } else { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = 0; + $data['facility'][$this_facility]['final'][6] = 0; + } + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; + } + } + } else { + $data['final'][4] = $tmp_data; + $tmp_data = 0; + $tmp_facility_received = $data['final'][4]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { + if ($tmp_facility_received > 0) { + if ($tmp_facility_received >= $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][5] = 0; + $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; + } else { + $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][4]; + $tmp_facility_received = 0; + } + } else { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + } + } else { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = 0; + $data['facility'][$this_facility]['final'][6] = 0; + } + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; + } + } + } + $data['final'][5] = $data['final'][3] - $data['final'][4]; + } else { + $data['final'][4] = 0; + $data['final'][5] = $data['final'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['final'][4] = 0; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + } + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; + } + } + if ($tmp_invoice > 0) { + if (($tmp_invoice - $data['final'][3]) >= 0) { + $data['final'][6] = $data['final'][3]; + $tmp_invoice -= $data['final'][3]; + } else { + $data['final'][6] = $tmp_invoice; + $tmp_invoice = 0; + } + $data['final'][7] = $data['final'][3] - $data['final'][6]; + } else { + $data['final'][6] = 0; + $data['final'][7] = $data['final'][3]; + } + } else { + $data['final'][4] = 0; + $data['final'][5] = 0; + $data['final'][6] = 0; + $data['final'][7] = 0; + } +} + + +//產生excel的array +$excel_aray = array(); +$boga_array = array(); +$exclude_boga_array = array(); +$facility_array = array(); +$facility_boga_array = array(); +$facility_exclude_boga_array = array(); +foreach ($arrayData as $key => $value) { + $sum_A40001 += isset($value['A40001']) ? $value['A40001'] : 0; + $sum_A40008 += isset($value['A40008']) ? $value['A40008'] : 0; + $sum_total_budget += $value['total_budget']; + $sum_facility += $value['total_facility_num']; + $value['sign'][3] = (isset($value['sign'][3])) ? $value['sign'][3] : 0; + $value['second'][3] = (isset($value['second'][3])) ? $value['second'][3] : 0; + $value['arrive'][3] = (isset($value['arrive'][3])) ? $value['arrive'][3] : 0; + $value['install'][3] = (isset($value['install'][3])) ? $value['install'][3] : 0; + $value['tryrun'][3] = (isset($value['tryrun'][3])) ? $value['tryrun'][3] : 0; + $value['check'][3] = (isset($value['check'][3])) ? $value['check'][3] : 0; + $value['delivery'][3] = (isset($value['delivery'][3])) ? $value['delivery'][3] : 0; + $value['final'][3] = (isset($value['final'][3])) ? $value['final'][3] : 0; + $value[9] = (isset($value[9])) ? Date('Ymd', strtotime($value[9])) : 0; + $contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); + foreach ($contractstage as $i) { + $value[$i]['max'] = (empty($value[$i]['max']) || is_null($value[$i]['max'])) ? 0 : $value[$i]['max']; + $value[$i]['min'] = (empty($value[$i]['min']) || is_null($value[$i]['min'])) ? 0 : $value[$i]['min']; + $value[$i][4] = (isset($value[$i][4])) ? $value[$i][4] : 0; + $value[$i][5] = (isset($value[$i][5])) ? $value[$i][5] : 0; + $value['A40001'] = (isset($value['A40001'])) ? $value['A40001'] : 0; + $value['A40008'] = (isset($value['A40008'])) ? $value['A40008'] : 0; + }; + + if (isset($value['sign'][0]) && $value['sign'][0] == "寶佳出貨前30天") { + $boga_array[$key] = [ + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], + number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], + number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], + number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), $value['install']['max'], $value['install']['min'], + number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), $value['tryrun']['max'], $value['tryrun']['min'], + number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), $value['check']['max'], $value['check']['min'], + number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), $value['delivery']['max'], $value['delivery']['min'], + number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), $value['final']['max'], $value['final']['min'], + number_format(round($value['A40001'])), number_format(round($value['A40008'])), number_format(round($value['total_budget'])), number_format(round($value['receivable_budget'])), number_format(round($value['invoice_budget'])), number_format(round($value['received_budget'])), $value['total_facility_num'], str_replace('
', '; ', $value['facilities']) + ]; + } else { + $exclude_boga_array[$key] = [ + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], + number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], + number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], + number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), $value['install']['max'], $value['install']['min'], + number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), $value['tryrun']['max'], $value['tryrun']['min'], + number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), $value['check']['max'], $value['check']['min'], + number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), $value['delivery']['max'], $value['delivery']['min'], + number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), $value['final']['max'], $value['final']['min'], + number_format(round($value['A40001'])), number_format(round($value['A40008'])), number_format(round($value['total_budget'])), number_format(round($value['receivable_budget'])), number_format(round($value['invoice_budget'])), number_format(round($value['received_budget'])), $value['total_facility_num'], str_replace('
', '; ', $value['facilities']) + ]; + } + + $excel_aray[$key] = [ + $value[9], $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + number_format(round($value['sign'][1])), number_format(round($value['sign'][3])), number_format(round($value['sign'][6])), number_format(round($value['sign'][7])), number_format(round($value['sign'][4])), number_format(round($value['sign'][5])), $value['sign']['max'], $value['sign']['min'], + number_format(round($value['second'][1])), number_format(round($value['second'][3])), number_format(round($value['second'][6])), number_format(round($value['second'][7])), number_format(round($value['second'][4])), number_format(round($value['second'][5])), $value['second']['max'], $value['second']['min'], + number_format(round($value['arrive'][1])), number_format(round($value['arrive'][3])), number_format(round($value['arrive'][6])), number_format(round($value['arrive'][7])), number_format(round($value['arrive'][4])), number_format(round($value['arrive'][5])), $value['arrive']['max'], $value['arrive']['min'], + number_format(round($value['install'][1])), number_format(round($value['install'][3])), number_format(round($value['install'][6])), number_format(round($value['install'][7])), number_format(round($value['install'][4])), number_format(round($value['install'][5])), $value['install']['max'], $value['install']['min'], + number_format(round($value['tryrun'][1])), number_format(round($value['tryrun'][3])), number_format(round($value['tryrun'][6])), number_format(round($value['tryrun'][7])), number_format(round($value['tryrun'][4])), number_format(round($value['tryrun'][5])), $value['tryrun']['max'], $value['tryrun']['min'], + number_format(round($value['check'][1])), number_format(round($value['check'][3])), number_format(round($value['check'][6])), number_format(round($value['check'][7])), number_format(round($value['check'][4])), number_format(round($value['check'][5])), $value['check']['max'], $value['check']['min'], + number_format(round($value['delivery'][1])), number_format(round($value['delivery'][3])), number_format(round($value['delivery'][6])), number_format(round($value['delivery'][7])), number_format(round($value['delivery'][4])), number_format(round($value['delivery'][5])), $value['delivery']['max'], $value['delivery']['min'], + number_format(round($value['final'][1])), number_format(round($value['final'][3])), number_format(round($value['final'][6])), number_format(round($value['final'][7])), number_format(round($value['final'][4])), number_format(round($value['final'][5])), $value['final']['max'], $value['final']['min'], + number_format(round($value['A40001'])), number_format(round($value['A40008'])), number_format(round($value['total_budget'])), number_format(round($value['receivable_budget'])), number_format(round($value['invoice_budget'])), number_format(round($value['received_budget'])), $value['total_facility_num'], str_replace('
', '; ', $value['facilities']) + ]; + + //['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 min 最早應收月份 max 最晚應收月份 + //[合約號]['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 + if (isset($value['facility'])) { + foreach ($value['facility'] as $valkey => $val) { + foreach ($contractstage as $stage) { + $val[$stage][0] = (!(isset($val[$stage][0])) || is_null($val[$stage][0])) ? "-" : $val[$stage][0]; + $val[$stage][1] = (!(isset($val[$stage][1])) || is_null($val[$stage][1])) ? 0 : $val[$stage][1]; + $val[$stage][2] = (!(isset($val[$stage][2])) || is_null($val[$stage][2])) ? "-" : $val[$stage][2]; + $val[$stage][3] = (!(isset($val[$stage][3])) || is_null($val[$stage][3])) ? 0 : $val[$stage][3]; + $val[$stage][4] = (!(isset($val[$stage][4])) || is_null($val[$stage][4])) ? 0 : $val[$stage][4]; + $val[$stage][5] = (!(isset($val[$stage][5])) || is_null($val[$stage][5])) ? 0 : $val[$stage][5]; + $val[$stage][6] = (!(isset($val[$stage][6])) || is_null($val[$stage][6])) ? 0 : $val[$stage][6]; + } + $facility_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) + ]; + if ($value['sign'][0] == "寶佳出貨前30天") { + $facility_boga_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) + ]; + } else { + $facility_exclude_boga_array[$valkey] = [ + $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) + ]; + } + } + } +} +$average_A40001 = round($sum_A40001 / $sum_facility, 2); +$average_A40008 = round($sum_A40008 / $sum_facility, 2); +$average_budget = round($sum_total_budget / $sum_facility, 2); + +$total_data = json_encode($excel_aray); +$boga_data = json_encode($boga_array); +$exclude_boga_data = json_encode($exclude_boga_array); +$facility_data = json_encode($facility_array); +$facility_boga_data = json_encode($facility_boga_array); +$facility_exclude_boga_data = json_encode($facility_exclude_boga_array); + +?> + + +
+
+ + + +
+
+
+
+ + + + +
+
+ +
+
+

合約 (新梯)統整資訊

+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + + + +
+
合約號 部門經理營業員客戶名稱簽約款應收簽約金額簽約最小催收次數簽約最大催收次數二次款應收二次金額二次最小催收次數二次最大催收次數貨抵工地款應收貨抵工地金額貨抵工地最小催收次數貨抵工地最大催收次數安裝款應收安裝金額安裝最小催收次數安裝最大催收次數試車款應收試車金額試車最小催收次數試車最大催收次數官檢款應收官檢金額官檢最小催收次數官檢最大催收次數移交款應收移交金額移交最小催收次數移交最大催收次數尾款應收尾款金額尾款最小催收次數尾款最大催收次數營業員客戶名稱 合約總金額目前應收已開發票金額目前應收已開發票金額 已收金額收款狀態作番數量作番狀態
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $value) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
合約號部門經理營業員客戶名稱簽約款應收簽約金額簽約最小催收次數簽約最大催收次數二次款應收二次金額二次最小催收次數二次最大催收次數貨抵工地款應收貨抵工地金額貨抵工地最小催收次數貨抵工地最大催收次數安裝款應收安裝金額安裝最小催收次數安裝最大催收次數試車款應收試車金額試車最小催收次數試車最大催收次數官檢款應收官檢金額官檢最小催收次數官檢最大催收次數移交款應收移交金額移交最小催收次數移交最大催收次數尾款應收尾款金額尾款最小催收次數尾款最大催收次數合約總金額目前應收已開發票金額已收金額收款狀態
+
+ \ No newline at end of file diff --git a/wms/account-receivable-test.php b/wms/account-receivable-test.php index b06fa36e..65ab59fc 100644 --- a/wms/account-receivable-test.php +++ b/wms/account-receivable-test.php @@ -44,9 +44,339 @@ include './header.php'; // } +// 找出已工收的作番 但沒在T8銷售訂單上出現的作番 +$material_array = "('2MH00028', '3MH00123', '2MH00026', '3MW00067', '3MH00124', '3MH00121', +'3MH00122', '2MW00027', '3MH00297', '2MW00001', '3MH00111', '3MW00190', +'3MW00118', '3MH00093', '3MH00002', '3MW00024', '3MH00130', '3MH00196', +'3MW00119', '3MH00205', '3MH00259', '3MW00159', '3MW00243', '3MH00351', +'3MH00352', '2MX00015', '3MH00353', '3MH00298', '3MH00113', '3MH00036', +'3MH00206', '3MH00179', '3MH00180', '3MH00181', '3MW00350', '3MH00053', +'3MH00054', '3MH00178', '3MH00296', '2MH00047', '3MW00114', '3MH00282', +'2MH00048', '3MH00609', '3MH00148', '3MH00354', '3MX00021', '3MW00210', +'3MH00184', '3MH00185', '3MH00283', '3MW00209', '3MH00182', '3MH00183', +'3MH00189', '3MH00512', '3MH00355', '3MH00286', '3MH00511', '2MX00008', +'2MX00014', '3MH00244', '3MH00555', '3MH00450', '3MW00211', '3MH00177', +'2MX00009', '2MX00012', '3MW00139', '3MH00540', '3MH00504', '3MH00360', +'3MH00301', '3MX00020', '2MX00013')"; +$material_array2 = array( + '2MH00028', '3MH00123', '2MH00026', '3MW00067', '3MH00124', '3MH00121', + '3MH00122', '2MW00027', '3MH00297', '2MW00001', '3MH00111', '3MW00190', + '3MW00118', '3MH00093', '3MH00002', '3MW00024', '3MH00130', '3MH00196', + '3MW00119', '3MH00205', '3MH00259', '3MW00159', '3MW00243', '3MH00351', + '3MH00352', '2MX00015', '3MH00353', '3MH00298', '3MH00113', '3MH00036', + '3MH00206', '3MH00179', '3MH00180', '3MH00181', '3MW00350', '3MH00053', + '3MH00054', '3MH00178', '3MH00296', '2MH00047', '3MW00114', '3MH00282', + '2MH00048', '3MH00609', '3MH00148', '3MH00354', '3MX00021', '3MW00210', + '3MH00184', '3MH00185', '3MH00283', '3MW00209', '3MH00182', '3MH00183', + '3MH00189', '3MH00512', '3MH00355', '3MH00286', '3MH00511', '2MX00008', + '2MX00014', '3MH00244', '3MH00555', '3MH00450', '3MW00211', '3MH00177', + '2MX00009', '2MX00012', '3MW00139', '3MH00540', '3MH00504', '3MH00360', + '3MH00301', '3MX00020', '2MX00013' +); + +//找出已工收 在採購單上有的作番 // $sql_purBill = "SELECT * FROM purBillOrderDetail WHERE MaterialId IN ('2MH00028P','3MH00123P','2MH00026P','3MW00067P','3MH00124P','3MH00121P','3MH00122P','2MW00027P','3MH00297P','2MW00001P','3MH00111P','3MW00190P','3MW00118P','3MH00093P','3MH00002P','3MW00024P','3MH00130P','3MH00196P','3MW00119P','3MH00205P','3MH00259P','3MW00159P','3MW00243P','3MH00351P','3MH00352P','2MX00015P','3MH00353P','3MH00298P','3MH00113P','3MH00036P','3MH00206P','3MH00179P','3MH00180P','3MH00181P','3MW00350P','3MH00053P','3MH00054P','3MH00178P','3MH00296P','2MH00047P','3MW00114P','3MH00282P','2MH00048P','3MH00609P','3MH00148P','3MH00354P','3MX00021P','3MW00210P','3MH00184P','3MH00185P','3MH00283P','3MW00209P','3MH00182P','3MH00183P','3MH00189P','3MH00512P','3MH00355P','3MH00286P','3MH00511P','2MX00008P','2MX00014P','3MH00244P','3MH00555P','3MH00450P','3MW00211P','3MH00177P','2MX00009P','2MX00012P','3MW00139P','3MH00540P','3MH00504P','3MH00360P','3MH00301P','3MX00020P','2MX00013P')"; -// $purBill = $conn->query($sql_purBill); +// $query_purBill = $conn->query($sql_purBill); +// foreach ($query_purBill as $row) { +// echo substr($row['MaterialId'],0,-1) . ";" . $row['BillNo'] . "
"; +// } + + + + +// $find_array = array(); +// $sql_Bill = "SELECT * FROM salSalesOrderDetail +// WHERE MaterialId +// IN $material_array"; +// $query = $conn->query($sql_Bill); +// foreach ($query as $row) { +// echo $row['MaterialId'] . ","; +// if (($key = array_search($row['MaterialId'], $material_array2)) !== false) { +// unset($material_array2[$key]); +// } +// } +// echo "

"; +// foreach ($material_array2 as $material) { +// echo $material . ","; +// } + +//-------------------------沒有3MH00540-------------------------------------------- + + +//找已工收 已發貨的作番 +// $sql_out_warehouse = "SELECT B.MaterialId FROM stkWareHouseIn AS A LEFT JOIN stkWareHouseInDetail AS B ON A.BillNo=B.BillNo WHERE A.IOProperty = 0 AND B.MaterialId IN $material_array"; +// $query_out_warehouse = $conn->query($sql_out_warehouse); +// foreach ($query_out_warehouse as $row) { +// echo $row['MaterialId'] . "
"; +// } + + +// 已工收 有庫存的作番 +// $sql_in_warehouse = "SELECT MaterialId, Quantity FROM stkWareHouseAccountDetail WHERE MaterialId IN $material_array AND Quantity >0"; +// $query_in_warehouse = $conn->query($sql_in_warehouse); +// foreach ($query_in_warehouse as $row) { +// echo $row['MaterialId'].", ".$row['Quantity'] . "
"; +// if (($key = array_search($row['MaterialId'], $material_array2)) !== false) { +// unset($material_array2[$key]); +// } +// } +// echo "

"; +// foreach ($material_array2 as $material) { +// echo $material . "
"; +// } + + +//已工收 有組裝單 +// $sql_assemble = "SELECT * FROM stkAssyMast WHERE MaterialId IN $material_array"; +// $query_assemble = $conn->query($sql_assemble); +// foreach ($query_assemble as $row) { +// echo $row['MaterialId'] . "
"; +// } + +//已工收 P有庫存 +// $sql_p_in_warehouse = "SELECT MaterialId, Quantity FROM stkWareHouseAccountDetail WHERE MaterialId IN +// ('2MH00028P','3MH00123P','2MH00026P','3MW00067P','3MH00124P','3MH00121P','3MH00122P', +// '2MW00027P','3MH00297P','2MW00001P','3MH00111P','3MW00190P','3MW00118P','3MH00093P', +// '3MH00002P','3MW00024P','3MH00130P','3MH00196P','3MW00119P','3MH00205P','3MH00259P', +// '3MW00159P','3MW00243P','3MH00351P','3MH00352P','2MX00015P','3MH00353P','3MH00298P', +// '3MH00113P','3MH00036P','3MH00206P','3MH00179P','3MH00180P','3MH00181P','3MW00350P', +// '3MH00053P','3MH00054P','3MH00178P','3MH00296P','2MH00047P','3MW00114P','3MH00282P', +// '2MH00048P','3MH00609P','3MH00148P','3MH00354P','3MX00021P','3MW00210P','3MH00184P', +// '3MH00185P','3MH00283P','3MW00209P','3MH00182P','3MH00183P','3MH00189P','3MH00512P', +// '3MH00355P','3MH00286P','3MH00511P','2MX00008P','2MX00014P','3MH00244P','3MH00555P', +// '3MH00450P','3MW00211P','3MH00177P','2MX00009P','2MX00012P','3MW00139P','3MH00540P', +// '3MH00504P','3MH00360P','3MH00301P','3MX00020P','2MX00013P') AND Quantity >0"; +// $query_p_in_warehouse = $conn->query($sql_p_in_warehouse); +// foreach ($query_p_in_warehouse as $row) { +// echo substr($row['MaterialId'],0,-1). "
"; +// } + +//------------------------------------------------------------------------------------------------------------------------------ +$finished_array = array('2MH00028', '3MH00123', '2MH00026', '3MW00067', '3MH00124', '3MH00121', '3MH00122', '2MW00027', '3MH00297'); +$finished = "('2MH00028','3MH00123','2MH00026','3MW00067','3MH00124','3MH00121','3MH00122','2MW00027','3MH00297')"; +//有向普來特富下單的作番 +// $sql_all = "SELECT `contractno`,`facilityno`,`custom` FROM `wipwholestatus` +// WHERE (prattford_order_date IS NOT NULL) +// AND facilityno NOT IN ('2MH00028','3MH00123','2MH00026','3MW00067','3MH00124','3MH00121','3MH00122','2MW00027','3MH00297') +// AND contract_type='A'"; +// $query_all = mysqli_query($link, $sql_all); +// $facilities = mysqli_fetch_all($query_all, MYSQLI_ASSOC); +// foreach ($facilities as $key => $value) { +// // echo $value['contractno'] . ";" . $value['facilityno']. ";" . $value['custom'] . "
"; +// echo $value['contractno'] ."
"; +// } +$all = "('2MW00001','2MW00002','2MW00003','2MW00004','2MW00005','2MX00006','2MX00007','2MX00008','2MX00009','2MX00010','2MX00011','2MX00012','2MX00013','2MX00014','2MX00015', +'2MX00016','2MX00017','2MX00018','2MX00019','2MX00020','2MX00021','2MX00022','2MX00023','2MX00024','2MX00025','2MW00038','2MX00044','2MH00046','2MH00047','2MH00048','3MH00002', +'3MX00003','3MX00004','3MX00005','3MX00006','3MX00007','3MX00008','3MX00009','3MX00010','3MX00011','3MX00012','3MX00013','3MX00014','3MX00015','3MX00016','3MX00017','3MX00018', +'3MX00019','3MX00020','3MX00021','3MX00022','3MH00023','3MW00024','3MH00025','3MX00026','3MH00027','3MH00028','3MH00029','3MH00030','3MH00031','3MH00032','3MH00033','3MH00034', +'3MH00035','3MH00036','3MX00037','3MF00038','3MH00039','3MH00040','3MH00041','3MH00042','3MH00043','3MH00044','3MH00045','3MH00046','3MH00047','3MX00048','3MH00049','3MW00050', +'3MW00051','3MW00052','3MH00053','3MX00924','3MH00054','3MH00055','3MH00056','3MH00057','3MH00058','3MH00059','3MH00060','3MH00061','3MH00062','3MH00063','3MH00064','3MX00065', +'3MH00066','3MX00068','3MX00069','3MX00070','3MX00071','3MX00072','3MX00073','3MX00074','3MX00075','3MH00076','3MH00077','3MX00078','3MX00079','3MX00080','3MX00081','3MX00082', +'3MX00083','3MX00084','3MX00085','3MX00086','3MX00087','3MX00088','3MX00089','3MX00090','3MX00091','3MX00092','3MH00093','3MH00094','3MH00095','3MH00096','3MH00097','3MH00098', +'3MH00099','3MH00100','3MH00101','3MH00102','3MH00103','3MH00104','3MH00105','3MH00106','3MH00107','3MW00108','3MX00109','3MW00110','3MH00111','3MH00112','3MH00113','3MW00114', +'3MH00115','3MH00116','3MW00117','3MW00118','3MW00119','3MH00120','3MH00125','3MH00126','3MH00127','3MW00128','3MW00129','3MH00130','3MH00131','3MX00132','3MX00133','3MX00134', +'3MX00135','3MX00136','3MX00137','3MX00138','3MW00139','3MX00141','3MX00142','3MX00144','3MX00147','3MX00140','3MX00143','3MX00145','3MX00146','3MH00148','3MH00149','3MH00150', +'3MH00151','3MH00152','3MH00153','3MW00154','3MW00155','3MH00156','3MH00157','3MH00158','3MW00159','3MW00160','3MW00161','3MW00162','3MW00163','3MW00164','3MW00165','3MW00166', +'3MW00167','3MW00168','3MW00169','3MW00170','3MW00171','3MH00172','3MH00173','3MH00174','3MH00175','3MX00176','3MH00177','3MH00178','3MH00179','3MH00180','3MH00181','3MH00182', +'3MH00183','3MH00184','3MH00185','3MH00186','3MH00187','3MH00188','3MH00189','3MW00190','3MX00191','3MX00192','3MX00193','3MH00194','3MH00195','3MH00196','3MH00197','3MW00198', +'3MW00199','3MW00200','3MX00201','3MH00202','3MX00203','3MX00204','3MH00205','3MH00206','3MH00207','3MH00208','3MW00209','3MW00210','3MW00211','3MW00212','3MW00213','3MW00214', +'3MW00215','3MH00216','3MW00217','3MX00218','3MX00219','3MX00220','3MX00221','3MX00222','3MX00223','3MX00224','3MX00225','3MX00226','3MX00227','3MX00228','3MX00229','3MX00230', +'3MX00231','3MX00232','3MX00233','3MX00234','3MX00235','3MX00236','3MX00237','3MX00238','3MX00239','3MX00240','3MX00241','3MH00242','3MW00243','3MH00244','3MH00245','3MH00246', +'3MH00247','3MW00248','3MW00249','3MH00250','3MH00251','3MH00252','3MW00253','3MP00254','3MH00255','3MW00256','3MX00257','3MW00258','3MH00259','3MW00260','3MW00261','3MH00262', +'3MH00263','3MH00264','3MH00265','3MH00281','3MH00280','3MW00279','3MW00278','3MW00277','3MW00276','3MW00275','3MW00274','3MH00273','3MH00272','3MH00271','3MH00270','3MH00268', +'3MH00269','3MH00266','3MW00267','3MH00282','3MH00283','3MH00284','3MH00285','3MH00286','3MX00287','3MX00288','3MX00289','3MX00290','3MX00291','3MW00292','3MH00293','3MH00294', +'3MX00295','3MH00296','3MH00298','3MH00299','3MW00300','3MH00301','3MH00302','3MH00303','3MH00304','3MH00305','3MH00306','3MH00307','3MH00308','3MH00309','3MX00310','3MW00311', +'3MH00312','3MH00313','3MX00314','3MX00324','3MX00325','3MX00334','3MX00335','3MX00315','3MX00318','3MX00319','3MX00322','3MX00326','3MX00329','3MX00331','3MX00332','3MX00316', +'3MX00317','3MX00320','3MX00321','3MX00327','3MX00328','3MX00330','3MX00333','3MW00323','3MW00336','3MH00337','3MH00338','3MH00339','3MH00340','3MH00341','3MH00342','3MH00343', +'3MH00344','3MH00345','3MH00346','3MH00347','3MH00348','3MH00349','3MW00350','3MH00351','3MH00352','3MH00353','3MH00354','3MH00355','3MH00356','3MH00357','3MH00358','3MH00359', +'3MH00360','3MH00361','3MH00362','3MH00363','3MH00364','3MH00365','3MH00366','3MH00367','3MH00368','3MW00369','3MP00370','3MH00371','3MX00372','3MX00373','3MX00374','3MX00375', +'3MW00376','3MH00377','3MH00378','3MH00379','3MH00380','3MH00381','3MH00382','3MH00383','3MH00384','3MH00385','3MH00386','3MH00387','3MH00388','3MH00389','3MH00393','3MH00394', +'3MH00395','3MH00396','3MH00397','3MH00398','3MH00399','3MH00400','3MH00401','3MH00402','3MH00403','3MX00404','3MX00405','3MX00406','3MH00407','3MH00408','3MH00409','3MH00410', +'3MH00411','3MH00412','3MW00413','3MW00414','3MW00415','3MH00416','3MH00417','3MH00418','3MW00419','3MH00420','3MH00421','3MH00422','3MH00423','3MH00424','3MH00425','3MH00426', +'3MH00427','3MH00428','3MH00429','3MX00430','3MX00431','3MX00432','3MX00433','3MX00434','3MX00435','3MX00436','3MX00437','3MX00438','3MX00439','3MX00440','3MX00441','3MX00442', +'3MX00443','3MX00444','3MH00445','3MX00448','3MH00449','3MH00450','3MW00451','3MX00452','3MW00453','3MH00454','3MH00455','3MH00456','3MH00457','3MH00458','3MH00459','3MH00460', +'3MH00461','3MH00462','3MH00463','3MH00464','3MH00465','3MH00466','3MH00467','3MH00468','3MH00469','3MH00470','3MH00471','3MH00472','3MH00473','3MH00474','3MH00475','3MH00476', +'3MH00477','3MH00478','3MH00479','3MH00480','3MH00481','3MH00482','3MX00483','3MH00484','3MH00485','3MH00486','3MX00487','3MX00488','3MW00489','3MW00490','3MH00491','3MH00492', +'3MH00493','3MH00494','3MH00495','3MH00496','3MH00497','3MH00498','3MH00499','3MW00500','3MX00501','3MX00502','3MH00503','3MH00554','3MH00540','3MX00551','3MX00552','3MH00504', +'3MW00505','3MW00506','3MH00507','3MH00508','3MW00509','3MX00510','3MH00511','3MH00512','3MH00513','3MW00514','3MW00515','3MH00516','3MH00517','3MH00518','3MH00519','3MH00520', +'3MH00521','3MH00522','3MH00523','3MH00524','3MH00525','3MH00526','3MH00527','3MH00528','3MH00529','3MH00530','3MH00531','3MH00532','3MX00533','3MH00534','3MH00535','3MX00536', +'3MX00537','3MH00538','3MH00539','3MW00824','3MH00541','3MW00542','3MX00543','3MH00544','3MH00545','3MH00546','3MH00547','3MX00548','3MX00559','3MH00550','3MH00555','3MH00557', +'3MH00556','3MX00549','3MW00558','3MH00560','3MH00561','3MH00562','3MH00563','3MH00564','3MH00565','3MH00566','3MH00567','3MH00568','3MH00569','3MH00570','3MH00571','3MH00572', +'3MH00573','3MH00574','3MH00575','3MH00576','3MH00577','3MH00578','3MW00579','3MW00580','3MH00581','3MH00582','3MH00583','3MH00584','3MH00585','3MH00586','3MH00587','3MH00588', +'3MH00589','3MH00590','3MH00591','3MH00592','3MH00593','3MH00594','3MX00595','3MH00596','3MX00597','3MX00598','3MX00599','3MX00600','3MX00601','3MX00602','3MX00604','3MX00603', +'3MX00605','3MX00606','3MX00607','3MX00608','3MH00609','3MH00610','3MH00611','3MW00613','3MW00612','3MX00614','3MX00615','3MW00616','3MH00617','3MH00618','3MX00619','3MH00620', +'3MH00621','3MH00622','3MH00623','3MH00624','3MH00625','3MH00626','3MH00627','3MX00628','3MX00629','3MX00630','3MX00631','3MX00632','3MX00633','3MX00634','3MX00635','3MX00636', +'3MX00637','3MX00638','3MH00639','3MH00640','3MH00641','3MH00642','3MH00643','3MH00644','3MH00645','3MH00646','3MH00647','3MH00648','3MH00649','3MH00650','3MH00651','3MH00652', +'3MH00653','3MH00654','3MH00655','3MH00656','3MH00657','3MH00658','3MH00659','3MH00660','3MW00695','3MH00661','3MW00662','3MX00663','3MX00664','3MX00665','3MX00666','3MX00667', +'3MX00668','3MX00669','3MX00670','3MX00671','3MX00672','3MX00673','3MX00674','3MX00675','3MX00676','3MX00677','3MX00678','3MX00679','3MX00680','3MH00681','3MH00682','3MH00683', +'3MH00684','3MH00685','3MH00686','3MH00687','3MH00688','3MH00689','3MH00690','3MW00691','3MW00692','3MH00693','3MW00694','3MW00697','3MW00698','3MW00699','3MW00696','3MW00702', +'3MW00703','3MH00704','3MH00705','3MH00706','3MH00707','3MH00708','3MH00709','3MH00710','3MH00711','3MH00712','3MH00713','3MH00714','3MH00715','3MH00716','3MH00717','3MH00718', +'3MH00719','3MH00720','3MH00721','3MH00722','3MH00723','3MH00724','3MH00725','3MH00726','3MH00727','3MH00728','3MX00729','3MX00730','3MX00731','3MX00732','3MH00733','3MH00734', +'3MH00735','3MH00736','3MH00737','3MW00739','3MX00770','3MX00771','3MX00446','3MX00447','3MH00772','3MX00740','3MX00741','3MX00742','3MX00743','3MX00744','3MX00745','3MX00746', +'3MX00747','3MX00748','3MX00749','3MH00738','3MH00768','3MX00775','3MH00774','3MP00773','3MH00779','3MH00777','3MH00778','3MH00793','3MH00794','3MH00795','3MH00796','3MH00790', +'3MH00791','3MH00789','3MX00776','3MH00797','3MH00787','3MH00792','3MW00805','3MW00806','3MH00807','3MH00808','3MX00809','3MX00810','3MX00811','3MX00812','3MH00813','3MH00864', +'3MW00863','3MH00813','3MH00814','3MX00815','3MW00818','3MW00819','3MW00821','3MW00822','3MW00823','3MW00825','3MW00826','3MW00827','3MW00828','3MW00829','3MW00830','3MW00820', +'3MW00831','3MH00817','3MH00816','3MX00758','3MX00760','3MX00759','3MX00761','3MH00832','3MW00841','3MW00842','3MW00843','3MW00844','3MH00833','3MH00834','3MH00835','3MH00836', +'3MH00837','3MH00838','3MH00839','3MH00840','3MW00845','3MW00846','3MW00847','3MH00848','3MH00849','3MH00850','3MH00851','3MH00852','3MH00853','3MH00854','3MW00855','3MW00856', +'3MW00857','3MW00858','3MX00859','3MX00860','3MX00750','3MX00752','3MX00754','3MX00757','3MX00751','3MX00753','3MX00755','3MX00756','3MX00766','3MX00767','3MW00788','3MP00865', +'3MH00866','3MH00867','3MH00868','3MH00869','3MH00870','3MH00871','3MH00872','3MH00873','3MX00874','3MX00875','3MX00876','3MX00877','3MX00762','3MX00765','3MX00763','3MX00764', +'3MX00861','3MX00862','3MX00878','3MH00879','3MH00880','3MH00881','3MH00882','3MH00926','3MH00874','3MH00875','3MH00876','3MH00877','3MH00878','3MH00883','3MH00884','3MW00886', +'3MX00919','3MX00920','3MX00921','3MX00922','3MX00915','3MX00916','3MX00917','3MX00918','3MX00911','3MX00912','3MX00913','3MX00914','3MX00905','3MX00906','3MX00907','3MX00908', +'3MX00909','3MX00910','3MX00903','3MX00904','3MX00897','3MX00900','3MX00901','3MX00898','3MX00899','3MX00902','3MX00893','3MX00894','3MX00895','3MX00896','3MX00887','3MX00888', +'3MX00889','3MX00890','3MX00891','3MX00892','3MH00885','3MH00923','3MW00925','3MW00927','3MH00928','3MH00929','3MH00930','3MH00931','3MH00932','3MH00933','3MX00934','3MX00935', +'3MP00936','3MP00937','3MH00938','3MW00939','3MW00940','3MH00941','3MH00942','3MH00943','3MH00944','3MH00945','3MH00946','3MH00947','3MH00948','3MH00949','3MH00950','3MH00951', +'3MH00952','3MH00953','3MH00954','3MH00955','3MH00956','3MH00957','3MW00958','3MW00959','3MW00960','3MQ00961','3MH00962','3MW00963','3MH00964','3MW00965','3MP00966','3MH00967', +'3MX00968','3MX00969','3MH00970','3MH00970','3MH00971','3MH00972','3MH00973','3MH00974','3MH00975','3MH00976','3MH00977','3MH00978','3MX00979','3MX00980','3MX00983','3MX00984', +'3MX00981','3MX00982','3MX00985','3MX00986','3MX00987','3MX00988','3MX00989','3MX00990','3MX00991','3MX00992','3MX00993','3MX00994','3MX00995','3MX00996','3MX00999','3MX01000', +'3MX01003','3MX01005','3MX01006','3MX00997','3MX00998','3MX01001','3MX01002','3MX01004','3MX01007','3MX01008','3MX01011','3MX01012','3MX01015','3MX01016','3MX01009','3MX01010', +'3MX01013','3MX01014','3MX01017','3MH01018','3MH01019','3MH01020','3MQ01021','3MP01022','3MH01023','3MX01024','3MX01025','3MX01026','3MX01027','3MW01028','3MH01029','3MH01030', +'3MH01031','3MP01032','3MH01033','3MH01034','3MW01035','3MP01036','3MX01037','3MX01038','3MX01039','3MX01040','3MX01041','3MX01042','3MH01043','3MH01044','3MH01045','3MH01046', +'3MH01047','3MH01048','3MX00775','3MX00776')"; +$P_all = " +('2MW00001P','2MW00002P','2MW00003P','2MW00004P','2MW00005P','2MX00006P','2MX00007P','2MX00008P','2MX00009P','2MX00010P','2MX00011P','2MX00012P','2MX00013P','2MX00014P','2MX00015P', +'2MX00016P','2MX00017P','2MX00018P','2MX00019P','2MX00020P','2MX00021P','2MX00022P','2MX00023P','2MX00024P','2MX00025P','2MW00038P','2MX00044P','2MH00046P','2MH00047P','2MH00048P', +'3MH00002P','3MX00003P','3MX00004P','3MX00005P','3MX00006P','3MX00007P','3MX00008P','3MX00009P','3MX00010P','3MX00011P','3MX00012P','3MX00013P','3MX00014P','3MX00015P','3MX00016P', +'3MX00017P','3MX00018P','3MX00019P','3MX00020P','3MX00021P','3MX00022P','3MH00023P','3MW00024P','3MH00025P','3MX00026P','3MH00027P','3MH00028P','3MH00029P','3MH00030P','3MH00031P', +'3MH00032P','3MH00033P','3MH00034P','3MH00035P','3MH00036P','3MX00037P','3MF00038P','3MH00039P','3MH00040P','3MH00041P','3MH00042P','3MH00043P','3MH00044P','3MH00045P','3MH00046P', +'3MH00047P','3MX00048P','3MH00049P','3MW00050P','3MW00051P','3MW00052P','3MH00053P','3MX00924P','3MH00054P','3MH00055P','3MH00056P','3MH00057P','3MH00058P','3MH00059P','3MH00060P', +'3MH00061P','3MH00062P','3MH00063P','3MH00064P','3MX00065P','3MH00066P','3MX00068P','3MX00069P','3MX00070P','3MX00071P','3MX00072P','3MX00073P','3MX00074P','3MX00075P','3MH00076P', +'3MH00077P','3MX00078P','3MX00079P','3MX00080P','3MX00081P','3MX00082P','3MX00083P','3MX00084P','3MX00085P','3MX00086P','3MX00087P','3MX00088P','3MX00089P','3MX00090P','3MX00091P', +'3MX00092P','3MH00093P','3MH00094P','3MH00095P','3MH00096P','3MH00097P','3MH00098P','3MH00099P','3MH00100P','3MH00101P','3MH00102P','3MH00103P','3MH00104P','3MH00105P','3MH00106P', +'3MH00107P','3MW00108P','3MX00109P','3MW00110P','3MH00111P','3MH00112P','3MH00113P','3MW00114P','3MH00115P','3MH00116P','3MW00117P','3MW00118P','3MW00119P','3MH00120P','3MH00125P', +'3MH00126P','3MH00127P','3MW00128P','3MW00129P','3MH00130P','3MH00131P','3MX00132P','3MX00133P','3MX00134P','3MX00135P','3MX00136P','3MX00137P','3MX00138P','3MW00139P','3MX00141P', +'3MX00142P','3MX00144P','3MX00147P','3MX00140P','3MX00143P','3MX00145P','3MX00146P','3MH00148P','3MH00149P','3MH00150P','3MH00151P','3MH00152P','3MH00153P','3MW00154P','3MW00155P', +'3MH00156P','3MH00157P','3MH00158P','3MW00159P','3MW00160P','3MW00161P','3MW00162P','3MW00163P','3MW00164P','3MW00165P','3MW00166P','3MW00167P','3MW00168P','3MW00169P','3MW00170P', +'3MW00171P','3MH00172P','3MH00173P','3MH00174P','3MH00175P','3MX00176P','3MH00177P','3MH00178P','3MH00179P','3MH00180P','3MH00181P','3MH00182P','3MH00183P','3MH00184P','3MH00185P', +'3MH00186P','3MH00187P','3MH00188P','3MH00189P','3MW00190P','3MX00191P','3MX00192P','3MX00193P','3MH00194P','3MH00195P','3MH00196P','3MH00197P','3MW00198P','3MW00199P','3MW00200P', +'3MX00201P','3MH00202P','3MX00203P','3MX00204P','3MH00205P','3MH00206P','3MH00207P','3MH00208P','3MW00209P','3MW00210P','3MW00211P','3MW00212P','3MW00213P','3MW00214P','3MW00215P', +'3MH00216P','3MW00217P','3MX00218P','3MX00219P','3MX00220P','3MX00221P','3MX00222P','3MX00223P','3MX00224P','3MX00225P','3MX00226P','3MX00227P','3MX00228P','3MX00229P','3MX00230P', +'3MX00231P','3MX00232P','3MX00233P','3MX00234P','3MX00235P','3MX00236P','3MX00237P','3MX00238P','3MX00239P','3MX00240P','3MX00241P','3MH00242P','3MW00243P','3MH00244P','3MH00245P', +'3MH00246P','3MH00247P','3MW00248P','3MW00249P','3MH00250P','3MH00251P','3MH00252P','3MW00253P','3MP00254P','3MH00255P','3MW00256P','3MX00257P','3MW00258P','3MH00259P','3MW00260P', +'3MW00261P','3MH00262P','3MH00263P','3MH00264P','3MH00265P','3MH00281P','3MH00280P','3MW00279P','3MW00278P','3MW00277P','3MW00276P','3MW00275P','3MW00274P','3MH00273P','3MH00272P', +'3MH00271P','3MH00270P','3MH00268P','3MH00269P','3MH00266P','3MW00267P','3MH00282P','3MH00283P','3MH00284P','3MH00285P','3MH00286P','3MX00287P','3MX00288P','3MX00289P','3MX00290P', +'3MX00291P','3MW00292P','3MH00293P','3MH00294P','3MX00295P','3MH00296P','3MH00298P','3MH00299P','3MW00300P','3MH00301P','3MH00302P','3MH00303P','3MH00304P','3MH00305P','3MH00306P', +'3MH00307P','3MH00308P','3MH00309P','3MX00310P','3MW00311P','3MH00312P','3MH00313P','3MX00314P','3MX00324P','3MX00325P','3MX00334P','3MX00335P','3MX00315P','3MX00318P','3MX00319P', +'3MX00322P','3MX00326P','3MX00329P','3MX00331P','3MX00332P','3MX00316P','3MX00317P','3MX00320P','3MX00321P','3MX00327P','3MX00328P','3MX00330P','3MX00333P','3MW00323P','3MW00336P', +'3MH00337P','3MH00338P','3MH00339P','3MH00340P','3MH00341P','3MH00342P','3MH00343P','3MH00344P','3MH00345P','3MH00346P','3MH00347P','3MH00348P','3MH00349P','3MW00350P','3MH00351P', +'3MH00352P','3MH00353P','3MH00354P','3MH00355P','3MH00356P','3MH00357P','3MH00358P','3MH00359P','3MH00360P','3MH00361P','3MH00362P','3MH00363P','3MH00364P','3MH00365P','3MH00366P', +'3MH00367P','3MH00368P','3MW00369P','3MP00370P','3MH00371P','3MX00372P','3MX00373P','3MX00374P','3MX00375P','3MW00376P','3MH00377P','3MH00378P','3MH00379P','3MH00380P','3MH00381P', +'3MH00382P','3MH00383P','3MH00384P','3MH00385P','3MH00386P','3MH00387P','3MH00388P','3MH00389P','3MH00393P','3MH00394P','3MH00395P','3MH00396P','3MH00397P','3MH00398P','3MH00399P', +'3MH00400P','3MH00401P','3MH00402P','3MH00403P','3MX00404P','3MX00405P','3MX00406P','3MH00407P','3MH00408P','3MH00409P','3MH00410P','3MH00411P','3MH00412P','3MW00413P','3MW00414P', +'3MW00415P','3MH00416P','3MH00417P','3MH00418P','3MW00419P','3MH00420P','3MH00421P','3MH00422P','3MH00423P','3MH00424P','3MH00425P','3MH00426P','3MH00427P','3MH00428P','3MH00429P', +'3MX00430P','3MX00431P','3MX00432P','3MX00433P','3MX00434P','3MX00435P','3MX00436P','3MX00437P','3MX00438P','3MX00439P','3MX00440P','3MX00441P','3MX00442P','3MX00443P','3MX00444P', +'3MH00445P','3MX00448P','3MH00449P','3MH00450P','3MW00451P','3MX00452P','3MW00453P','3MH00454P','3MH00455P','3MH00456P','3MH00457P','3MH00458P','3MH00459P','3MH00460P','3MH00461P', +'3MH00462P','3MH00463P','3MH00464P','3MH00465P','3MH00466P','3MH00467P','3MH00468P','3MH00469P','3MH00470P','3MH00471P','3MH00472P','3MH00473P','3MH00474P','3MH00475P','3MH00476P', +'3MH00477P','3MH00478P','3MH00479P','3MH00480P','3MH00481P','3MH00482P','3MX00483P','3MH00484P','3MH00485P','3MH00486P','3MX00487P','3MX00488P','3MW00489P','3MW00490P','3MH00491P', +'3MH00492P','3MH00493P','3MH00494P','3MH00495P','3MH00496P','3MH00497P','3MH00498P','3MH00499P','3MW00500P','3MX00501P','3MX00502P','3MH00503P','3MH00554P','3MH00540P','3MX00551P', +'3MX00552P','3MH00504P','3MW00505P','3MW00506P','3MH00507P','3MH00508P','3MW00509P','3MX00510P','3MH00511P','3MH00512P','3MH00513P','3MW00514P','3MW00515P','3MH00516P','3MH00517P', +'3MH00518P','3MH00519P','3MH00520P','3MH00521P','3MH00522P','3MH00523P','3MH00524P','3MH00525P','3MH00526P','3MH00527P','3MH00528P','3MH00529P','3MH00530P','3MH00531P','3MH00532P', +'3MX00533P','3MH00534P','3MH00535P','3MX00536P','3MX00537P','3MH00538P','3MH00539P','3MW00824P','3MH00541P','3MW00542P','3MX00543P','3MH00544P','3MH00545P','3MH00546P','3MH00547P', +'3MX00548P','3MX00559P','3MH00550P','3MH00555P','3MH00557P','3MH00556P','3MX00549P','3MW00558P','3MH00560P','3MH00561P','3MH00562P','3MH00563P','3MH00564P','3MH00565P','3MH00566P', +'3MH00567P','3MH00568P','3MH00569P','3MH00570P','3MH00571P','3MH00572P','3MH00573P','3MH00574P','3MH00575P','3MH00576P','3MH00577P','3MH00578P','3MW00579P','3MW00580P','3MH00581P', +'3MH00582P','3MH00583P','3MH00584P','3MH00585P','3MH00586P','3MH00587P','3MH00588P','3MH00589P','3MH00590P','3MH00591P','3MH00592P','3MH00593P','3MH00594P','3MX00595P','3MH00596P', +'3MX00597P','3MX00598P','3MX00599P','3MX00600P','3MX00601P','3MX00602P','3MX00604P','3MX00603P','3MX00605P','3MX00606P','3MX00607P','3MX00608P','3MH00609P','3MH00610P','3MH00611P', +'3MW00613P','3MW00612P','3MX00614P','3MX00615P','3MW00616P','3MH00617P','3MH00618P','3MX00619P','3MH00620P','3MH00621P','3MH00622P','3MH00623P','3MH00624P','3MH00625P','3MH00626P', +'3MH00627P','3MX00628P','3MX00629P','3MX00630P','3MX00631P','3MX00632P','3MX00633P','3MX00634P','3MX00635P','3MX00636P','3MX00637P','3MX00638P','3MH00639P','3MH00640P','3MH00641P', +'3MH00642P','3MH00643P','3MH00644P','3MH00645P','3MH00646P','3MH00647P','3MH00648P','3MH00649P','3MH00650P','3MH00651P','3MH00652P','3MH00653P','3MH00654P','3MH00655P','3MH00656P', +'3MH00657P','3MH00658P','3MH00659P','3MH00660P','3MW00695P','3MH00661P','3MW00662P','3MX00663P','3MX00664P','3MX00665P','3MX00666P','3MX00667P','3MX00668P','3MX00669P','3MX00670P', +'3MX00671P','3MX00672P','3MX00673P','3MX00674P','3MX00675P','3MX00676P','3MX00677P','3MX00678P','3MX00679P','3MX00680P','3MH00681P','3MH00682P','3MH00683P','3MH00684P','3MH00685P', +'3MH00686P','3MH00687P','3MH00688P','3MH00689P','3MH00690P','3MW00691P','3MW00692P','3MH00693P','3MW00694P','3MW00697P','3MW00698P','3MW00699P','3MW00696P','3MW00702P','3MW00703P', +'3MH00704P','3MH00705P','3MH00706P','3MH00707P','3MH00708P','3MH00709P','3MH00710P','3MH00711P','3MH00712P','3MH00713P','3MH00714P','3MH00715P','3MH00716P','3MH00717P','3MH00718P', +'3MH00719P','3MH00720P','3MH00721P','3MH00722P','3MH00723P','3MH00724P','3MH00725P','3MH00726P','3MH00727P','3MH00728P','3MX00729P','3MX00730P','3MX00731P','3MX00732P','3MH00733P', +'3MH00734P','3MH00735P','3MH00736P','3MH00737P','3MW00739P','3MX00770P','3MX00771P','3MX00446P','3MX00447P','3MH00772P','3MX00740P','3MX00741P','3MX00742P','3MX00743P','3MX00744P', +'3MX00745P','3MX00746P','3MX00747P','3MX00748P','3MX00749P','3MH00738P','3MH00768P','3MX00775P','3MH00774P','3MP00773P','3MH00779P','3MH00777P','3MH00778P','3MH00793P','3MH00794P', +'3MH00795P','3MH00796P','3MH00790P','3MH00791P','3MH00789P','3MX00776P','3MH00797P','3MH00787P','3MH00792P','3MW00805P','3MW00806P','3MH00807P','3MH00808P','3MX00809P','3MX00810P', +'3MX00811P','3MX00812P','3MH00813P','3MH00864P','3MW00863P','3MH00813P','3MH00814P','3MX00815P','3MW00818P','3MW00819P','3MW00821P','3MW00822P','3MW00823P','3MW00825P','3MW00826P', +'3MW00827P','3MW00828P','3MW00829P','3MW00830P','3MW00820P','3MW00831P','3MH00817P','3MH00816P','3MX00758P','3MX00760P','3MX00759P','3MX00761P','3MH00832P','3MW00841P','3MW00842P', +'3MW00843P','3MW00844P','3MH00833P','3MH00834P','3MH00835P','3MH00836P','3MH00837P','3MH00838P','3MH00839P','3MH00840P','3MW00845P','3MW00846P','3MW00847P','3MH00848P','3MH00849P', +'3MH00850P','3MH00851P','3MH00852P','3MH00853P','3MH00854P','3MW00855P','3MW00856P','3MW00857P','3MW00858P','3MX00859P','3MX00860P','3MX00750P','3MX00752P','3MX00754P','3MX00757P', +'3MX00751P','3MX00753P','3MX00755P','3MX00756P','3MX00766P','3MX00767P','3MW00788P','3MP00865P','3MH00866P','3MH00867P','3MH00868P','3MH00869P','3MH00870P','3MH00871P','3MH00872P', +'3MH00873P','3MX00874P','3MX00875P','3MX00876P','3MX00877P','3MX00762P','3MX00765P','3MX00763P','3MX00764P','3MX00861P','3MX00862P','3MX00878P','3MH00879P','3MH00880P','3MH00881P', +'3MH00882P','3MH00926P','3MH00874P','3MH00875P','3MH00876P','3MH00877P','3MH00878P','3MH00883P','3MH00884P','3MW00886P','3MX00919P','3MX00920P','3MX00921P','3MX00922P','3MX00915P', +'3MX00916P','3MX00917P','3MX00918P','3MX00911P','3MX00912P','3MX00913P','3MX00914P','3MX00905P','3MX00906P','3MX00907P','3MX00908P','3MX00909P','3MX00910P','3MX00903P','3MX00904P', +'3MX00897P','3MX00900P','3MX00901P','3MX00898P','3MX00899P','3MX00902P','3MX00893P','3MX00894P','3MX00895P','3MX00896P','3MX00887P','3MX00888P','3MX00889P','3MX00890P','3MX00891P', +'3MX00892P','3MH00885P','3MH00923P','3MW00925P','3MW00927P','3MH00928P','3MH00929P','3MH00930P','3MH00931P','3MH00932P','3MH00933P','3MX00934P','3MX00935P','3MP00936P','3MP00937P', +'3MH00938P','3MW00939P','3MW00940P','3MH00941P','3MH00942P','3MH00943P','3MH00944P','3MH00945P','3MH00946P','3MH00947P','3MH00948P','3MH00949P','3MH00950P','3MH00951P','3MH00952P', +'3MH00953P','3MH00954P','3MH00955P','3MH00956P','3MH00957P','3MW00958P','3MW00959P','3MW00960P','3MQ00961P','3MH00962P','3MW00963P','3MH00964P','3MW00965P','3MP00966P','3MH00967P', +'3MX00968P','3MX00969P','3MH00970P','3MH00970P','3MH00971P','3MH00972P','3MH00973P','3MH00974P','3MH00975P','3MH00976P','3MH00977P','3MH00978P','3MX00979P','3MX00980P','3MX00983P', +'3MX00984P','3MX00981P','3MX00982P','3MX00985P','3MX00986P','3MX00987P','3MX00988P','3MX00989P','3MX00990P','3MX00991P','3MX00992P','3MX00993P','3MX00994P','3MX00995P','3MX00996P', +'3MX00999P','3MX01000P','3MX01003P','3MX01005P','3MX01006P','3MX00997P','3MX00998P','3MX01001P','3MX01002P','3MX01004P','3MX01007P','3MX01008P','3MX01011P','3MX01012P','3MX01015P', +'3MX01016P','3MX01009P','3MX01010P','3MX01013P','3MX01014P','3MX01017P','3MH01018P','3MH01019P','3MH01020P','3MQ01021P','3MP01022P','3MH01023P','3MX01024P','3MX01025P','3MX01026P', +'3MX01027P','3MW01028P','3MH01029P','3MH01030P','3MH01031P','3MP01032P','3MH01033P','3MH01034P','3MW01035P','3MP01036P','3MX01037P','3MX01038P','3MX01039P','3MX01040P','3MX01041P', +'3MX01042P','3MH01043P','3MH01044P','3MH01045P','3MH01046P','3MH01047P','3MH01048P','3MX00775P','3MX00776P') +"; +//已發貨 +// $sql_out_warehouse = "SELECT B.MaterialId FROM stkWareHouseIn AS A +// LEFT JOIN stkWareHouseInDetail AS B ON A.BillNo=B.BillNo +// WHERE A.IOProperty = 0 +// AND B.MaterialId IN $all +// AND B.ItemType =0"; +// $query_out_warehouse = $conn->query($sql_out_warehouse); +// foreach ($query_out_warehouse as $row) { +// echo $row['MaterialId'] . "
"; +// } +//有庫存與多少 +// $sql_in_warehouse = "SELECT MaterialId, Quantity FROM stkWareHouseAccountDetail WHERE MaterialId IN $all AND Quantity >0"; +// $query_in_warehouse = $conn->query($sql_in_warehouse); +// foreach ($query_in_warehouse as $row) { +// echo $row['MaterialId'] . ", " . $row['Quantity'] . "
"; +// } + +//有無組裝申請單 +// $sql_assemble = "SELECT * FROM stkAssyMast WHERE MaterialId IN $all"; +// $query_assemble = $conn->query($sql_assemble); +// foreach ($query_assemble as $row) { +// echo $row['MaterialId'].";" .$row['BillNo']. "
"; +// } + +//p 有庫存 +// $sql_p_in_warehouse = "SELECT MaterialId, Quantity FROM stkWareHouseAccountDetail WHERE MaterialId IN $P_all AND Quantity >0"; +// $query_p_in_warehouse = $conn->query($sql_p_in_warehouse); +// foreach ($query_p_in_warehouse as $row) { +// echo substr($row['MaterialId'],0,-1).";".$row['Quantity']."
"; +// } + +//P 收貨單號 +// $sql_reveive = "SELECT BillNo, MaterialId, ReceivingSQty FROM purReceivingOrderDetail WHERE MaterialId IN $P_all"; +// $query_reveive = $conn->query($sql_reveive); +// foreach ($query_reveive as $row) { +// echo substr($row['MaterialId'],0,-1) . ";".$row['BillNo'] .";". $row['ReceivingSQty'] . "
"; +// } + + +// P 採購單號 +// $sql_purBill = "SELECT * FROM purBillOrderDetail WHERE MaterialId IN $P_all"; +// $query_purBill = $conn->query($sql_purBill); +// foreach ($query_purBill as $row) { +// echo substr($row['MaterialId'],0,-1) . ";" . $row['BillNo'] . "
"; +// } + +//貨抵工地的作番 + +// $sql_arrive = "SELECT `contractno`,`facilityno`,`real_arrival_date` FROM `wipwholestatus` +// WHERE (real_arrival_date IS NOT NULL) AND (real_arrival_date !='') +// AND facilityno IN $all +// AND contract_type='A'"; +// $query_arrive = mysqli_query($link, $sql_arrive); +// foreach ($query_arrive as $key => $value) { +// echo $value['facilityno']. ";" . $value['real_arrival_date'] . "
"; +// } + +//實際到貨日期 +// $sql_arrive = "SELECT `contractno`,`facilityno`,`actual_tofactory_date` FROM `wipwholestatus` +// WHERE (actual_tofactory_date IS NOT NULL) AND (actual_tofactory_date !='') +// AND facilityno IN $all +// AND contract_type='A'"; +// $query_arrive = mysqli_query($link, $sql_arrive); +// foreach ($query_arrive as $key => $value) { +// echo $value['facilityno']. ";" . $value['actual_tofactory_date'] . "
"; +// } -//找T8銷售訂單 所有設備跟安裝款的平均價格 +$sql_paystage = "SELECT A.PayStage, A.BillNo FROM salOrderStagePay AS A +LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo WHERE s.ModeId = 'T' AND (s.CurrentState=2 OR s.CurrentState=4)"; +$query_paystage = $conn->query($sql_paystage); +foreach($query_paystage as $key => $value) { + echo $value['PayStage'] .";".$value['BillNo']. "
"; +} \ No newline at end of file diff --git a/wms/account-receivable-test.xlsx b/wms/account-receivable-test.xlsx index 7522e49c..dc64489a 100644 Binary files a/wms/account-receivable-test.xlsx and b/wms/account-receivable-test.xlsx differ diff --git a/wms/account_receivable_sql_file.sql b/wms/account_receivable_sql_file.sql index 2b1b7699..eb89e915 100644 --- a/wms/account_receivable_sql_file.sql +++ b/wms/account_receivable_sql_file.sql @@ -4,31812 +4,50317 @@ INSERT INTO account_receivable ( `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070082','3MW00692',0,420000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23070082','3MW00692',0,420000.000000,20230901,1,1,420000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070082','3MW00692',2,1050000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070082','3MW00692',2,1050000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070082','3MW00692',4,560000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070082','3MW00692',4,560000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070082','3MW00692',6,210000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070082','3MW00692',6,210000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070082','3MW00691',0,420000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23070082','3MW00691',0,420000.000000,20230901,1,1,420000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070082','3MW00691',2,1050000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070082','3MW00691',2,1050000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070082','3MW00691',4,560000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070082','3MW00691',4,560000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070082','3MW00691',6,210000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070082','3MW00691',6,210000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070085','3MH00658',0,204000.000000,20230825,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23070085','3MH00659',0,204000.000000,20230825,1,1,204000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070085','3MH00658',2,510002.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070085','3MH00659',2,510001.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070085','3MH00658',4,204000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070085','3MH00659',4,204001.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070085','3MH00658',6,102000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070085','3MH00659',6,102000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070085','3MH00659',0,204000.000000,20230825,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23070085','3MH00658',0,204000.000000,20230825,1,1,204000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070085','3MH00659',2,510002.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070085','3MH00658',2,510001.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070085','3MH00659',4,204000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070085','3MH00658',4,204001.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070085','3MH00659',6,102000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070085','3MH00658',6,102000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070086','3MH00661',0,210000.000000,20230825,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23070086','3MH00661',0,210000.000000,20230825,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070086','3MH00661',2,525000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070086','3MH00661',2,525000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070086','3MH00661',4,210000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070086','3MH00661',4,210000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070086','3MH00661',6,105000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070086','3MH00661',6,105000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070086','3MH00660',0,210000.000000,20230825,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23070086','3MH00660',0,210000.000000,20230825,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070086','3MH00660',2,525000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070086','3MH00660',2,525000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070086','3MH00660',4,210000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070086','3MH00660',4,210000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070086','3MH00660',6,105000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070086','3MH00660',6,105000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070118','3MH00554',0,126000.000000,20230804,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070118','3MH00554',0,126000.000000,20230804,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070118','3MH00554',2,315000.000000,2023-11-03,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23070118','3MH00554',2,315000.000000,2023-11-03,1,1,189000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070118','3MH00554',4,126000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070118','3MH00554',4,126000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070118','3MH00554',6,63000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070118','3MH00554',6,63000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070154','3MH00647',0,156000.000000,20230818,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070154','3MH00647',0,156000.000000,20230818,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070154','3MH00647',2,390000.000000,20240109,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070154','3MH00647',2,390000.000000,20240109,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070154','3MH00647',4,156000.000000,20240208,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070154','3MH00647',4,156000.000000,20240208,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070154','3MH00647',6,78000.000000,20240228,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070154','3MH00647',6,78000.000000,20240228,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070156','3MX00680',0,651600.000000,20230831,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070156','3MX00680',0,651600.000000,20230831,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070156','3MX00680',2,868800.000000,20231225,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070156','3MX00680',2,868800.000000,20231225,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070156','3MX00680',4,434400.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070156','3MX00680',4,434400.000000,20240125,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23070156','3MX00680',6,217200.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23070156','3MX00680',6,217200.000000,20240223,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080053','3MP00773',0,136500.000000,20230918,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080053','3MP00773',0,136500.000000,20230918,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080053','3MP00773',2,341250.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080053','3MP00773',2,341250.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080053','3MP00773',4,136500.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080053','3MP00773',4,136500.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080053','3MP00773',6,68250.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080053','3MP00773',6,68250.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080055','3MH00693',0,114000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080055','3MH00693',0,114000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080055','3MH00693',2,285000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080055','3MH00693',2,285000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080055','3MH00693',4,114000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080055','3MH00693',4,114000.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080055','3MH00693',6,57000.000000,20240130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080055','3MH00693',6,57000.000000,20240130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080110','3MH00772',0,116000.000000,20230907,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080110','3MH00772',0,116000.000000,20230907,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080110','3MH00772',2,290000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23080110','3MH00772',2,290000.000000,2023-12-28,1,1,290000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080110','3MH00772',4,116000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080110','3MH00772',4,116000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080110','3MH00772',6,58000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080110','3MH00772',6,58000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080121','3MW00694',0,196000.000000,20230907,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23080121','3MW00694',0,196000.000000,20230907,1,1,196000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080121','3MW00694',2,490000.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080121','3MW00694',2,490000.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080121','3MW00694',4,214000.000000,20240527,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080121','3MW00694',4,214000.000000,20240527,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080121','3MW00694',6,98000.000000,20240627,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080121','3MW00694',6,98000.000000,20240627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080132','3MX00776',0,518000.000000,20230926,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080132','3MX00775',0,518000.000000,20230926,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080132','3MX00776',2,1295000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080132','3MX00775',2,1295000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080132','3MX00776',4,518000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080132','3MX00775',4,518000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080132','3MX00776',6,259000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080132','3MX00775',6,259000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080132','3MX00775',0,518000.000000,20230926,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080132','3MX00776',0,518000.000000,20230926,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080132','3MX00775',2,1295000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080132','3MX00776',2,1295000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080132','3MX00775',4,518000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080132','3MX00776',4,518000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080132','3MX00775',6,259000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080132','3MX00776',6,259000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080167','3MH00816',0,104000.000000,20231011,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23080167','3MH00816',0,104000.000000,20231011,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080167','3MH00816',2,286000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080167','3MH00816',2,286000.000000,20240110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080167','3MH00816',4,104000.000000,20240212,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080167','3MH00816',4,104000.000000,20240212,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080167','3MH00816',6,52000.000000,20240312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080167','3MH00816',6,52000.000000,20240312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080168','3MH00817',0,104000.000000,20231011,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23080168','3MH00817',0,104000.000000,20231011,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080168','3MH00817',2,286000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080168','3MH00817',2,286000.000000,20240110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080168','3MH00817',4,104000.000000,20240212,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080168','3MH00817',4,104000.000000,20240212,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080168','3MH00817',6,52000.000000,20240312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080168','3MH00817',6,52000.000000,20240312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080170','3MH00733',0,177000.000000,20230913,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080170','3MH00733',0,177000.000000,20230913,1,0,0,177000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080170','3MH00733',2,177000.000000,2023-12-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080170','3MH00733',2,177000.000000,2023-12-07,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080170','3MH00733',4,177000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080170','3MH00733',4,177000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23080170','3MH00733',6,59000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23080170','3MH00733',6,59000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00743',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00749',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00743',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00749',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00743',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00749',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00743',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00749',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00743',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00749',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00742',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00748',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00742',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00748',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00742',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00748',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00742',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00748',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00742',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00748',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00741',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00747',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00741',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00747',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00741',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00747',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00741',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00747',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00741',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00747',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00740',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00746',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00740',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00746',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00740',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00746',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00740',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00746',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00740',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00746',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00749',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00745',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00749',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00745',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00749',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00745',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00749',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00745',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00749',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00745',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00748',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00744',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00748',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00744',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00748',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00744',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00748',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00744',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00748',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00744',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00747',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00743',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00747',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00743',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00747',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00743',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00747',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00743',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00747',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00743',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00746',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00742',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00746',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00742',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00746',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00742',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00746',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00742',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00746',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00742',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00745',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00741',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00745',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00741',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00745',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00741',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00745',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00741',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00745',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00741',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00744',0,1136213.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00740',0,1136213.000000,20231115,1,1,1136213,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00744',1,2272426.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('D23090047','3MX00740',1,2272426.000000,20231225,1,1,1136212.895,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00744',2,4166113.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00740',2,4166113.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00744',4,2272426.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00740',4,2272426.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('D23090047','3MX00744',6,973897.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('D23090047','3MX00740',6,973897.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00193',0,305708.000000,20240121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00193',0,305708.000000,20240121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00193',1,611415.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00193',1,611415.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00193',2,1120927.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00193',2,1120927.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00193',4,611415.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00193',4,611415.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00193',6,262035.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00193',6,262035.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00192',0,305708.000000,20240121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00192',0,305708.000000,20240121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00192',1,611415.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00192',1,611415.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00192',2,1120927.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00192',2,1120927.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00192',4,611415.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00192',4,611415.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00192',6,262035.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00192',6,262035.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00191',0,305708.000000,20240121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00191',0,305708.000000,20240121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00191',1,611415.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00191',1,611415.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00191',2,1120927.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00191',2,1120927.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00191',4,611415.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00191',4,611415.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220001','3MX00191',6,262035.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220001','3MX00191',6,262035.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00075',0,1006571.000000,20240306,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00075',0,1006571.000000,20240306,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00075',1,2013142.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00075',1,2013142.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00075',2,3690759.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00075',2,3690759.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00075',4,2013142.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00075',4,2013142.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00075',6,862775.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00075',6,862775.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00074',0,1006571.000000,20240306,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00074',0,1006571.000000,20240306,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00074',1,2013142.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00074',1,2013142.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00074',2,3690759.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00074',2,3690759.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00074',4,2013142.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00074',4,2013142.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00074',6,862775.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00074',6,862775.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00073',0,1006571.000000,20240306,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00073',0,1006571.000000,20240306,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00073',1,2013142.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00073',1,2013142.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00073',2,3690759.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00073',2,3690759.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00073',4,2013142.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00073',4,2013142.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00073',6,862775.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00073',6,862775.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00072',0,1006571.000000,20240306,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00072',0,1006571.000000,20240306,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00072',1,2013142.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00072',1,2013142.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00072',2,3690759.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00072',2,3690759.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00072',4,2013142.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00072',4,2013142.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00072',6,862775.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00072',6,862775.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00071',0,1006571.000000,20240306,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00071',0,1006571.000000,20240306,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00071',1,2013142.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00071',1,2013142.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00071',2,3690759.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00071',2,3690759.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00071',4,2013142.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00071',4,2013142.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00071',6,862775.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00071',6,862775.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00070',0,1006571.000000,20240306,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00070',0,1006571.000000,20240306,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00070',1,2013142.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00070',1,2013142.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00070',2,3690759.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00070',2,3690759.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00070',4,2013142.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00070',4,2013142.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00070',6,862775.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00070',6,862775.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00069',0,1006571.000000,20240306,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00069',0,1006571.000000,20240306,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00069',1,2013142.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00069',1,2013142.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00069',2,3690759.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00069',2,3690759.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00069',4,2013142.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00069',4,2013142.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00069',6,862775.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00069',6,862775.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00068',0,1006571.000000,20240306,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00068',0,1006571.000000,20240306,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00068',1,2013142.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00068',1,2013142.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00068',2,3690759.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00068',2,3690759.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00068',4,2013142.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00068',4,2013142.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220002','3MX00068',6,862775.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220002','3MX00068',6,862775.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00010',0,963074.000000,20240316,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00010',0,963074.000000,20240316,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00010',1,1926147.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00010',1,1926147.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00010',2,3531270.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00010',2,3531270.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00010',4,1926147.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00010',4,1926147.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00010',6,825492.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00010',6,825492.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00009',0,963074.000000,20240316,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00009',0,963074.000000,20240316,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00009',1,1926147.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00009',1,1926147.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00009',2,3531270.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00009',2,3531270.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00009',4,1926147.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00009',4,1926147.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00009',6,825492.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00009',6,825492.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00008',0,963074.000000,20240316,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00008',0,963074.000000,20240316,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00008',1,1926147.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00008',1,1926147.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00008',2,3531270.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00008',2,3531270.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00008',4,1926147.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00008',4,1926147.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00008',6,825492.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00008',6,825492.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00004',0,963074.000000,20240316,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00007',0,963074.000000,20240316,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00004',1,1926147.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00007',1,1926147.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00004',2,3531270.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00007',2,3531270.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00004',4,1926147.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00007',4,1926147.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00004',6,825492.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00007',6,825492.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00007',0,963074.000000,20240316,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00006',0,963074.000000,20240316,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00007',1,1926147.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00006',1,1926147.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00007',2,3531270.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00006',2,3531270.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00007',4,1926147.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00006',4,1926147.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00007',6,825492.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00006',6,825492.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00003',0,963074.000000,20240316,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00005',0,963074.000000,20240316,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00003',1,1926147.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00005',1,1926147.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00003',2,3531270.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00005',2,3531270.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00003',4,1926147.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00005',4,1926147.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00003',6,825492.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00005',6,825492.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00006',0,963074.000000,20240316,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00004',0,963074.000000,20240316,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00006',1,1926147.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00004',1,1926147.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00006',2,3531270.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00004',2,3531270.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00006',4,1926147.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00004',4,1926147.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00006',6,825492.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00004',6,825492.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00005',0,963074.000000,20240316,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00003',0,963074.000000,20240316,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00005',1,1926147.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00003',1,1926147.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00005',2,3531270.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00003',2,3531270.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00005',4,1926147.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00003',4,1926147.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220003','3MX00005',6,825492.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220003','3MX00003',6,825492.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00134',0,577517.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00134',0,577517.000000,20240302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00134',1,1155034.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00134',1,1155034.000000,20240411,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00134',2,2117563.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00134',2,2117563.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00134',4,1155034.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00134',4,1155034.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00134',6,495015.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00134',6,495015.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00081',0,577517.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00081',0,577517.000000,20240302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00081',1,1155034.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00081',1,1155034.000000,20240411,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00081',2,2117563.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00081',2,2117563.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00081',4,1155034.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00081',4,1155034.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00081',6,495015.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00081',6,495015.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00080',0,577517.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00080',0,577517.000000,20240302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00080',1,1155034.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00080',1,1155034.000000,20240411,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00080',2,2117563.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00080',2,2117563.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00080',4,1155034.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00080',4,1155034.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00080',6,495015.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00080',6,495015.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00079',0,577517.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00079',0,577517.000000,20240302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00079',1,1155034.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00079',1,1155034.000000,20240411,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00079',2,2117563.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00079',2,2117563.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00079',4,1155034.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00079',4,1155034.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00079',6,495015.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00079',6,495015.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00078',0,577517.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00078',0,577517.000000,20240302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00078',1,1155034.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00078',1,1155034.000000,20240411,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00078',2,2117563.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00078',2,2117563.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00078',4,1155034.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00078',4,1155034.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220004','3MX00078',6,495015.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220004','3MX00078',6,495015.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00014',0,378332.000000,20231030,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220005','3MX00014',0,378332.000000,20231030,1,1,378332,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00014',1,756664.000000,20231209,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220005','3MX00014',1,756664.000000,20231209,1,1,756664,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00014',2,1387217.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00014',2,1387217.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00014',4,756664.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00014',4,756664.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00014',6,324285.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00014',6,324285.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00013',0,378332.000000,20231030,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220005','3MX00013',0,378332.000000,20231030,1,1,378332,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00013',1,756664.000000,20231209,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220005','3MX00013',1,756664.000000,20231209,1,1,756664,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00013',2,1387217.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00013',2,1387217.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00013',4,756664.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00013',4,756664.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00013',6,324285.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00013',6,324285.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00012',0,378332.000000,20231030,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220005','3MX00012',0,378332.000000,20231030,1,1,378332,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00012',1,756664.000000,20231209,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220005','3MX00012',1,756664.000000,20231209,1,1,756664,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00012',2,1387217.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00012',2,1387217.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00012',4,756664.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00012',4,756664.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00012',6,324285.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00012',6,324285.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00011',0,378332.000000,20231030,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220005','3MX00011',0,378332.000000,20231030,1,1,378332,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00011',1,756664.000000,20231209,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220005','3MX00011',1,756664.000000,20231209,1,1,756664,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00011',2,1387217.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00011',2,1387217.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00011',4,756664.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00011',4,756664.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220005','3MX00011',6,324285.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220005','3MX00011',6,324285.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00021',0,626309.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00021',0,626309.000000,20231107,1,1,626309,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00021',1,1252618.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00021',1,1252618.000000,20231217,1,1,615926.28740375,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00021',2,2296468.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00021',2,2296468.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00021',4,1252618.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00021',4,1252618.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00021',6,536836.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00021',6,536836.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00020',0,626309.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00020',0,626309.000000,20231107,1,1,626309,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00020',1,1252618.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00020',1,1252618.000000,20231217,1,1,615926.28740375,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00020',2,2296468.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00020',2,2296468.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00020',4,1252618.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00020',4,1252618.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00020',6,536836.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00020',6,536836.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00019',0,626309.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00019',0,626309.000000,20231107,1,1,626309,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00019',1,1252618.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00019',1,1252618.000000,20231217,1,1,615926.28740375,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00019',2,2296468.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00019',2,2296468.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00019',4,1252618.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00019',4,1252618.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00019',6,536836.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00019',6,536836.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00018',0,626309.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00018',0,626309.000000,20231107,1,1,626309,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00018',1,1252618.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00018',1,1252618.000000,20231217,1,1,615926.28740375,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00018',2,2296468.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00018',2,2296468.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00018',4,1252618.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00018',4,1252618.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00018',6,536836.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00018',6,536836.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00017',0,626309.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00017',0,626309.000000,20231107,1,1,626309,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00017',1,1252618.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00017',1,1252618.000000,20231217,1,1,615926.28740375,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00017',2,2296468.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00017',2,2296468.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00017',4,1252618.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00017',4,1252618.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00017',6,536836.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00017',6,536836.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00016',0,626309.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00016',0,626309.000000,20231107,1,1,626309,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00016',1,1252618.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220011','2MX00016',1,1252618.000000,20231217,1,1,615926.28740375,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00016',2,2296468.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00016',2,2296468.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00016',4,1252618.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00016',4,1252618.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220011','2MX00016',6,536836.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220011','2MX00016',6,536836.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00012',0,819736.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00006',0,819736.000000,20230927,1,1,819736,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00012',1,1639471.000000,20231106,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00006',1,1639471.000000,20231106,1,1,1639471,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00012',2,3005697.000000,2023-12-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00006',2,3005697.000000,2023-12-07,1,1,1288155.3621428,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00012',4,1639471.000000,20231123,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00006',4,1639471.000000,20231123,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00012',6,702630.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00006',6,702630.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00011',0,819736.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00012',0,819736.000000,20230927,1,1,819736,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00011',1,1639471.000000,20231106,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00012',1,1639471.000000,20231106,1,1,1639471,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00011',2,3005697.000000,2023-12-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00012',2,3005697.000000,2023-12-07,1,1,1288155.3621428,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00011',4,1639471.000000,20231123,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00012',4,1639471.000000,20231123,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00011',6,702630.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00012',6,702630.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00010',0,819736.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00011',0,819736.000000,20230927,1,1,819736,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00010',1,1639471.000000,20231106,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00011',1,1639471.000000,20231106,1,1,1639471,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00010',2,3005697.000000,2023-12-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00011',2,3005697.000000,2023-12-07,1,1,1288155.3621428,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00010',4,1639471.000000,20231123,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00011',4,1639471.000000,20231123,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00010',6,702630.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00011',6,702630.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00009',0,819736.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00010',0,819736.000000,20230927,1,1,819736,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00009',1,1639471.000000,20231106,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00010',1,1639471.000000,20231106,1,1,1639471,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00009',2,3005697.000000,2023-12-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00010',2,3005697.000000,2023-12-07,1,1,1288155.3621428,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00009',4,1639471.000000,20231123,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00010',4,1639471.000000,20231123,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00009',6,702630.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00010',6,702630.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00008',0,819736.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00009',0,819736.000000,20230927,1,1,819736,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00008',1,1639471.000000,20231106,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00009',1,1639471.000000,20231106,1,1,1639471,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00008',2,3005697.000000,2023-12-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00009',2,3005697.000000,2023-12-07,1,1,1288155.3621428,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00008',4,1639471.000000,20231123,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00009',4,1639471.000000,20231123,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00008',6,702630.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00009',6,702630.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00007',0,819736.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00008',0,819736.000000,20230927,1,1,819736,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00007',1,1639471.000000,20231106,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00008',1,1639471.000000,20231106,1,1,1639471,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00007',2,3005697.000000,2023-12-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00008',2,3005697.000000,2023-12-07,1,1,1288155.3621428,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00007',4,1639471.000000,20231123,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00008',4,1639471.000000,20231123,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00007',6,702630.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00008',6,702630.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00006',0,819736.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00007',0,819736.000000,20230927,1,1,819736,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00006',1,1639471.000000,20231106,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00007',1,1639471.000000,20231106,1,1,1639471,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00006',2,3005697.000000,2023-12-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220012','2MX00007',2,3005697.000000,2023-12-07,1,1,1288155.3621428,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00006',4,1639471.000000,20231123,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00007',4,1639471.000000,20231123,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220012','2MX00006',6,702630.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220012','2MX00007',6,702630.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00018',0,712550.000000,20240219,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00015',0,712550.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00018',1,1425099.000000,20240330,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00015',1,1425099.000000,20240225,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00018',2,2612683.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00015',2,2612683.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00018',4,1425099.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00015',4,1425099.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00018',6,610757.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00015',6,610757.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00017',0,712550.000000,20240219,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00018',0,712550.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00017',1,1425099.000000,20240330,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00018',1,1425099.000000,20240225,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00017',2,2612683.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00018',2,2612683.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00017',4,1425099.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00018',4,1425099.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00017',6,610757.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00018',6,610757.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00016',0,712550.000000,20240219,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00017',0,712550.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00016',1,1425099.000000,20240330,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00017',1,1425099.000000,20240225,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00016',2,2612683.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00017',2,2612683.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00016',4,1425099.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00017',4,1425099.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00016',6,610757.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00017',6,610757.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00015',0,712550.000000,20240219,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00016',0,712550.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00015',1,1425099.000000,20240330,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00016',1,1425099.000000,20240225,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00015',2,2612683.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00016',2,2612683.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00015',4,1425099.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00016',4,1425099.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220013','3MX00015',6,610757.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220013','3MX00016',6,610757.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00221',0,521682.000000,20230904,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00221',0,521682.000000,20230904,1,0,0,521682 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00221',1,1043363.000000,20231014,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00221',1,1043363.000000,20231014,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00221',2,2086726.000000,2024-01-02,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00221',2,2086726.000000,2024-01-02,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00221',4,1043363.000000,20231213,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00221',4,1043363.000000,20231213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00221',6,521682.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00221',6,521682.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00220',0,521682.000000,20230904,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00220',0,521682.000000,20230904,1,0,0,521682 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00220',1,1043363.000000,20231014,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00220',1,1043363.000000,20231014,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00220',2,2086726.000000,2024-01-02,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00220',2,2086726.000000,2024-01-02,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00220',4,1043363.000000,20231213,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00220',4,1043363.000000,20231213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00220',6,521682.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00220',6,521682.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00219',0,521682.000000,20230904,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00219',0,521682.000000,20230904,1,0,0,521682 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00219',1,1043363.000000,20231014,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00219',1,1043363.000000,20231014,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00219',2,2086726.000000,2024-01-02,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00219',2,2086726.000000,2024-01-02,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00219',4,1043363.000000,20231213,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00219',4,1043363.000000,20231213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00219',6,521682.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00219',6,521682.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00218',0,521682.000000,20230904,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00218',0,521682.000000,20230904,1,0,0,521682 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00218',1,1043363.000000,20231014,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00218',1,1043363.000000,20231014,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00218',2,2086726.000000,2024-01-02,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00218',2,2086726.000000,2024-01-02,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00218',4,1043363.000000,20231213,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00218',4,1043363.000000,20231213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220014','3MX00218',6,521682.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220014','3MX00218',6,521682.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00320',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00326',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00320',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00326',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00320',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00326',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00320',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00326',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00320',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00326',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00317',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00322',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00317',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00322',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00317',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00322',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00317',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00322',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00317',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00322',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00316',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00319',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00316',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00319',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00316',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00319',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00316',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00319',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00316',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00319',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00332',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00318',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00332',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00318',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00332',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00318',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00332',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00318',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00332',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00318',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00331',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00315',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00331',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00315',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00331',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00315',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00331',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00315',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00331',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00315',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00329',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00335',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00329',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00335',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00329',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00335',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00329',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00335',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00329',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00335',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00326',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00334',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00326',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00334',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00326',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00334',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00326',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00334',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00326',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00334',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00322',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00325',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00322',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00325',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00322',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00325',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00322',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00325',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00322',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00325',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00319',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00324',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00319',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00324',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00319',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00324',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00319',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00324',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00319',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00324',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00318',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MW00323',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00318',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MW00323',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00318',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MW00323',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00318',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MW00323',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00318',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MW00323',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00315',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00333',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00315',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00333',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00315',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00333',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00315',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00333',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00315',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00333',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00335',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00330',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00335',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00330',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00335',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00330',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00335',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00330',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00335',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00330',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00334',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00328',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00334',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00328',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00334',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00328',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00334',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00328',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00334',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00328',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00325',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00327',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00325',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00327',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00325',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00327',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00325',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00327',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00325',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00327',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00324',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00321',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00324',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00321',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00324',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00321',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00324',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00321',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00324',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00321',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MW00323',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00320',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MW00323',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00320',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MW00323',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00320',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MW00323',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00320',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MW00323',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00320',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00333',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00317',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00333',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00317',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00333',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00317',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00333',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00317',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00333',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00317',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00330',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00316',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00330',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00316',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00330',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00316',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00330',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00316',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00330',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00316',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00328',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00332',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00328',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00332',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00328',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00332',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00328',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00332',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00328',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00332',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00327',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00331',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00327',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00331',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00327',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00331',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00327',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00331',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00327',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00331',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00321',0,6019849.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00329',0,6019849.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00321',1,12039698.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00329',1,12039698.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00321',2,24079394.000000,20250401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00329',2,24079394.000000,20250401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00321',4,12039698.000000,20250501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00329',4,12039698.000000,20250501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220015','3MX00321',6,6019849.000000,20251201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220015','3MX00329',6,6019849.000000,20251201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00235',0,675304.000000,20240131,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00235',0,675304.000000,20240131,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00235',1,1350607.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00235',1,1350607.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00235',2,2701215.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00235',2,2701215.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00235',4,1350607.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00235',4,1350607.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00235',6,675304.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00235',6,675304.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00234',0,675304.000000,20240131,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00234',0,675304.000000,20240131,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00234',1,1350607.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00234',1,1350607.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00234',2,2701215.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00234',2,2701215.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00234',4,1350607.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00234',4,1350607.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00234',6,675304.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00234',6,675304.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00233',0,675304.000000,20240131,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00233',0,675304.000000,20240131,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00233',1,1350607.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00233',1,1350607.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00233',2,2701215.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00233',2,2701215.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00233',4,1350607.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00233',4,1350607.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00233',6,675304.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00233',6,675304.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00232',0,675304.000000,20240131,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00232',0,675304.000000,20240131,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00232',1,1350607.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00232',1,1350607.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00232',2,2701215.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00232',2,2701215.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00232',4,1350607.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00232',4,1350607.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00232',6,675304.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00232',6,675304.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00231',0,675304.000000,20240131,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00231',0,675304.000000,20240131,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00231',1,1350607.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00231',1,1350607.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00231',2,2701215.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00231',2,2701215.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00231',4,1350607.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00231',4,1350607.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00231',6,675304.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00231',6,675304.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00230',0,675304.000000,20240131,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00230',0,675304.000000,20240131,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00230',1,1350607.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00230',1,1350607.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00230',2,2701215.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00230',2,2701215.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00230',4,1350607.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00230',4,1350607.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220108','3MX00230',6,675304.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220108','3MX00230',6,675304.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00241',0,693576.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00029',0,919006.000000,20241124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00241',1,1387152.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00029',1,1838012.000000,20250103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00241',2,2774304.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00029',2,3369689.000000,20250324,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00241',4,1387152.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00029',4,1838012.000000,20250424,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00241',6,693576.000000,20241022,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00029',6,787720.000000,20251124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00240',0,693576.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00027',0,919006.000000,20241124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00240',1,1387152.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00027',1,1838012.000000,20250103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00240',2,2774304.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00027',2,3369689.000000,20250324,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00240',4,1387152.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00027',4,1838012.000000,20250424,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00240',6,693576.000000,20241022,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00027',6,787720.000000,20251124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00239',0,693576.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00024',0,919006.000000,20241124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00239',1,1387152.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00024',1,1838012.000000,20250103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00239',2,2774304.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00024',2,3369689.000000,20250324,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00239',4,1387152.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00024',4,1838012.000000,20250424,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00239',6,693576.000000,20241022,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00024',6,787720.000000,20251124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00238',0,693576.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00025',0,919006.000000,20241124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00238',1,1387152.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00025',1,1838012.000000,20250103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00238',2,2774304.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00025',2,3369689.000000,20250324,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00238',4,1387152.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00025',4,1838012.000000,20250424,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00238',6,693576.000000,20241022,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00025',6,787720.000000,20251124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00237',0,693576.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00023',0,919006.000000,20241124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00237',1,1387152.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00023',1,1838012.000000,20250103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00237',2,2774304.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00023',2,3369689.000000,20250324,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00237',4,1387152.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00023',4,1838012.000000,20250424,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00237',6,693576.000000,20241022,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00023',6,787720.000000,20251124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00236',0,693576.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00022',0,919006.000000,20241124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00236',1,1387152.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00022',1,1838012.000000,20250103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00236',2,2774304.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00022',2,3369689.000000,20250324,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00236',4,1387152.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00022',4,1838012.000000,20250424,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220112','3MX00236',6,693576.000000,20241022,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00022',6,787720.000000,20251124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00022',0,434309.000000,20230829,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00028',0,919006.000000,20241124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00022',1,868619.000000,20231008,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00028',1,1838012.000000,20250103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00022',2,1592468.000000,2023-12-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00028',2,3369689.000000,20250324,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00022',4,868619.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00028',4,1838012.000000,20250424,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00022',6,372265.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00028',6,787720.000000,20251124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00021',0,434309.000000,20230829,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00026',0,919006.000000,20241124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00021',1,868619.000000,20231008,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00026',1,1838012.000000,20250103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00021',2,1592468.000000,2023-12-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00026',2,3369689.000000,20250324,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00021',4,868619.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00026',4,1838012.000000,20250424,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00021',6,372265.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220109','4MX00026',6,787720.000000,20251124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00020',0,434309.000000,20230829,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00241',0,693576.000000,20240518,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00020',1,868619.000000,20231008,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00241',1,1387152.000000,20240627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00020',2,1592468.000000,2023-12-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00241',2,2774304.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00020',4,868619.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00241',4,1387152.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00020',6,372265.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00241',6,693576.000000,20241022,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00019',0,434309.000000,20230829,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00240',0,693576.000000,20240518,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00019',1,868619.000000,20231008,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00240',1,1387152.000000,20240627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00019',2,1592468.000000,2023-12-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00240',2,2774304.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00019',4,868619.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00240',4,1387152.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220114','3MX00019',6,372265.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00240',6,693576.000000,20241022,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00025',0,427726.000000,20231129,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00239',0,693576.000000,20240518,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00025',1,855452.000000,20240108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00239',1,1387152.000000,20240627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00025',2,1568328.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00239',2,2774304.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00025',4,855452.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00239',4,1387152.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00025',6,366622.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00239',6,693576.000000,20241022,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00024',0,427726.000000,20231129,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00238',0,693576.000000,20240518,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00024',1,855452.000000,20240108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00238',1,1387152.000000,20240627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00024',2,1568328.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00238',2,2774304.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00024',4,855452.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00238',4,1387152.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00024',6,366622.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00238',6,693576.000000,20241022,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00023',0,427726.000000,20231129,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00237',0,693576.000000,20240518,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00023',1,855452.000000,20240108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00237',1,1387152.000000,20240627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00023',2,1568328.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00237',2,2774304.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00023',4,855452.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00237',4,1387152.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00023',6,366622.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00237',6,693576.000000,20241022,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00022',0,427726.000000,20231129,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00236',0,693576.000000,20240518,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00022',1,855452.000000,20240108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00236',1,1387152.000000,20240627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00022',2,1568328.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00236',2,2774304.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00022',4,855452.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00236',4,1387152.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220115','2MX00022',6,366622.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220112','3MX00236',6,693576.000000,20241022,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00015',0,320918.000000,20230802,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00022',0,434309.000000,20230829,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00015',1,641837.000000,20230911,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00022',1,868619.000000,20231008,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00015',2,1176700.000000,2023-11-30,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220114','3MX00022',2,1592468.000000,2023-12-27,1,1,1302928,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00015',4,641837.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00022',4,868619.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00015',6,275073.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00022',6,372265.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00014',0,320918.000000,20230802,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00021',0,434309.000000,20230829,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00014',1,641837.000000,20230911,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00021',1,868619.000000,20231008,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00014',2,1176700.000000,2023-11-30,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220114','3MX00021',2,1592468.000000,2023-12-27,1,1,1302928,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00014',4,641837.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00021',4,868619.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00014',6,275073.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00021',6,372265.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00013',0,320918.000000,20230802,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00020',0,434309.000000,20230829,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00013',1,641837.000000,20230911,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00020',1,868619.000000,20231008,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00013',2,1176700.000000,2023-11-30,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220114','3MX00020',2,1592468.000000,2023-12-27,1,1,1302928,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00013',4,641837.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00020',4,868619.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220179','2MX00013',6,275073.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00020',6,372265.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00435',0,1107314.000000,20240513,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00019',0,434309.000000,20230829,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00435',1,2214627.000000,20240622,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00019',1,868619.000000,20231008,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00435',2,4060151.000000,20250402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220114','3MX00019',2,1592468.000000,2023-12-27,1,1,1302928,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00435',4,2214627.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00019',4,868619.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00435',6,949126.000000,20251202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220114','3MX00019',6,372265.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00434',0,1107314.000000,20240513,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00025',0,427726.000000,20231129,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00434',1,2214627.000000,20240622,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00025',1,855452.000000,20240108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00434',2,4060151.000000,20250402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00025',2,1568328.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00434',4,2214627.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00025',4,855452.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00434',6,949126.000000,20251202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00025',6,366622.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00433',0,1107314.000000,20240513,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00024',0,427726.000000,20231129,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00433',1,2214627.000000,20240622,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00024',1,855452.000000,20240108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00433',2,4060151.000000,20250402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00024',2,1568328.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00433',4,2214627.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00024',4,855452.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00433',6,949126.000000,20251202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00024',6,366622.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00432',0,1107314.000000,20240513,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00023',0,427726.000000,20231129,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00432',1,2214627.000000,20240622,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00023',1,855452.000000,20240108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00432',2,4060151.000000,20250402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00023',2,1568328.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00432',4,2214627.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00023',4,855452.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00432',6,949126.000000,20251202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00023',6,366622.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00431',0,1107314.000000,20240513,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00022',0,427726.000000,20231129,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00431',1,2214627.000000,20240622,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00022',1,855452.000000,20240108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00431',2,4060151.000000,20250402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00022',2,1568328.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00431',4,2214627.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00022',4,855452.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00431',6,949126.000000,20251202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220115','2MX00022',6,366622.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00430',0,1107314.000000,20240513,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00015',0,320918.000000,20230802,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00430',1,2214627.000000,20240622,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00015',1,641837.000000,20230911,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00430',2,4060151.000000,20250402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220179','2MX00015',2,1176700.000000,2023-11-30,1,1,320918,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00430',4,2214627.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00015',4,641837.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220180','3MX00430',6,949126.000000,20251202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00015',6,275073.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00761',0,693273.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00014',0,320918.000000,20230802,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00761',1,1386547.000000,20240410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00014',1,641837.000000,20230911,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00761',2,2542003.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220179','2MX00014',2,1176700.000000,2023-11-30,1,1,320918,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00761',4,1386547.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00014',4,641837.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00761',6,594234.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00014',6,275073.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00759',0,693273.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00013',0,320918.000000,20230802,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00759',1,1386547.000000,20240410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00013',1,641837.000000,20230911,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00759',2,2542003.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220179','2MX00013',2,1176700.000000,2023-11-30,1,1,320918,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00759',4,1386547.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00013',4,641837.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00759',6,594234.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220179','2MX00013',6,275073.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00760',0,693273.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00435',0,1107314.000000,20240623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00760',1,1386547.000000,20240410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00435',1,2214627.000000,20240802,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00760',2,2542003.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00435',2,4060151.000000,20250402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00760',4,1386547.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00435',4,2214627.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00760',6,594234.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00435',6,949126.000000,20251202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00758',0,693273.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00434',0,1107314.000000,20240623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00758',1,1386547.000000,20240410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00434',1,2214627.000000,20240802,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00758',2,2542003.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00434',2,4060151.000000,20250402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00758',4,1386547.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00434',4,2214627.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220186','3MX00758',6,594234.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00434',6,949126.000000,20251202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220195','3MW00256',0,198000.000000,20230331,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00433',0,1107314.000000,20240623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220195','3MW00256',1,396000.000000,20230629,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00433',1,2214627.000000,20240802,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220195','3MW00256',2,198000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00433',2,4060151.000000,20250402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220195','3MW00256',4,99000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00433',4,2214627.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220195','3MW00256',6,99000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00433',6,949126.000000,20251202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220200','3MX00026',0,170000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00432',0,1107314.000000,20240623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220200','3MX00026',1,255000.000000,20230502,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00432',1,2214627.000000,20240802,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220200','3MX00026',2,170000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00432',2,4060151.000000,20250402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220200','3MX00026',4,170000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00432',4,2214627.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220200','3MX00026',6,85000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00432',6,949126.000000,20251202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220209','2MW00001',0,200000.000000,20221028,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00431',0,1107314.000000,20240623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220209','2MW00001',2,500000.000000,2023-05-25,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00431',1,2214627.000000,20240802,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220209','2MW00001',4,200000.000000,2023-06-30,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00431',2,4060151.000000,20250402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220209','2MW00001',6,100000.000000,20230602,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00431',4,2214627.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00085',0,494991.000000,20240615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00431',6,949126.000000,20251202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00085',1,989982.000000,20240725,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00430',0,1107314.000000,20240623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00085',2,1814967.000000,20241001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00430',1,2214627.000000,20240802,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00085',4,989982.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00430',2,4060151.000000,20250402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00085',6,424278.000000,20250602,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00430',4,2214627.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00084',0,494991.000000,20240615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220180','3MX00430',6,949126.000000,20251202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00084',1,989982.000000,20240725,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00758',0,693273.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00084',2,1814967.000000,20241001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00758',1,1386547.000000,20240410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00084',4,989982.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00758',2,2542003.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00084',6,424278.000000,20250602,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00758',4,1386547.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00083',0,494991.000000,20240615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00758',6,594234.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00083',1,989982.000000,20240725,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00761',0,693273.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00083',2,1814967.000000,20241001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00761',1,1386547.000000,20240410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00083',4,989982.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00761',2,2542003.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00083',6,424278.000000,20250602,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00761',4,1386547.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00082',0,494991.000000,20240615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00761',6,594234.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00082',1,989982.000000,20240725,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00759',0,693273.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00082',2,1814967.000000,20241001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00759',1,1386547.000000,20240410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00082',4,989982.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00759',2,2542003.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220219','3MX00082',6,424278.000000,20250602,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00759',4,1386547.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220224','2MW00003',0,400000.000000,20221028,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00759',6,594234.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220224','2MW00003',2,1000000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00760',0,693273.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220224','2MW00003',4,400000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00760',1,1386547.000000,20240410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220224','2MW00003',6,200000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00760',2,2542003.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220224','2MW00002',0,400000.000000,20221028,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00760',4,1386547.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220224','2MW00002',2,1000000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220186','3MX00760',6,594234.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220224','2MW00002',4,400000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220195','3MW00256',0,198000.000000,20230331,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220224','2MW00002',6,200000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220195','3MW00256',1,396000.000000,20230629,1,1,396000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00055',0,864000.000000,20230102,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220195','3MW00256',2,198000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00055',2,1857600.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220195','3MW00256',4,99000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00055',4,1296000.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220195','3MW00256',6,99000.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00055',6,302400.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220200','3MX00026',0,170000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00054',0,864000.000000,20230102,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220200','3MX00026',1,255000.000000,20230502,1,1,170000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00054',2,1857600.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220200','3MX00026',2,170000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00054',4,1296000.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220200','3MX00026',4,170000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00054',6,302400.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220200','3MX00026',6,85000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00053',0,864000.000000,20230102,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220202','3MW01053',0,190776.000000,20240214,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00053',2,1857600.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220202','3MW01053',1,381553.000000,20240325,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00053',4,1296000.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220202','3MW01053',2,699513.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00053',6,302400.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220202','3MW01053',4,381553.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00052',0,864000.000000,20230102,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220202','3MW01053',6,163523.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00052',2,1857600.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220209','2MW00001',0,200000.000000,20221028,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00052',4,1296000.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220209','2MW00001',2,500000.000000,2023-05-25,1,1,500000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00052',6,302400.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220209','2MW00001',4,200000.000000,2023-06-30,1,1,200000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00051',0,864000.000000,20230102,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220209','2MW00001',6,100000.000000,20230602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00051',2,1857600.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00085',0,494991.000000,20240615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00051',4,1296000.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00085',1,989982.000000,20240725,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00051',6,302400.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00085',2,1814967.000000,20241001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00050',0,864000.000000,20230102,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00085',4,989982.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00050',2,1857600.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00085',6,424278.000000,20250602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00050',4,1296000.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00084',0,494991.000000,20240615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00050',6,302400.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00084',1,989982.000000,20240725,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00049',0,864000.000000,20230102,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00084',2,1814967.000000,20241001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00049',2,1857600.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00084',4,989982.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00049',4,1296000.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00084',6,424278.000000,20250602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220243','2MH00049',6,302400.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00083',0,494991.000000,20240615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220244','2MW00004',0,380000.000000,20221028,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00083',1,989982.000000,20240725,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220244','2MW00004',2,1334000.000000,20230301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00083',2,1814967.000000,20241001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220244','2MW00004',4,380000.000000,20230403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00083',4,989982.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220244','2MW00004',6,190000.000000,20230503,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00083',6,424278.000000,20250602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220244','2MW00005',0,380000.000000,20221028,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00082',0,494991.000000,20240615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220244','2MW00005',2,1334000.000000,20230301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00082',1,989982.000000,20240725,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220244','2MW00005',4,380000.000000,20230403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00082',2,1814967.000000,20241001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220244','2MW00005',6,190000.000000,20230503,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00082',4,989982.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220245','3MH00482',0,48636.000000,20231220,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220219','3MX00082',6,424278.000000,20250602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220245','3MH00482',1,97272.000000,20240129,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220224','2MW00003',0,400000.000000,20221028,1,1,400000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220245','3MH00482',2,178332.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220224','2MW00003',2,1000000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220245','3MH00482',4,97272.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220224','2MW00003',4,400000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220245','3MH00482',6,41688.000000,20241015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220224','2MW00003',6,200000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00146',0,932946.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220224','2MW00002',0,400000.000000,20221028,1,1,400000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00146',1,1865892.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220224','2MW00002',2,1000000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00146',2,3420803.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220224','2MW00002',4,400000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00146',4,1865892.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220224','2MW00002',6,200000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00146',6,799668.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220243','2MH00052',0,864000.000000,20230102,1,1,864000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00145',0,932946.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00052',2,1857600.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00145',1,1865892.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00052',4,1296000.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00145',2,3420803.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00052',6,302400.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00145',4,1865892.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220243','2MH00051',0,864000.000000,20230102,1,1,864000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00145',6,799668.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00051',2,1857600.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00143',0,932946.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00051',4,1296000.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00143',1,1865892.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00051',6,302400.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00143',2,3420803.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220243','2MH00050',0,864000.000000,20230102,1,1,864000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00143',4,1865892.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00050',2,1857600.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00143',6,799668.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00050',4,1296000.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00140',0,932946.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00050',6,302400.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00140',1,1865892.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220243','2MH00049',0,864000.000000,20230102,1,1,864000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00140',2,3420803.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00049',2,1857600.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00140',4,1865892.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00049',4,1296000.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00140',6,799668.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00049',6,302400.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00147',0,932946.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220243','2MH00045',0,864000.000000,20230102,1,1,864000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00147',1,1865892.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00045',2,1857600.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00147',2,3420803.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00045',4,1296000.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00147',4,1865892.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00045',6,302400.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00147',6,799668.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220243','2MH00055',0,864000.000000,20230102,1,1,864000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00144',0,932946.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00055',2,1857600.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00144',1,1865892.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00055',4,1296000.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00144',2,3420803.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00055',6,302400.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00144',4,1865892.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220243','2MH00054',0,864000.000000,20230102,1,1,864000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00144',6,799668.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00054',2,1857600.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00142',0,932946.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00054',4,1296000.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00142',1,1865892.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00054',6,302400.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00142',2,3420803.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220243','2MH00053',0,864000.000000,20230102,1,1,864000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00142',4,1865892.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00053',2,1857600.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00142',6,799668.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00053',4,1296000.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00141',0,932946.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220243','2MH00053',6,302400.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00141',1,1865892.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220244','2MW00005',0,380000.000000,20221028,1,1,380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00141',2,3420803.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220244','2MW00005',2,1334000.000000,20230301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00141',4,1865892.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220244','2MW00005',4,380000.000000,20230403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220255','3MX00141',6,799668.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220244','2MW00005',6,190000.000000,20230503,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00033',0,434000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220244','2MW00004',0,380000.000000,20221028,1,1,380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00033',2,1736000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220244','2MW00004',2,1334000.000000,20230301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00033',3,1302000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220244','2MW00004',4,380000.000000,20230403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00033',4,434000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220244','2MW00004',6,190000.000000,20230503,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00033',6,434000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220245','3MH00482',0,48636.000000,20231231,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00032',0,434000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220245','3MH00482',1,97272.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00032',2,1736000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220245','3MH00482',2,178332.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00032',3,1302000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220245','3MH00482',4,97272.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00032',4,434000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220245','3MH00482',6,41688.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00032',6,434000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00145',0,932946.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00031',0,434000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00145',1,1865892.000000,20241213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00031',2,1736000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00145',2,3420803.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00031',3,1302000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00145',4,1865892.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00031',4,434000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00145',6,799668.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00031',6,434000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00143',0,932946.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00030',0,434000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00143',1,1865892.000000,20241213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00030',2,1736000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00143',2,3420803.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00030',3,1302000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00143',4,1865892.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00030',4,434000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00143',6,799668.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00030',6,434000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00140',0,932946.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00029',0,434000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00140',1,1865892.000000,20241213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00029',2,1736000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00140',2,3420803.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00029',3,1302000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00140',4,1865892.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00029',4,434000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00140',6,799668.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00029',6,434000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00147',0,932946.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00028',0,434000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00147',1,1865892.000000,20241213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00028',2,1736000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00147',2,3420803.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00028',3,1302000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00147',4,1865892.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00028',4,434000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00147',6,799668.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00028',6,434000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00144',0,932946.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00027',0,434000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00144',1,1865892.000000,20241213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00027',2,1736000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00144',2,3420803.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00027',3,1302000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00144',4,1865892.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00027',4,434000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00144',6,799668.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00027',6,434000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00142',0,932946.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00034',0,434000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00142',1,1865892.000000,20241213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00034',2,1736000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00142',2,3420803.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00034',3,1302000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00142',4,1865892.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00034',4,434000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00142',6,799668.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220257','3MH00034',6,434000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00141',0,932946.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00568',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00141',1,1865892.000000,20241213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00568',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00141',2,3420803.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00568',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00141',4,1865892.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00568',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00141',6,799668.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00567',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00146',0,932946.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00567',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00146',1,1865892.000000,20241213,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00567',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00146',2,3420803.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00567',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00146',4,1865892.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00566',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220255','3MX00146',6,799668.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00566',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00028',0,434000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00566',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00028',2,1736000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00566',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00028',3,1302000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00565',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00028',4,434000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00565',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00028',6,434000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00565',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00027',0,434000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00565',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00027',2,1736000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00564',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00027',3,1302000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00564',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00027',4,434000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00564',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00027',6,434000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00564',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00034',0,434000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00563',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00034',2,1736000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00563',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00034',3,1302000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00563',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00034',4,434000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00563',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00034',6,434000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00562',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00033',0,434000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00562',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00033',2,1736000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00562',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00033',3,1302000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00562',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00033',4,434000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00561',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00033',6,434000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00561',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00032',0,434000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00561',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00032',2,1736000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00561',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00032',3,1302000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00560',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00032',4,434000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00560',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00032',6,434000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00560',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00031',0,434000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00560',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00031',2,1736000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00569',0,1800000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00031',3,1302000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00569',2,2400000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00031',4,434000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00569',4,1200000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00031',6,434000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220263','3MH00569',6,600000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00030',0,434000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220267','2MH00028',0,120000.000000,20221209,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00030',2,1736000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220267','2MH00028',2,300000.000000,2023-04-12,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00030',3,1302000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220267','2MH00028',3,60000.000000,20230414,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00030',4,434000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220267','2MH00028',4,60000.000000,20230515,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00030',6,434000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220267','2MH00028',6,60000.000000,20230615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00029',0,434000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220276','3MH00172',0,120000.000000,20230421,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00029',2,1736000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220276','3MH00172',2,300000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00029',3,1302000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220276','3MH00172',4,120000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00029',4,434000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220276','3MH00172',6,60000.000000,20240130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220257','3MH00029',6,434000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220289','3MH00255',0,114000.000000,20230331,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00569',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220289','3MH00255',1,171000.000000,20230629,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00569',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220289','3MH00255',2,171000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00569',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220289','3MH00255',4,57000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00569',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220289','3MH00255',6,57000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00568',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220304','2MW00027',0,558600.000000,20221118,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00568',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220304','2MW00027',2,1396500.000000,2023-04-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00568',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220304','2MW00027',4,558600.000000,2023-06-30,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00568',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220304','2MW00027',5,279300.000000,20230701,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00567',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220305','3MH00112',0,140000.000000,20230313,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00567',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220305','3MH00112',2,350000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00567',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220305','3MH00112',4,140000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00567',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220305','3MH00112',6,70000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00566',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220307','3MH00795',0,140000.000000,20231004,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00566',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220307','3MH00795',2,350000.000000,2023-12-16,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00566',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220307','3MH00795',4,140000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00566',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220307','3MH00795',6,70000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00565',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220311','2MH00026',0,140026.000000,20221114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00565',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220311','2MH00026',1,280050.000000,20230113,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00565',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220311','2MH00026',2,140026.000000,2023-05-15,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00565',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220311','2MH00026',5,73549.000000,20230525,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00564',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220311','2MH00026',6,73549.000000,20230626,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00564',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220312','3MH00035',0,53000.000000,20230201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00564',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220312','3MH00035',2,212000.000000,20230701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00564',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220312','3MH00035',3,159000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00563',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220312','3MH00035',4,53000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00563',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220312','3MH00035',6,53000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00563',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220316','3MH00814',0,140000.000000,20230911,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00563',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220316','3MH00814',1,280000.000000,20240109,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00562',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220316','3MH00814',2,140000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00562',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220316','3MH00814',4,70000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00562',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220332','2MH00046',0,132000.000000,20221208,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00562',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220332','2MH00046',2,330000.000000,2023-10-04,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00561',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220332','2MH00046',3,66000.000000,20230414,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00561',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220332','2MH00046',4,66000.000000,20230515,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00561',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220332','2MH00046',6,66000.000000,20230615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00561',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00437',0,228680.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00560',0,1800000.000000,20230824,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00437',1,457359.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00560',2,2400000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00437',2,838491.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00560',4,1200000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00437',4,457359.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220263','3MH00560',6,600000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00437',6,196011.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220267','2MH00028',0,120000.000000,20221209,1,1,120000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00436',0,228680.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220267','2MH00028',2,300000.000000,2023-04-12,1,1,300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00436',1,457359.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220267','2MH00028',3,60000.000000,20230414,1,1,60000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00436',2,838491.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220267','2MH00028',4,60000.000000,20230515,1,1,60000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00436',4,457359.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220267','2MH00028',6,60000.000000,20230615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220353','3MX00436',6,196011.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220276','3MH00172',0,120000.000000,20230421,1,1,120000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220355','2MX00044',0,220000.000000,20221223,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220276','3MH00172',2,300000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220355','2MX00044',1,440000.000000,20230122,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220276','3MH00172',4,120000.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220355','2MX00044',2,220000.000000,20230320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220276','3MH00172',6,60000.000000,20240130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220355','2MX00044',4,110000.000000,20230420,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220289','3MH00255',0,114000.000000,20230331,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220355','2MX00044',6,110000.000000,20230522,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220289','3MH00255',1,171000.000000,20230629,1,1,171000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220356','3MW00114',0,190000.000000,20230317,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220289','3MH00255',2,171000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220356','3MW00114',2,380000.000000,2023-09-28,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220289','3MH00255',4,57000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220356','3MW00114',4,190000.000000,20230915,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220289','3MH00255',6,57000.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220356','3MW00114',6,190000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220304','2MW00027',0,558600.000000,20221118,1,1,558600,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220366','2MW00038',0,150000.000000,20221221,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220304','2MW00027',2,1396500.000000,2023-04-21,1,1,1396500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220366','2MW00038',1,300000.000000,20230321,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220304','2MW00027',4,558600.000000,2023-06-30,1,1,558600,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220366','2MW00038',2,150000.000000,20230515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220304','2MW00027',5,279300.000000,20230701,1,1,279300,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220366','2MW00038',4,75000.000000,20230615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220305','3MH00112',0,140000.000000,20230313,1,1,140000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220366','2MW00038',6,75000.000000,20230714,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220305','3MH00112',2,350000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00048',0,272000.000000,20230103,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220305','3MH00112',4,140000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00048',2,680000.000000,2023-07-06,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220305','3MH00112',6,70000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00048',3,136000.000000,20230601,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220307','3MH00795',0,140000.000000,20231004,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00048',4,136000.000000,20230630,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220307','3MH00795',2,350000.000000,2023-12-16,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00048',6,136000.000000,20230731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220307','3MH00795',4,140000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00047',0,272000.000000,20230103,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220307','3MH00795',6,70000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00047',2,680000.000000,2023-07-06,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220311','2MH00026',0,140026.000000,20221114,1,0,0,140026 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00047',3,136000.000000,20230601,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220311','2MH00026',1,280050.000000,20230113,1,1,272876,280050 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00047',4,136000.000000,20230630,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220311','2MH00026',2,140026.000000,2023-05-15,1,1,140026,140026 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220369','2MH00047',6,136000.000000,20230731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220311','2MH00026',5,73549.000000,20230525,1,1,73549,28698 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00901',0,701115.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220311','2MH00026',6,73549.000000,20230626,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00901',1,1402230.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220312','3MH00035',0,53000.000000,20230201,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00901',2,2570757.000000,20250430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220312','3MH00035',2,212000.000000,20230701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00901',4,1402230.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220312','3MH00035',3,159000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00901',6,600956.000000,20260130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220312','3MH00035',4,53000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00900',0,701115.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220312','3MH00035',6,53000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00900',1,1402230.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220316','3MH00814',0,140000.000000,20230911,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00900',2,2570757.000000,20250430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220316','3MH00814',1,280000.000000,20240109,1,1,280000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00900',4,1402230.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220316','3MH00814',2,140000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00900',6,600956.000000,20260130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220316','3MH00814',4,70000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00897',0,701115.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220332','2MH00046',0,132000.000000,20221208,1,1,132000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00897',1,1402230.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220332','2MH00046',2,330000.000000,2023-10-04,1,1,330000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00897',2,2570757.000000,20250430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220332','2MH00046',3,66000.000000,20230414,1,1,66000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00897',4,1402230.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220332','2MH00046',4,66000.000000,20230515,1,1,66000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00897',6,600956.000000,20260130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220332','2MH00046',6,66000.000000,20230615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00902',0,701115.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00437',0,228680.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00902',1,1402230.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00437',1,457359.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00902',2,2570757.000000,20250430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00437',2,838491.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00902',4,1402230.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00437',4,457359.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00902',6,600956.000000,20260130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00437',6,196011.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00899',0,701115.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00436',0,228680.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00899',1,1402230.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00436',1,457359.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00899',2,2570757.000000,20250430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00436',2,838491.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00899',4,1402230.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00436',4,457359.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00899',6,600956.000000,20260130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220353','3MX00436',6,196011.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00898',0,701115.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220355','2MX00044',0,220000.000000,20221223,1,1,220000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00898',1,1402230.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220355','2MX00044',1,440000.000000,20230122,1,1,440000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00898',2,2570757.000000,20250430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220355','2MX00044',2,220000.000000,20230320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00898',4,1402230.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220355','2MX00044',4,110000.000000,20230420,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220376','3MX00898',6,600956.000000,20260130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220355','2MX00044',6,110000.000000,20230522,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220377','3MF00038',0,715600.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220356','3MW00114',0,190000.000000,20230317,1,1,190000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220377','3MF00038',2,2146800.000000,2023-12-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220356','3MW00114',2,380000.000000,2023-09-28,1,1,380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220377','3MF00038',4,715600.000000,20230515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220356','3MW00114',4,190000.000000,20230915,1,1,190000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220377','3MX00037',0,715600.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220356','3MW00114',6,190000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220377','3MX00037',2,2146800.000000,2023-12-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220366','2MW00038',0,150000.000000,20221221,1,1,150000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220377','3MX00037',4,715600.000000,20230515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220366','2MW00038',1,300000.000000,20230321,1,1,300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220379','3MH00025',0,112000.000000,20230117,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220366','2MW00038',2,150000.000000,20230515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220379','3MH00025',2,280000.000000,20230530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220366','2MW00038',4,75000.000000,20230615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220379','3MH00025',4,112000.000000,20230630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220366','2MW00038',6,75000.000000,20230714,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220379','3MH00025',6,56000.000000,20230731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220369','2MH00048',0,272000.000000,20230103,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00129',0,336800.000000,20230419,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220369','2MH00048',2,680000.000000,2023-07-06,1,1,272000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00129',2,673600.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220369','2MH00048',3,136000.000000,20230601,1,1,136000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00129',3,852800.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220369','2MH00048',4,136000.000000,20230630,1,1,136000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00129',4,110000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220369','2MH00048',6,136000.000000,20230731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00129',6,226800.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220369','2MH00047',0,272000.000000,20230103,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00128',0,336800.000000,20230419,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220369','2MH00047',2,680000.000000,2023-07-06,1,1,272000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00128',2,673600.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220369','2MH00047',3,136000.000000,20230601,1,1,136000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00128',3,852800.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220369','2MH00047',4,136000.000000,20230630,1,1,136000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00128',4,110000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220369','2MH00047',6,136000.000000,20230731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220381','3MW00128',6,226800.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00902',0,701115.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00375',0,1000000.000000,20230607,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00902',1,1402230.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00375',2,2500000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00902',2,2570757.000000,20250430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00375',4,1000000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00902',4,1402230.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00375',6,500000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00902',6,600956.000000,20260130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00374',0,1000000.000000,20230607,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00899',0,701115.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00374',2,2500000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00899',1,1402230.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00374',4,1000000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00899',2,2570757.000000,20250430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00374',6,500000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00899',4,1402230.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00373',0,1000000.000000,20230607,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00899',6,600956.000000,20260130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00373',2,2500000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00898',0,701115.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00373',4,1000000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00898',1,1402230.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00373',6,500000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00898',2,2570757.000000,20250430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00372',0,1000000.000000,20230607,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00898',4,1402230.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00372',2,2500000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00898',6,600956.000000,20260130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00372',4,1000000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00901',0,701115.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220389','3MX00372',6,500000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00901',1,1402230.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220393','3MH00002',0,110000.000000,20230130,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00901',2,2570757.000000,20250430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220393','3MH00002',2,275000.000000,2023-05-31,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00901',4,1402230.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220393','3MH00002',3,55000.000000,20230530,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00901',6,600956.000000,20260130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220393','3MH00002',4,55000.000000,20230630,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00900',0,701115.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220393','3MH00002',6,55000.000000,20230731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00900',1,1402230.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00671',0,582412.000000,20240915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00900',2,2570757.000000,20250430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00671',1,1164824.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00900',4,1402230.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00671',2,2135511.000000,20250217,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00900',6,600956.000000,20260130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00671',4,1164824.000000,20250317,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00897',0,701115.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00671',6,499210.000000,20251017,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00897',1,1402230.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00670',0,582412.000000,20240915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00897',2,2570757.000000,20250430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00670',1,1164824.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00897',4,1402230.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00670',2,2135511.000000,20250217,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220376','3MX00897',6,600956.000000,20260130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00670',4,1164824.000000,20250317,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220377','3MF00038',0,715600.000000,20230301,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00670',6,499210.000000,20251017,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220377','3MF00038',2,2146800.000000,2023-12-21,1,1,715600,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00669',0,582412.000000,20240915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220377','3MF00038',4,715600.000000,20230515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00669',1,1164824.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220377','3MX00037',0,715600.000000,20230301,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00669',2,2135511.000000,20250217,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220377','3MX00037',2,2146800.000000,2023-12-21,1,1,715600,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00669',4,1164824.000000,20250317,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220377','3MX00037',4,715600.000000,20230515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00669',6,499210.000000,20251017,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220379','3MH00025',0,112000.000000,20230117,1,1,112000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00668',0,582412.000000,20240915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220379','3MH00025',2,280000.000000,20230530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00668',1,1164824.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220379','3MH00025',4,112000.000000,20230630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00668',2,2135511.000000,20250217,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220379','3MH00025',6,56000.000000,20230731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00668',4,1164824.000000,20250317,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220381','3MW00129',0,336800.000000,20230419,1,1,336800,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00668',6,499210.000000,20251017,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220381','3MW00129',2,673600.000000,2023-09-27,1,1,673600,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00667',0,582412.000000,20240915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220381','3MW00129',3,852800.000000,20240126,1,1,397327.27272727,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00667',1,1164824.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220381','3MW00129',4,110000.000000,20240131,1,1,51250,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00667',2,2135511.000000,20250217,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220381','3MW00129',6,226800.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00667',4,1164824.000000,20250317,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220381','3MX00128',0,336800.000000,20230419,1,1,336800,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220426','3MX00667',6,499210.000000,20251017,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220381','3MX00128',2,673600.000000,2023-09-27,1,1,673600,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00289',0,572320.000000,20240908,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220381','3MX00128',3,852800.000000,20240126,1,1,397327.27272727,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00289',1,1144639.000000,20241018,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220381','3MX00128',4,110000.000000,20240131,1,1,51250,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00289',2,2098506.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220381','3MX00128',6,226800.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00289',4,1144639.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220389','3MX00375',0,1000000.000000,20230607,1,1,1000000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00289',6,490560.000000,20241015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00375',2,2500000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00288',0,572320.000000,20240908,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00375',4,1000000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00288',1,1144639.000000,20241018,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00375',6,500000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00288',2,2098506.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220389','3MX00374',0,1000000.000000,20230607,1,1,1000000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00288',4,1144639.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00374',2,2500000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00288',6,490560.000000,20241015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00374',4,1000000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00287',0,572320.000000,20240908,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00374',6,500000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00287',1,1144639.000000,20241018,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220389','3MX00373',0,1000000.000000,20230607,1,1,1000000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00287',2,2098506.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00373',2,2500000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00287',4,1144639.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00373',4,1000000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220427','3MX00287',6,490560.000000,20241015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00373',6,500000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00119',0,538912.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220389','3MX00372',0,1000000.000000,20230607,1,1,1000000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00119',3,1886192.000000,20230615,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00372',2,2500000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00119',4,292720.000000,2023-09-12,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00372',4,1000000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00119',5,269456.000000,20230715,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220389','3MX00372',6,500000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00119',6,292720.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220393','3MH00002',0,110000.000000,20230130,1,1,110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00118',0,538912.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220393','3MH00002',2,275000.000000,2023-05-31,1,1,275000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00118',3,1886192.000000,20230615,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220393','3MH00002',3,55000.000000,20230530,1,1,55000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00118',4,292720.000000,2023-09-12,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220393','3MH00002',4,55000.000000,20230630,1,1,55000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00118',5,269456.000000,20230715,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220393','3MH00002',6,55000.000000,20230731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220471','3MW00118',6,292720.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00671',0,582412.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00052',0,1316000.000000,20230610,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00671',1,1164824.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00052',2,1190000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00671',2,2135511.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00052',4,329000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00671',4,1164824.000000,20250317,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00052',6,329000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00671',6,499210.000000,20251017,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00051',0,1316000.000000,20230610,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00670',0,582412.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00051',2,1190000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00670',1,1164824.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00051',4,329000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00670',2,2135511.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00051',6,329000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00670',4,1164824.000000,20250317,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00050',0,1316000.000000,20230610,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00670',6,499210.000000,20251017,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00050',2,1190000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00669',0,582412.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00050',4,329000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00669',1,1164824.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220473','3MW00050',6,329000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00669',2,2135511.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220476','3MH00023',0,110000.000000,20230109,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00669',4,1164824.000000,20250317,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220476','3MH00023',2,275000.000000,20230430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00669',6,499210.000000,20251017,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220476','3MH00023',4,110000.000000,20230530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00668',0,582412.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220476','3MH00023',6,55000.000000,20230630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00668',1,1164824.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220478','3MH00036',0,112000.000000,20230203,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00668',2,2135511.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220478','3MH00036',2,280000.000000,2023-08-25,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00668',4,1164824.000000,20250317,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220478','3MH00036',4,56000.000000,20230515,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00668',6,499210.000000,20251017,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220478','3MH00036',6,112000.000000,20230615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00667',0,582412.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00225',0,917939.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00667',1,1164824.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00225',1,1835879.000000,20240511,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00667',2,2135511.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00225',2,3365778.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00667',4,1164824.000000,20250317,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00225',4,1835879.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220426','3MX00667',6,499210.000000,20251017,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00225',6,786805.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00288',0,572320.000000,20240908,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00224',0,917939.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00288',1,1144639.000000,20241018,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00224',1,1835879.000000,20240511,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00288',2,2098506.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00224',2,3365778.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00288',4,1144639.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00224',4,1835879.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00288',6,490560.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00224',6,786805.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00287',0,572320.000000,20240908,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00223',0,917939.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00287',1,1144639.000000,20241018,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00223',1,1835879.000000,20240511,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00287',2,2098506.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00223',2,3365778.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00287',4,1144639.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00223',4,1835879.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00287',6,490560.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00223',6,786805.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00289',0,572320.000000,20240908,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00222',0,917939.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00289',1,1144639.000000,20241018,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00222',1,1835879.000000,20240511,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00289',2,2098506.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00222',2,3365778.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00289',4,1144639.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00222',4,1835879.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220427','3MX00289',6,490560.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00222',6,786805.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220471','3MW00119',0,538912.000000,20230301,1,1,538912,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00229',0,917939.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220471','3MW00119',3,1886192.000000,20230615,1,1,1886192,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00229',1,1835879.000000,20240511,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220471','3MW00119',4,292720.000000,2023-09-12,1,1,292720,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00229',2,3365778.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220471','3MW00119',5,269456.000000,20230715,1,1,269456,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00229',4,1835879.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220471','3MW00119',6,292720.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00229',6,786805.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220471','3MW00118',0,538912.000000,20230301,1,1,538912,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00228',0,917939.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220471','3MW00118',3,1886192.000000,20230615,1,1,1886192,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00228',1,1835879.000000,20240511,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220471','3MW00118',4,292720.000000,2023-09-12,1,1,292720,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00228',2,3365778.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220471','3MW00118',5,269456.000000,20230715,1,1,269456,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00228',4,1835879.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220471','3MW00118',6,292720.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00228',6,786805.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220473','3MW00052',0,658000.000000,20230410,1,1,658000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00227',0,917939.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220473','3MW00052',1,1316000.000000,20230609,1,1,1316000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00227',1,1835879.000000,20240511,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00052',2,1190000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00227',2,3365778.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00052',4,329000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00227',4,1835879.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00052',6,329000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00227',6,786805.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220473','3MW00051',0,658000.000000,20230410,1,1,658000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00226',0,917939.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220473','3MW00051',1,1316000.000000,20230609,1,1,1316000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00226',1,1835879.000000,20240511,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00051',2,1190000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00226',2,3365778.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00051',4,329000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00226',4,1835879.000000,20240902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00051',6,329000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220492','3MX00226',6,786805.000000,20250502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220473','3MW00050',0,658000.000000,20230410,1,1,658000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220495','3MX00502',0,380000.000000,20230705,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220473','3MW00050',1,1316000.000000,20230609,1,1,1316000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220495','3MX00502',2,950000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00050',2,1190000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220495','3MX00502',4,380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00050',4,329000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220495','3MX00502',6,190000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220473','3MW00050',6,329000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220495','3MX00501',0,380000.000000,20230705,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220476','3MH00023',0,110000.000000,20230109,1,1,110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220495','3MX00501',2,950000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220476','3MH00023',2,275000.000000,20230430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220495','3MX00501',4,380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220476','3MH00023',4,110000.000000,20230530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220495','3MX00501',6,190000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220476','3MH00023',6,55000.000000,20230630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00062',0,920000.000000,20230222,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220478','3MH00036',0,112000.000000,20230203,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00062',2,2300000.000000,2023-11-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220478','3MH00036',2,280000.000000,2023-08-25,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00062',3,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220478','3MH00036',4,56000.000000,20230515,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00062',4,460000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220478','3MH00036',6,112000.000000,20230615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00062',6,460000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00229',0,917939.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00061',0,920000.000000,20230222,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00229',1,1835879.000000,20240511,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00061',2,2300000.000000,2023-11-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00229',2,3365778.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00061',3,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00229',4,1835879.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00061',4,460000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00229',6,786805.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00061',6,460000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00228',0,917939.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00060',0,920000.000000,20230222,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00228',1,1835879.000000,20240511,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00060',2,2300000.000000,2023-11-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00228',2,3365778.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00060',3,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00228',4,1835879.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00060',4,460000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00228',6,786805.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00060',6,460000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00227',0,917939.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00059',0,920000.000000,20230222,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00227',1,1835879.000000,20240511,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00059',2,2300000.000000,2023-11-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00227',2,3365778.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00059',3,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00227',4,1835879.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00059',4,460000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00227',6,786805.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00059',6,460000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00226',0,917939.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00058',0,920000.000000,20230222,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00226',1,1835879.000000,20240511,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00058',2,2300000.000000,2023-11-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00226',2,3365778.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00058',3,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00226',4,1835879.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00058',4,460000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00226',6,786805.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00058',6,460000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00225',0,917939.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00057',0,920000.000000,20230222,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00225',1,1835879.000000,20240511,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00057',2,2300000.000000,2023-11-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00225',2,3365778.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00057',3,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00225',4,1835879.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00057',4,460000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00225',6,786805.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00057',6,460000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00224',0,917939.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00056',0,920000.000000,20230222,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00224',1,1835879.000000,20240511,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00056',2,2300000.000000,2023-11-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00224',2,3365778.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00056',3,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00224',4,1835879.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00056',4,460000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00224',6,786805.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00056',6,460000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00223',0,917939.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00055',0,920000.000000,20230222,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00223',1,1835879.000000,20240511,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00055',2,2300000.000000,2023-11-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00223',2,3365778.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00055',3,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00223',4,1835879.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00055',4,460000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00223',6,786805.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M220504','3MH00055',6,460000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00222',0,917939.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230015','3MH00094',0,116000.000000,20230303,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00222',1,1835879.000000,20240511,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230015','3MH00094',2,290000.000000,20230715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00222',2,3365778.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230015','3MH00094',4,116000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00222',4,1835879.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230015','3MH00094',6,58000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220492','3MX00222',6,786805.000000,20250502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230018','3MH00066',0,112000.000000,20230418,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220495','3MX00502',0,380000.000000,20230705,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230018','3MH00066',1,224000.000000,20230717,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220495','3MX00502',2,950000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230018','3MH00066',2,112000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220495','3MX00502',4,380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230018','3MH00066',4,56000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220495','3MX00502',6,190000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230018','3MH00066',6,56000.000000,20231102,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220495','3MX00501',0,380000.000000,20230705,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230022','3MH00076',0,120000.000000,20230329,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220495','3MX00501',2,950000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230022','3MH00076',1,240000.000000,20230627,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220495','3MX00501',4,380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230022','3MH00076',2,120000.000000,20240531,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220495','3MX00501',6,190000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230022','3MH00076',4,60000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00062',0,920000.000000,20230222,1,1,920000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230022','3MH00076',6,60000.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00062',2,2300000.000000,2023-12-29,1,1,2300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230023','3MW00024',0,212100.000000,20230310,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00062',3,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230023','3MW00024',1,424200.000000,20230409,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00062',4,460000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230023','3MW00024',2,212100.000000,2023-07-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00062',6,460000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230023','3MW00024',3,106050.000000,20230731,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00061',0,920000.000000,20230222,1,1,920000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230023','3MW00024',4,106050.000000,2023-09-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00061',2,2300000.000000,2023-12-29,1,1,2300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230032','3MX00048',0,250000.000000,20230428,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00061',3,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230032','3MX00048',2,625000.000000,2023-11-15,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00061',4,460000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230032','3MX00048',4,250000.000000,20230929,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00061',6,460000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230032','3MX00048',6,125000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00060',0,920000.000000,20230222,1,1,920000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230047','3MW00198',0,184000.000000,20230412,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00060',2,2300000.000000,2023-12-29,1,1,2300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230047','3MW00198',2,460000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00060',3,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230047','3MW00198',4,184000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00060',4,460000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230047','3MW00198',6,92000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00060',6,460000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00447',0,680400.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00059',0,920000.000000,20230222,1,1,920000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00447',1,1360800.000000,20240502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00059',2,2300000.000000,2023-12-29,1,1,2300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00447',2,680400.000000,20240731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00059',3,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00447',4,340200.000000,20240831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00059',4,460000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00447',6,340200.000000,20240925,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00059',6,460000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00446',0,680400.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00058',0,920000.000000,20230222,1,1,920000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00446',1,1360800.000000,20240502,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00058',2,2300000.000000,2023-12-29,1,1,2300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00446',2,680400.000000,20240731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00058',3,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00446',4,340200.000000,20240831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00058',4,460000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230051','3MX00446',6,340200.000000,20240925,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00058',6,460000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230058','3MH00039',0,106000.000000,20230208,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00057',0,920000.000000,20230222,1,1,920000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230058','3MH00039',2,291000.000000,20230601,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00057',2,2300000.000000,2023-12-29,1,1,2300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230058','3MH00039',4,106000.000000,20230703,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00057',3,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230058','3MH00039',6,53000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00057',4,460000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230059','3MH00040',0,106000.000000,20230208,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00057',6,460000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230059','3MH00040',2,291000.000000,20230601,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00056',0,920000.000000,20230222,1,1,920000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230059','3MH00040',4,106000.000000,20230703,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00056',2,2300000.000000,2023-12-29,1,1,2300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230059','3MH00040',6,53000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00056',3,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230060','3MH00377',0,106000.000000,20230621,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00056',4,460000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230060','3MH00377',2,265000.000000,20230820,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00056',6,460000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230060','3MH00377',4,106000.000000,20230920,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00055',0,920000.000000,20230222,1,1,920000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230060','3MH00377',6,53000.000000,20231020,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M220504','3MH00055',2,2300000.000000,2023-12-29,1,1,2300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230061','3MH00041',0,106000.000000,20230210,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00055',3,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230061','3MH00041',2,265000.000000,20230601,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00055',4,460000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230061','3MH00041',4,106000.000000,20230703,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M220504','3MH00055',6,460000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230061','3MH00041',6,53000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230015','3MH00094',0,116000.000000,20230303,1,1,116000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00047',0,677000.000000,20230214,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230015','3MH00094',2,290000.000000,20230715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00047',2,1692500.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230015','3MH00094',4,116000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00047',4,677000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230015','3MH00094',6,58000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00047',6,338500.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230018','3MH00066',0,112000.000000,20230418,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00046',0,677000.000000,20230214,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230018','3MH00066',1,224000.000000,20230717,1,1,112000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00046',2,1692500.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230018','3MH00066',2,112000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00046',4,677000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230018','3MH00066',4,56000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00046',6,338500.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230018','3MH00066',6,56000.000000,20231102,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00045',0,677000.000000,20230214,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230022','3MH00076',0,120000.000000,20230329,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00045',2,1692500.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230022','3MH00076',1,240000.000000,20230627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00045',4,677000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230022','3MH00076',2,120000.000000,20240531,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00045',6,338500.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230022','3MH00076',4,60000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00044',0,677000.000000,20230214,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230022','3MH00076',6,60000.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00044',2,1692500.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230023','3MW00024',0,212100.000000,20230310,1,0,0,212100 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00044',4,677000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230023','3MW00024',1,424200.000000,20230409,1,1,211900,200 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00044',6,338500.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230023','3MW00024',2,212100.000000,2023-07-21,1,1,212100,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00043',0,677000.000000,20230214,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230023','3MW00024',3,106050.000000,20230731,1,1,106050,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00043',2,1692500.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230023','3MW00024',4,106050.000000,2023-09-21,1,1,106050,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00043',4,677000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230032','3MX00048',0,250000.000000,20230428,1,1,250000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00043',6,338500.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230032','3MX00048',2,625000.000000,2023-11-15,1,1,625000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00042',0,677000.000000,20230214,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230032','3MX00048',4,250000.000000,20230929,1,1,250000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00042',2,1692500.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230032','3MX00048',6,125000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00042',4,677000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230047','3MW00198',0,184000.000000,20230412,1,1,184000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230062','3MH00042',6,338500.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230047','3MW00198',2,460000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230064','3MH00093',0,116000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230047','3MW00198',4,184000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230064','3MH00093',1,232000.000000,20230619,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230047','3MW00198',6,92000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230064','3MH00093',2,116000.000000,2023-06-14,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230051','3MX00447',0,680400.000000,20230823,1,1,680400,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230064','3MH00093',4,58000.000000,2023-09-13,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230051','3MX00447',1,1360800.000000,20240502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230064','3MH00093',6,58000.000000,2023-09-13,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230051','3MX00447',2,680400.000000,20240731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230071','3MW00067',0,240000.000000,20230428,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230051','3MX00447',4,340200.000000,20240831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230071','3MW00067',2,240000.000000,2023-05-22,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230051','3MX00447',6,340200.000000,20240925,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230071','3MW00067',4,240000.000000,2023-07-14,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230051','3MX00446',0,680400.000000,20230823,1,1,680400,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230071','3MW00067',6,80000.000000,2023-07-19,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230051','3MX00446',1,1360800.000000,20240502,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230072','3MH00054',0,224000.000000,20230407,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230051','3MX00446',2,680400.000000,20240731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230072','3MH00054',2,560000.000000,2023-05-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230051','3MX00446',4,340200.000000,20240831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230072','3MH00054',4,224000.000000,20230630,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230051','3MX00446',6,340200.000000,20240925,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230072','3MH00054',6,112000.000000,20230731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230058','3MH00039',0,106000.000000,20230208,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230072','3MH00053',0,224000.000000,20230407,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230058','3MH00039',2,291000.000000,2023-12-28,1,1,291000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230072','3MH00053',2,560000.000000,2023-05-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230058','3MH00039',4,106000.000000,20230703,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230072','3MH00053',4,224000.000000,20230630,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230058','3MH00039',6,53000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230072','3MH00053',6,112000.000000,20230731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230059','3MH00040',0,106000.000000,20230208,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230073','3MH00064',0,224000.000000,20230302,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230059','3MH00040',2,291000.000000,2023-12-28,1,1,291000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230073','3MH00064',2,560000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230059','3MH00040',4,106000.000000,20230703,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230073','3MH00064',4,224000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230059','3MH00040',6,53000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230073','3MH00064',6,112000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230060','3MH00377',0,106000.000000,20230621,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230073','3MH00063',0,224000.000000,20230302,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230060','3MH00377',2,265000.000000,20230820,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230073','3MH00063',2,560000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230060','3MH00377',4,106000.000000,20230920,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230073','3MH00063',4,224000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230060','3MH00377',6,53000.000000,20231020,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230073','3MH00063',6,112000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230061','3MH00041',0,106000.000000,20230210,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230074','3MH00105',0,144000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230061','3MH00041',2,265000.000000,20230601,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230074','3MH00105',2,360000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230061','3MH00041',4,106000.000000,20230703,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230074','3MH00105',4,144000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230061','3MH00041',6,53000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230074','3MH00105',6,72000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230062','3MH00047',0,677000.000000,20230214,1,1,677000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00104',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00047',2,1692500.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00104',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00047',4,677000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00104',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00047',6,338500.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00104',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230062','3MH00046',0,677000.000000,20230214,1,1,677000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00103',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00046',2,1692500.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00103',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00046',4,677000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00103',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00046',6,338500.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00103',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230062','3MH00045',0,677000.000000,20230214,1,1,677000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00102',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00045',2,1692500.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00102',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00045',4,677000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00102',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00045',6,338500.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00102',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230062','3MH00044',0,677000.000000,20230214,1,1,677000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00101',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00044',2,1692500.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00101',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00044',4,677000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00101',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00044',6,338500.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00101',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230062','3MH00043',0,677000.000000,20230214,1,1,677000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00100',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00043',2,1692500.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00100',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00043',4,677000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00100',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00043',6,338500.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00100',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230062','3MH00042',0,677000.000000,20230214,1,1,677000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00099',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00042',2,1692500.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00099',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00042',4,677000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00099',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230062','3MH00042',6,338500.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00099',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230064','3MH00093',0,116000.000000,20230420,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00098',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230064','3MH00093',1,232000.000000,20230619,1,1,200000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00098',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230064','3MH00093',2,116000.000000,2023-06-14,1,1,116000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00098',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230064','3MH00093',4,58000.000000,2023-09-13,1,1,58000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00098',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230064','3MH00093',6,58000.000000,2023-09-13,1,1,58000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00097',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230071','3MW00067',0,240000.000000,20230428,1,0,0,240000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00097',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230071','3MW00067',2,240000.000000,2023-05-22,1,1,160000,80000 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00097',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230071','3MW00067',4,240000.000000,2023-07-14,1,1,240000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00097',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230071','3MW00067',6,80000.000000,2023-07-19,1,1,80000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00096',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230072','3MH00054',0,224000.000000,20230407,1,1,224000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00096',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230072','3MH00054',2,560000.000000,2023-05-24,1,1,560000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00096',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230072','3MH00054',4,224000.000000,20230630,1,1,224000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00096',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230072','3MH00054',6,112000.000000,20230731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00095',0,1110000.000000,20230301,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230072','3MH00053',0,224000.000000,20230407,1,1,224000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00095',2,2775000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230072','3MH00053',2,560000.000000,2023-05-24,1,1,560000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00095',4,1110000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230072','3MH00053',4,224000.000000,20230630,1,1,224000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230075','3MH00095',6,555000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230072','3MH00053',6,112000.000000,20230731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230077','3MW00515',0,178000.000000,20230719,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230073','3MH00064',0,224000.000000,20230302,1,1,224000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230077','3MW00515',2,445000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230073','3MH00064',2,560000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230077','3MW00515',4,178000.000000,20240120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230073','3MH00064',4,224000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230077','3MW00515',6,89000.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230073','3MH00064',6,112000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230078','3MW00376',0,180000.000000,20230530,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230073','3MH00063',0,224000.000000,20230302,1,1,224000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230078','3MW00376',2,450000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230073','3MH00063',2,560000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230078','3MW00376',4,180000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230073','3MH00063',4,224000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230078','3MW00376',6,90000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230073','3MH00063',6,112000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00764',0,401207.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230074','3MH00105',0,144000.000000,20230301,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00764',1,802414.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230074','3MH00105',2,360000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00764',2,1471092.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230074','3MH00105',4,144000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00764',4,802414.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230074','3MH00105',6,72000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00764',6,343892.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00102',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00763',0,401207.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00102',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00763',1,802414.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00102',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00763',2,1471092.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00102',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00763',4,802414.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00101',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00763',6,343892.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00101',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00765',0,401207.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00101',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00765',1,802414.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00101',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00765',2,1471092.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00100',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00765',4,802414.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00100',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00765',6,343892.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00100',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00762',0,401207.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00100',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00762',1,802414.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00099',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00762',2,1471092.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00099',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00762',4,802414.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00099',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230083','3MX00762',6,343892.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00099',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01017',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00098',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01017',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00098',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01017',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00098',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01017',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00098',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01017',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00097',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01014',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00097',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01014',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00097',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01014',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00097',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01014',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00096',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01014',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00096',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01013',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00096',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01013',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00096',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01013',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00095',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01013',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00095',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01013',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00095',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01010',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00095',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01010',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00104',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01010',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00104',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01010',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00104',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01010',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00104',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01009',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230075','3MH00103',0,1110000.000000,20230301,1,1,1110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01009',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00103',2,2775000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01009',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00103',4,1110000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01009',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230075','3MH00103',6,555000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01009',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230077','3MW00515',0,178000.000000,20230719,1,1,178000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01016',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230077','3MW00515',2,445000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01016',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230077','3MW00515',4,178000.000000,20240120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01016',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230077','3MW00515',6,89000.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01016',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230078','3MW00376',0,180000.000000,20230530,1,1,180000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01016',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230078','3MW00376',2,450000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01015',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230078','3MW00376',4,180000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01015',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230078','3MW00376',6,90000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01015',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00764',0,401207.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01015',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00764',1,802414.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01015',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00764',2,1471092.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01012',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00764',4,802414.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01012',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00764',6,343892.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01012',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00763',0,401207.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01012',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00763',1,802414.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01012',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00763',2,1471092.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01011',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00763',4,802414.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01011',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00763',6,343892.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01011',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00765',0,401207.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01011',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00765',1,802414.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01011',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00765',2,1471092.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01008',0,1077254.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00765',4,802414.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01008',1,2154508.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00765',6,343892.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01008',2,3949931.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00762',0,401207.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01008',4,2154508.000000,20240724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00762',1,802414.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230085','3MX01008',6,923360.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00762',2,1471092.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230089','3MW00110',0,184000.000000,20230308,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00762',4,802414.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230089','3MW00110',2,460000.000000,20230710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230083','3MX00762',6,343892.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230089','3MW00110',4,184000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01017',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230089','3MW00110',6,92000.000000,20230911,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01017',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230103','3MX00132',0,190000.000000,20230330,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01017',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230103','3MX00132',2,475000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01017',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230103','3MX00132',4,190000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01017',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230103','3MX00132',6,95000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01014',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230104','3MW00514',0,160000.000000,20230731,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01014',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230104','3MW00514',2,400000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01014',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230104','3MW00514',4,160000.000000,20231216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01014',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230104','3MW00514',6,80000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01014',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230105','3MW00117',0,180000.000000,20230323,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01013',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230105','3MW00117',2,450000.000000,20230616,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01013',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230105','3MW00117',4,180000.000000,20230717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01013',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230105','3MW00117',6,90000.000000,20230817,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01013',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230106','3MH00120',0,107000.000000,20230501,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01013',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230106','3MH00120',2,267500.000000,20230601,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01010',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230106','3MH00120',4,107000.000000,20230703,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01010',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230106','3MH00120',6,53500.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01010',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00092',0,833131.000000,20240504,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01010',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00092',1,1666261.000000,20240613,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01010',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00092',2,3054812.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01009',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00092',4,1666261.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01009',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00092',6,714112.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01009',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00091',0,833131.000000,20240504,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01009',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00091',1,1666261.000000,20240613,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01009',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00091',2,3054812.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01016',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00091',4,1666261.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01016',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00091',6,714112.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01016',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00090',0,833131.000000,20240504,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01016',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00090',1,1666261.000000,20240613,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01016',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00090',2,3054812.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01015',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00090',4,1666261.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01015',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00090',6,714112.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01015',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00089',0,833131.000000,20240504,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01015',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00089',1,1666261.000000,20240613,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01015',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00089',2,3054812.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01012',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00089',4,1666261.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01012',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00089',6,714112.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01012',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00088',0,833131.000000,20240504,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01012',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00088',1,1666261.000000,20240613,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01012',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00088',2,3054812.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01011',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00088',4,1666261.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01011',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00088',6,714112.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01011',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00087',0,833131.000000,20240504,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01011',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00087',1,1666261.000000,20240613,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01011',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00087',2,3054812.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01008',0,1077254.000000,20240602,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00087',4,1666261.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01008',1,2154508.000000,20240712,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00087',6,714112.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01008',2,3949931.000000,20240624,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00086',0,833131.000000,20240504,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01008',4,2154508.000000,20240724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00086',1,1666261.000000,20240613,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230085','3MX01008',6,923360.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00086',2,3054812.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230089','3MW00110',0,184000.000000,20230308,1,1,184000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00086',4,1666261.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230089','3MW00110',2,460000.000000,20230710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230108','3MX00086',6,714112.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230089','3MW00110',4,184000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230109','3MH00149',0,69000.000000,20230411,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230089','3MW00110',6,92000.000000,20230911,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230109','3MH00149',2,345000.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230103','3MX00132',0,190000.000000,20230330,1,1,190000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230109','3MH00149',4,207000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230103','3MX00132',2,475000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230109','3MH00149',6,69000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230103','3MX00132',4,190000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230112','3MX00109',0,160000.000000,20230311,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230103','3MX00132',6,95000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230112','3MX00109',2,400000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230104','3MW00514',0,160000.000000,20230731,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230112','3MX00109',4,160000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230104','3MW00514',2,400000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230112','3MX00109',6,80000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230104','3MW00514',4,160000.000000,20231216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230113','3MH00049',0,144000.000000,20230221,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230104','3MW00514',6,80000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230113','3MH00049',2,360000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230105','3MW00117',0,180000.000000,20230323,1,1,180000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230113','3MH00049',4,144000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230105','3MW00117',2,450000.000000,20230616,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230113','3MH00049',6,72000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230105','3MW00117',4,180000.000000,20230717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230121','3MH00285',0,240000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230105','3MW00117',6,90000.000000,20230817,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230121','3MH00285',2,600000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230106','3MH00120',0,107000.000000,20230501,1,1,107000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230121','3MH00285',4,240000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230106','3MH00120',2,267500.000000,20230601,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230121','3MH00285',6,120000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230106','3MH00120',4,107000.000000,20230703,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230121','3MH00284',0,240000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230106','3MH00120',6,53500.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230121','3MH00284',2,600000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00092',0,833131.000000,20240504,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230121','3MH00284',4,240000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00092',1,1666261.000000,20240613,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230121','3MH00284',6,120000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00092',2,3054812.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00606',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00092',4,1666261.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00606',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00092',6,714112.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00606',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00091',0,833131.000000,20240504,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00606',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00091',1,1666261.000000,20240613,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00606',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00091',2,3054812.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00605',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00091',4,1666261.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00605',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00091',6,714112.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00605',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00090',0,833131.000000,20240504,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00605',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00090',1,1666261.000000,20240613,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00605',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00090',2,3054812.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00608',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00090',4,1666261.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00608',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00090',6,714112.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00608',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00089',0,833131.000000,20240504,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00608',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00089',1,1666261.000000,20240613,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00608',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00089',2,3054812.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00603',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00089',4,1666261.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00603',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00089',6,714112.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00603',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00088',0,833131.000000,20240504,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00603',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00088',1,1666261.000000,20240613,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00603',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00088',2,3054812.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00607',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00088',4,1666261.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00607',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00088',6,714112.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00607',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00087',0,833131.000000,20240504,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00607',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00087',1,1666261.000000,20240613,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00607',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00087',2,3054812.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00604',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00087',4,1666261.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00604',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00087',6,714112.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00604',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00086',0,833131.000000,20240504,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00604',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00086',1,1666261.000000,20240613,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00604',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00086',2,3054812.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00602',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00086',4,1666261.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00602',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230108','3MX00086',6,714112.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00602',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230109','3MH00149',0,69000.000000,20230411,1,1,69000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00602',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230109','3MH00149',2,345000.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00602',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230109','3MH00149',4,207000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00601',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230109','3MH00149',6,69000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00601',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230112','3MX00109',0,160000.000000,20230311,1,1,160000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00601',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230112','3MX00109',2,400000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00601',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230112','3MX00109',4,160000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00601',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230112','3MX00109',6,80000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00600',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230113','3MH00049',0,144000.000000,20230221,1,1,144000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00600',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230113','3MH00049',2,360000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00600',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230113','3MH00049',4,144000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00600',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230113','3MH00049',6,72000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00600',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230121','3MH00285',0,240000.000000,20230517,1,1,240000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00599',0,1201520.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230121','3MH00285',2,600000.000000,20240430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00599',1,2403041.000000,20240624,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230121','3MH00285',4,240000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00599',2,4405573.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230121','3MH00285',6,120000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00599',4,2403041.000000,20241025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230121','3MH00284',0,240000.000000,20230517,1,1,240000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230126','3MX00599',6,1029875.000000,20250526,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230121','3MH00284',2,600000.000000,20240430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230134','3MH00301',0,116000.000000,20230523,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230121','3MH00284',4,240000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230134','3MH00301',2,290000.000000,2023-09-28,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230121','3MH00284',6,120000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230134','3MH00301',4,116000.000000,20230915,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00604',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230134','3MH00301',6,58000.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00604',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00627',0,1040000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00604',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00627',2,2600000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00604',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00627',4,1040000.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00604',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00627',6,520000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00602',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00626',0,1040000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00602',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00626',2,2600000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00602',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00626',4,1040000.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00602',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00626',6,520000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00602',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00625',0,1040000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00601',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00625',2,2600000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00601',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00625',4,1040000.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00601',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00625',6,520000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00601',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00624',0,1040000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00601',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00624',2,2600000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00600',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00624',4,1040000.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00600',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00624',6,520000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00600',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00623',0,1040000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00600',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00623',2,2600000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00600',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00623',4,1040000.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00599',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00623',6,520000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00599',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00622',0,1040000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00599',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00622',2,2600000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00599',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00622',4,1040000.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00599',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00622',6,520000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00608',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00621',0,1040000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00608',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00621',2,2600000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00608',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00621',4,1040000.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00608',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00621',6,520000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00608',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00620',0,1040000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00607',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00620',2,2600000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00607',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00620',4,1040000.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00607',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230137','3MH00620',6,520000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00607',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230139','3MH00571',0,280000.000000,20230802,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00607',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230139','3MH00571',2,700000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00606',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230139','3MH00571',4,280000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00606',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230139','3MH00571',6,140000.000000,20240228,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00606',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230139','3MH00570',0,280000.000000,20230802,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00606',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230139','3MH00570',2,700000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00606',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230139','3MH00570',4,280000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00605',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230139','3MH00570',6,140000.000000,20240228,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00605',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00444',0,791727.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00605',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00444',1,1583455.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00605',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00444',2,2903000.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00605',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00444',4,1583455.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00603',0,1201520.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00444',6,678623.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00603',1,2403041.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00443',0,791727.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00603',2,4405573.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00443',1,1583455.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00603',4,2403041.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00443',2,2903000.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230126','3MX00603',6,1029875.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00443',4,1583455.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230134','3MH00301',0,116000.000000,20230523,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00443',6,678623.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230134','3MH00301',2,290000.000000,2023-09-28,1,1,290000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00442',0,791727.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230134','3MH00301',4,116000.000000,20230915,1,1,116000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00442',1,1583455.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230134','3MH00301',6,58000.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00442',2,2903000.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00627',0,1040000.000000,20230822,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00442',4,1583455.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00627',2,2600000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00442',6,678623.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00627',4,1040000.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00441',0,791727.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00627',6,520000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00441',1,1583455.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00626',0,1040000.000000,20230822,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00441',2,2903000.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00626',2,2600000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00441',4,1583455.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00626',4,1040000.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00441',6,678623.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00626',6,520000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00440',0,791727.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00625',0,1040000.000000,20230822,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00440',1,1583455.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00625',2,2600000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00440',2,2903000.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00625',4,1040000.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00440',4,1583455.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00625',6,520000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00440',6,678623.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00624',0,1040000.000000,20230822,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00439',0,791727.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00624',2,2600000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00439',1,1583455.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00624',4,1040000.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00439',2,2903000.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00624',6,520000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00439',4,1583455.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00623',0,1040000.000000,20230822,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00439',6,678623.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00623',2,2600000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00438',0,791727.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00623',4,1040000.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00438',1,1583455.000000,20241211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00623',6,520000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00438',2,2903000.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00622',0,1040000.000000,20230822,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00438',4,1583455.000000,20250403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00622',2,2600000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230142','3MX00438',6,678623.000000,20251103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00622',4,1040000.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230148','3MH00106',0,138000.000000,20230308,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00622',6,520000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230148','3MH00106',2,345000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00621',0,1040000.000000,20230822,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230148','3MH00106',4,138000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00621',2,2600000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230148','3MH00106',6,69000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00621',4,1040000.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230156','3MH00504',0,120000.000000,20230717,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00621',6,520000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230156','3MH00504',1,240000.000000,20230915,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00620',0,1040000.000000,20230822,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230156','3MH00504',2,120000.000000,2023-10-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00620',2,2600000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230156','3MH00504',4,60000.000000,20231117,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00620',4,1040000.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230156','3MH00504',6,60000.000000,20231218,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230137','3MH00620',6,520000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230157','3MH00303',0,106000.000000,20230520,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230139','3MH00571',0,280000.000000,20230802,1,1,280000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230157','3MH00303',2,265000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230139','3MH00571',2,700000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230157','3MH00303',4,106000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230139','3MH00571',4,280000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230157','3MH00303',6,53000.000000,20240130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230139','3MH00571',6,140000.000000,20240228,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230158','3MW00292',0,254000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230139','3MH00570',0,280000.000000,20230802,1,1,280000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230158','3MW00292',2,635000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230139','3MH00570',2,700000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230158','3MW00292',4,254000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230139','3MH00570',4,280000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230158','3MW00292',6,127000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230139','3MH00570',6,140000.000000,20240228,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230160','3MW00300',0,180000.000000,20230531,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00444',0,791727.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230160','3MW00300',2,450000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00444',1,1583455.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230160','3MW00300',4,180000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00444',2,2903000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230160','3MW00300',6,90000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00444',4,1583455.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230165','3MX00133',0,196000.000000,20230503,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00444',6,678623.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230165','3MX00133',2,490000.000000,20230630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00443',0,791727.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230165','3MX00133',4,196000.000000,20230731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00443',1,1583455.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230165','3MX00133',6,98000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00443',2,2903000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230166','3MH00294',0,130000.000000,20230605,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00443',4,1583455.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230166','3MH00294',1,260000.000000,20230814,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00443',6,678623.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230166','3MH00294',2,130000.000000,2023-12-12,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00442',0,791727.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230166','3MH00294',4,65000.000000,20231011,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00442',1,1583455.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230166','3MH00294',6,65000.000000,20231113,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00442',2,2903000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00152',0,327000.000000,20230407,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00442',4,1583455.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00152',2,877500.000000,2023-11-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00442',6,678623.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00152',4,327000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00441',0,791727.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00152',6,163500.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00441',1,1583455.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00151',0,327000.000000,20230407,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00441',2,2903000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00151',2,877500.000000,2023-11-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00441',4,1583455.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00151',4,327000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00441',6,678623.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00151',6,163500.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00440',0,791727.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00150',0,327000.000000,20230407,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00440',1,1583455.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00150',2,877500.000000,2023-11-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00440',2,2903000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00150',4,327000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00440',4,1583455.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230169','3MH00150',6,163500.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00440',6,678623.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230171','3MH00107',0,104000.000000,20230303,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00439',0,791727.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230171','3MH00107',2,340000.000000,2023-10-31,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00439',1,1583455.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230171','3MH00107',4,104000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00439',2,2903000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230171','3MH00107',6,52000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00439',4,1583455.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00767',0,188641.000000,20240531,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00439',6,678623.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00767',1,377282.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00438',0,791727.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00767',2,691683.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00438',1,1583455.000000,20241211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00767',4,377282.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00438',2,2903000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00767',6,161692.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00438',4,1583455.000000,20250403,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00766',0,188641.000000,20240531,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230142','3MX00438',6,678623.000000,20251103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00766',1,377282.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230148','3MH00106',0,138000.000000,20230308,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00766',2,691683.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230148','3MH00106',2,345000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00766',4,377282.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230148','3MH00106',4,138000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230174','3MX00766',6,161692.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230148','3MH00106',6,69000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230176','3MH00202',0,110000.000000,20230504,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230156','3MH00504',0,120000.000000,20230717,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230176','3MH00202',2,275000.000000,20230730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230156','3MH00504',1,240000.000000,20230915,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230176','3MH00202',4,110000.000000,20230830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230156','3MH00504',2,120000.000000,2023-10-17,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230176','3MH00202',6,55000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230156','3MH00504',4,60000.000000,2023-12-19,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00831',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230156','3MH00504',6,60000.000000,2023-12-28,1,1,60000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00831',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230157','3MH00303',0,106000.000000,20230520,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00831',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230157','3MH00303',2,265000.000000,2024-01-09,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00831',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230157','3MH00303',4,106000.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00831',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230157','3MH00303',6,53000.000000,20240130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00820',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230158','3MW00292',0,254000.000000,20230524,1,1,254000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00820',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230158','3MW00292',2,635000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00820',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230158','3MW00292',4,254000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00820',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230158','3MW00292',6,127000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00820',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230160','3MW00300',0,180000.000000,20230531,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00830',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230160','3MW00300',2,450000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00830',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230160','3MW00300',4,180000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00830',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230160','3MW00300',6,90000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00830',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00040',0,803452.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00830',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00040',1,1606904.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00829',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00040',2,2945992.000000,20250115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00829',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00040',4,1606904.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00829',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00040',6,688673.000000,20250917,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00829',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00038',0,803452.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00829',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00038',1,1606904.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00828',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00038',2,2945992.000000,20250115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00828',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00038',4,1606904.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00828',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00038',6,688673.000000,20250917,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00828',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00037',0,803452.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00828',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00037',1,1606904.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00824',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00037',2,2945992.000000,20250115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00824',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00037',4,1606904.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00824',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00037',6,688673.000000,20250917,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00824',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00035',0,803452.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00824',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00035',1,1606904.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00827',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00035',2,2945992.000000,20250115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00827',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00035',4,1606904.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00827',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00035',6,688673.000000,20250917,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00827',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00039',0,803452.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00827',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00039',1,1606904.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00826',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00039',2,2945992.000000,20250115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00826',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00039',4,1606904.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00826',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00039',6,688673.000000,20250917,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00826',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00036',0,803452.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00826',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00036',1,1606904.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00825',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00036',2,2945992.000000,20250115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00825',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00036',4,1606904.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00825',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00036',6,688673.000000,20250917,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00825',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00034',0,803452.000000,20240915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00825',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00034',1,1606904.000000,20241025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00823',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00034',2,2945992.000000,20250115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00823',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00034',4,1606904.000000,20250217,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00823',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230161','4MX00034',6,688673.000000,20250917,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00823',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230165','3MX00133',0,196000.000000,20230503,1,1,196000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00823',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230165','3MX00133',2,490000.000000,20230630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00822',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230165','3MX00133',4,196000.000000,20230731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00822',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230165','3MX00133',6,98000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00822',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230166','3MH00294',0,130000.000000,20230605,1,1,130000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00822',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230166','3MH00294',1,260000.000000,20230814,1,1,260000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00822',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230166','3MH00294',2,130000.000000,2023-12-12,1,1,130000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00821',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230166','3MH00294',4,65000.000000,20231011,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00821',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230166','3MH00294',6,65000.000000,20231113,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00821',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230169','3MH00152',0,327000.000000,20230407,1,1,327000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00821',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230169','3MH00152',2,877500.000000,2023-12-26,1,1,877500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00821',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230169','3MH00152',4,327000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00819',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230169','3MH00152',6,163500.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00819',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230169','3MH00151',0,327000.000000,20230407,1,1,327000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00819',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230169','3MH00151',2,877500.000000,2023-12-26,1,1,877500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00819',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230169','3MH00151',4,327000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00819',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230169','3MH00151',6,163500.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00818',0,1818101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230169','3MH00150',0,327000.000000,20230407,1,1,327000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00818',1,3636203.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230169','3MH00150',2,877500.000000,2023-12-26,1,1,877500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00818',2,6666370.000000,20240930,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230169','3MH00150',4,327000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00818',4,3636203.000000,20241030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230169','3MH00150',6,163500.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230178','3MW00818',6,1558373.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230171','3MH00107',0,104000.000000,20230303,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00124',0,756000.000000,20230501,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230171','3MH00107',2,340000.000000,2023-10-31,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00124',2,756000.000000,2023-05-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230171','3MH00107',4,104000.000000,20230901,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00124',4,756000.000000,2023-08-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230171','3MH00107',6,52000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00124',6,252000.000000,20230724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00767',0,188641.000000,20240531,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00123',0,756000.000000,20230501,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00767',1,377282.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00123',2,756000.000000,2023-05-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00767',2,691683.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00123',4,756000.000000,2023-08-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00767',4,377282.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00123',6,252000.000000,20230724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00767',6,161692.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00122',0,756000.000000,20230501,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00766',0,188641.000000,20240531,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00122',2,756000.000000,2023-05-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00766',1,377282.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00122',4,756000.000000,2023-08-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00766',2,691683.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00122',6,252000.000000,20230724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00766',4,377282.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00121',0,756000.000000,20230501,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230174','3MX00766',6,161692.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00121',2,756000.000000,2023-05-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230176','3MH00202',0,110000.000000,20230504,1,1,110000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00121',4,756000.000000,2023-08-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230176','3MH00202',2,275000.000000,20230730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230205','3MH00121',6,252000.000000,20230724,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230176','3MH00202',4,110000.000000,20230830,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230206','3MH00131',0,120000.000000,20230328,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230176','3MH00202',6,55000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230206','3MH00131',2,300000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00831',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230206','3MH00131',4,120000.000000,20231030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00831',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230206','3MH00131',6,60000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00831',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230212','3MH00115',0,214000.000000,20230320,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00831',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230212','3MH00115',2,565000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00831',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230212','3MH00115',4,214000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00820',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230212','3MH00115',6,107000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00820',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230214','3MH00111',0,104000.000000,20230313,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00820',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230214','3MH00111',2,260000.000000,2023-06-09,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00820',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230214','3MH00111',4,104000.000000,20230710,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00820',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230214','3MH00111',6,52000.000000,20230810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00830',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230217','3MH00113',0,104000.000000,20230314,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00830',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230217','3MH00113',2,260000.000000,2023-10-06,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00830',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230217','3MH00113',4,104000.000000,20230915,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00830',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230217','3MH00113',6,52000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00830',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230218','3MW00108',0,174000.000000,20230314,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00829',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230218','3MW00108',2,435000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00829',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230218','3MW00108',4,174000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00829',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230218','3MW00108',6,87000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00829',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00598',0,196046.000000,20240203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00829',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00598',1,392091.000000,20240314,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00827',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00598',2,718833.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00827',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00598',4,392091.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00827',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00598',6,168039.000000,20250120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00827',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00597',0,196046.000000,20240203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00827',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00597',1,392091.000000,20240314,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00828',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00597',2,718833.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00828',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00597',4,392091.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00828',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230219','3MX00597',6,168039.000000,20250120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00828',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230238','3MH00130',0,189000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00828',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230238','3MH00130',2,189000.000000,2023-06-29,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00826',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230238','3MH00130',4,189000.000000,2023-09-23,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00826',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230238','3MH00130',6,63000.000000,2023-11-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00826',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230239','3MH00173',0,180000.000000,20230502,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00826',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230239','3MH00173',2,240000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00826',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230239','3MH00173',4,120000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00824',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230239','3MH00173',6,60000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00824',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230240','3MH00175',0,378000.000000,20230502,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00824',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230240','3MH00175',2,504000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00824',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230240','3MH00175',4,252000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00824',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230240','3MH00175',6,126000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00825',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230240','3MH00174',0,378000.000000,20230502,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00825',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230240','3MH00174',2,504000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00825',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230240','3MH00174',4,252000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00825',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230240','3MH00174',6,126000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00825',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230266','3MW00139',0,182000.000000,20230508,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00823',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230266','3MW00139',2,515000.000000,2023-11-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00823',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230266','3MW00139',4,182000.000000,20230712,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00823',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230266','3MW00139',6,91000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00823',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00309',0,660000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00823',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00309',2,1650000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00822',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00309',4,660000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00822',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00309',6,330000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00822',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00308',0,660000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00822',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00308',2,1650000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00822',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00308',4,660000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00821',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00308',6,330000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00821',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00307',0,660000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00821',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00307',2,1650000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00821',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00307',4,660000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00821',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00307',6,330000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00819',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00306',0,660000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00819',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00306',2,1650000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00819',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00306',4,660000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00819',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00306',6,330000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00819',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00305',0,660000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00818',0,1818101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00305',2,1650000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00818',1,3636203.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00305',4,660000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00818',2,6666370.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00305',6,330000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00818',4,3636203.000000,20241030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00304',0,660000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230178','3MW00818',6,1558373.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00304',2,1650000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230205','3MH00124',0,756000.000000,20230501,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00304',4,660000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230205','3MH00124',2,756000.000000,2023-05-24,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230270','3MH00304',6,330000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230205','3MH00124',4,756000.000000,2023-08-08,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230275','3MH00153',0,117000.000000,20230407,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230205','3MH00124',6,252000.000000,20230724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230275','3MH00153',2,232500.000000,2023-11-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230205','3MH00123',0,756000.000000,20230501,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230275','3MH00153',4,117000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230205','3MH00123',2,756000.000000,2023-05-24,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230275','3MH00153',6,58500.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230205','3MH00123',4,756000.000000,2023-08-08,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230284','3MH00195',0,180000.000000,20230425,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230205','3MH00123',6,252000.000000,20230724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230284','3MH00195',2,180000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230205','3MH00122',0,756000.000000,20230501,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230284','3MH00195',4,180000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230205','3MH00122',2,756000.000000,2023-05-24,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230284','3MH00195',6,60000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230205','3MH00122',4,756000.000000,2023-08-08,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230288','3MW00253',0,172000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230205','3MH00122',6,252000.000000,20230724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230288','3MW00253',2,430000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230205','3MH00121',0,756000.000000,20230501,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230288','3MW00253',4,172000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230205','3MH00121',2,756000.000000,2023-05-24,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230288','3MW00253',6,86000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230205','3MH00121',4,756000.000000,2023-08-08,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230301','3MH00127',0,106000.000000,20230328,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230205','3MH00121',6,252000.000000,20230724,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230301','3MH00127',2,265000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230206','3MH00131',0,120000.000000,20230328,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230301','3MH00127',4,106000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230206','3MH00131',2,300000.000000,2023-11-17,1,1,300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230301','3MH00127',6,53000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230206','3MH00131',4,120000.000000,20231030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230303','3MH00194',0,106000.000000,20230424,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230206','3MH00131',6,60000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230303','3MH00194',2,265000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230212','3MH00115',0,214000.000000,20230320,1,1,214000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230303','3MH00194',4,106000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230212','3MH00115',2,565000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230303','3MH00194',6,53000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230212','3MH00115',4,214000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230305','3MH00792',0,160000.000000,20231004,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230212','3MH00115',6,107000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230305','3MH00792',2,400000.000000,20240228,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230214','3MH00111',0,104000.000000,20230313,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230305','3MH00792',4,160000.000000,20240329,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230214','3MH00111',2,260000.000000,2023-06-12,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230305','3MH00792',6,80000.000000,20240416,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230214','3MH00111',4,104000.000000,20230710,1,1,52000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230327','3MH00282',0,114000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230214','3MH00111',6,52000.000000,20230810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230327','3MH00282',2,285000.000000,2023-09-19,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230217','3MH00113',0,104000.000000,20230314,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230327','3MH00282',4,114000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230217','3MH00113',2,260000.000000,2023-10-06,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230327','3MH00282',6,57000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230217','3MH00113',4,104000.000000,20230915,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230332','3MH00126',0,109000.000000,20230328,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230217','3MH00113',6,52000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230332','3MH00126',2,277500.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230218','3MW00108',0,174000.000000,20230314,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230332','3MH00126',4,109000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230218','3MW00108',2,435000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230332','3MH00126',6,54500.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230218','3MW00108',4,174000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230333','3MH00125',0,109000.000000,20230328,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230218','3MW00108',6,87000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230333','3MH00125',2,277500.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00598',0,196046.000000,20240203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230333','3MH00125',4,109000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00598',1,392091.000000,20240314,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230333','3MH00125',6,54500.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00598',2,718833.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230339','3MX00176',0,140000.000000,20230414,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00598',4,392091.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230339','3MX00176',2,350000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00598',6,168039.000000,20250120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230339','3MX00176',4,140000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00597',0,196046.000000,20240203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230339','3MX00176',6,70000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00597',1,392091.000000,20240314,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230341','3MW00369',0,204000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00597',2,718833.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230341','3MW00369',2,510000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00597',4,392091.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230341','3MW00369',4,204000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230219','3MX00597',6,168039.000000,20250120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230341','3MW00369',6,102000.000000,20240216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230238','3MH00130',0,189000.000000,20230420,1,0,0,189000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01027',0,515393.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230238','3MH00130',2,189000.000000,2023-06-29,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01027',1,1030787.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230238','3MH00130',4,189000.000000,2023-09-23,1,1,126000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01027',2,1889776.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230238','3MH00130',6,63000.000000,2023-11-08,1,1,63000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01027',4,1030787.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230239','3MH00173',0,180000.000000,20230502,1,1,180000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01027',6,441766.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230239','3MH00173',2,240000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01026',0,515393.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230239','3MH00173',4,120000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01026',1,1030787.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230239','3MH00173',6,60000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01026',2,1889776.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230240','3MH00175',0,378000.000000,20230502,1,1,378000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01026',4,1030787.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230240','3MH00175',2,504000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01026',6,441766.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230240','3MH00175',4,252000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01025',0,515393.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230240','3MH00175',6,126000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01025',1,1030787.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230240','3MH00174',0,378000.000000,20230502,1,1,378000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01025',2,1889776.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230240','3MH00174',2,504000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01025',4,1030787.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230240','3MH00174',4,252000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01025',6,441766.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230240','3MH00174',6,126000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01024',0,515393.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230266','3MW00139',0,182000.000000,20230508,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01024',1,1030787.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230266','3MW00139',2,515000.000000,2023-11-07,1,1,515000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01024',2,1889776.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230266','3MW00139',4,182000.000000,20230712,1,1,182000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01024',4,1030787.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230266','3MW00139',6,91000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230343','3MX01024',6,441766.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230270','3MH00309',0,660000.000000,20230516,1,1,660000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230346','3MH00148',0,106000.000000,20230407,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00309',2,1650000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230346','3MH00148',2,360000.000000,2023-10-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00309',4,660000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230346','3MH00148',4,106000.000000,20230915,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00309',6,330000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230346','3MH00148',6,53000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230270','3MH00308',0,660000.000000,20230516,1,1,660000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230366','3MW00963',0,294000.000000,20231122,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00308',2,1650000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230366','3MW00963',2,319000.000000,20240615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00308',4,660000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230366','3MW00963',4,294000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00308',6,330000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230366','3MW00963',6,98000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230270','3MH00307',0,660000.000000,20230516,1,1,660000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230371','3MW00190',0,170000.000000,20230505,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00307',2,1650000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230371','3MW00190',2,425000.000000,2023-07-06,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00307',4,660000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230371','3MW00190',4,170000.000000,20230731,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00307',6,330000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230371','3MW00190',6,85000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230270','3MH00306',0,660000.000000,20230516,1,1,660000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230373','3MX00314',0,216300.000000,20230526,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00306',2,1650000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230373','3MX00314',1,432600.000000,20240101,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00306',4,660000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230373','3MX00314',2,216300.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00306',6,330000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230373','3MX00314',4,108150.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230270','3MH00305',0,660000.000000,20230516,1,1,660000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230373','3MX00314',6,108150.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00305',2,1650000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230375','3MX00203',0,160000.000000,20230502,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00305',4,660000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230375','3MX00203',2,400000.000000,20231120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00305',6,330000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230375','3MX00203',4,160000.000000,20231221,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230270','3MH00304',0,660000.000000,20230516,1,1,660000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230375','3MX00203',6,80000.000000,20240122,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00304',2,1650000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230377','3MW00258',0,348000.000000,20230703,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00304',4,660000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230377','3MW00258',2,464000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230270','3MH00304',6,330000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230377','3MW00258',4,232000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230275','3MH00153',0,117000.000000,20230407,1,1,117000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230377','3MW00258',6,116000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230275','3MH00153',2,232500.000000,2023-11-24,1,1,232500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230379','3MH00302',0,114000.000000,20230621,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230275','3MH00153',4,117000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230379','3MH00302',2,285000.000000,20230715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230275','3MH00153',6,58500.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230379','3MH00302',4,114000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230284','3MH00195',0,180000.000000,20230425,1,1,180000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230379','3MH00302',6,57000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230284','3MH00195',2,180000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230391','3MW00209',0,222000.000000,20230509,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230284','3MH00195',4,180000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230391','3MW00209',2,222000.000000,2023-09-14,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230284','3MH00195',6,60000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230391','3MW00209',4,222000.000000,20231002,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230288','3MW00253',0,172000.000000,20230420,1,1,172000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230391','3MW00209',6,74000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230288','3MW00253',2,430000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00546',0,319800.000000,20230817,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230288','3MW00253',4,172000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00546',2,799500.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230288','3MW00253',6,86000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00546',4,319800.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230301','3MH00127',0,106000.000000,20230328,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00546',6,159900.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230301','3MH00127',2,265000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00545',0,319800.000000,20230817,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230301','3MH00127',4,106000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00545',2,799500.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230301','3MH00127',6,53000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00545',4,319800.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230303','3MH00194',0,106000.000000,20230424,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00545',6,159900.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230303','3MH00194',2,265000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00544',0,319800.000000,20230817,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230303','3MH00194',4,106000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00544',2,799500.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230303','3MH00194',6,53000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00544',4,319800.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230305','3MH00792',0,160000.000000,20231004,1,1,160000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230394','3MH00544',6,159900.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230305','3MH00792',2,400000.000000,20240228,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230400','3MX00201',0,150000.000000,20230518,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230305','3MH00792',4,160000.000000,20240329,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230400','3MX00201',2,375000.000000,20230816,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230305','3MH00792',6,80000.000000,20240416,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230400','3MX00201',4,150000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230327','3MH00282',0,114000.000000,20230516,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230400','3MX00201',6,75000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230327','3MH00282',2,285000.000000,2023-09-19,1,1,114000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230403','3MW00212',0,172000.000000,20231012,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230327','3MH00282',4,114000.000000,20231016,1,1,114000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230403','3MW00212',2,430000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230327','3MH00282',6,57000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230403','3MW00212',4,172000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230332','3MH00126',0,109000.000000,20230328,1,1,109000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230403','3MW00212',6,86000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230332','3MH00126',2,277500.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230408','3MP00254',0,150000.000000,20230518,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230332','3MH00126',4,109000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230408','3MP00254',1,300000.000000,20230717,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230332','3MH00126',6,54500.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230408','3MP00254',2,150000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230333','3MH00125',0,109000.000000,20230328,1,1,109000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230408','3MP00254',4,75000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230333','3MH00125',2,277500.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230408','3MP00254',6,75000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230333','3MH00125',4,109000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00291',0,430000.000000,20230531,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230333','3MH00125',6,54500.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00291',1,860000.000000,20230730,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230339','3MX00176',0,140000.000000,20230414,1,1,140000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00291',2,430000.000000,20240601,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230339','3MX00176',2,350000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00291',4,215000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230339','3MX00176',4,140000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00291',6,215000.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230339','3MX00176',6,70000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00290',0,430000.000000,20230531,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230341','3MW00369',0,204000.000000,20230626,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00290',1,860000.000000,20230730,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230341','3MW00369',2,510000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00290',2,430000.000000,20240601,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230341','3MW00369',4,204000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00290',4,215000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230341','3MW00369',6,102000.000000,20240216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230410','3MX00290',6,215000.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01027',0,515393.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230412','3MH00313',0,315000.000000,20230530,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01027',1,1030787.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230412','3MH00313',2,315000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01027',2,1889776.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230412','3MH00313',4,315000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01027',4,1030787.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230412','3MH00313',6,105000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01027',6,441766.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230412','3MH00312',0,315000.000000,20230530,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01026',0,515393.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230412','3MH00312',2,315000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01026',1,1030787.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230412','3MH00312',4,315000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01026',2,1889776.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230412','3MH00312',6,105000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01026',4,1030787.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230414','3MH00206',0,238400.000000,20230424,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01026',6,441766.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230414','3MH00206',2,596000.000000,2023-08-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01025',0,515393.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230414','3MH00206',4,238400.000000,20230831,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01025',1,1030787.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230414','3MH00206',6,119200.000000,20230929,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01025',2,1889776.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230414','3MH00205',0,238400.000000,20230424,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01025',4,1030787.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230414','3MH00205',2,596000.000000,2023-08-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01025',6,441766.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230414','3MH00205',4,238400.000000,20230831,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01024',0,515393.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230414','3MH00205',6,119200.000000,20230929,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01024',1,1030787.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00158',0,540000.000000,20230419,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01024',2,1889776.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00158',2,540000.000000,2023-10-13,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01024',4,1030787.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00158',4,540000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230343','3MX01024',6,441766.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00158',6,180000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230346','3MH00148',0,106000.000000,20230407,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00157',0,540000.000000,20230419,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230346','3MH00148',2,360000.000000,2023-10-11,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00157',2,540000.000000,2023-10-13,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230346','3MH00148',4,106000.000000,20230915,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00157',4,540000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230346','3MH00148',6,53000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00157',6,180000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230366','3MW00963',0,294000.000000,20231122,1,1,294000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00156',0,540000.000000,20230419,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230366','3MW00963',2,319000.000000,20240615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00156',2,540000.000000,2023-10-13,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230366','3MW00963',4,294000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00156',4,540000.000000,20230815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230366','3MW00963',6,98000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230415','3MH00156',6,180000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230371','3MW00190',0,170000.000000,20230505,1,0,0,170000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00495',0,765000.000000,20230710,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230371','3MW00190',2,425000.000000,2023-07-06,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00495',2,765000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230371','3MW00190',4,170000.000000,20230731,1,1,170000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00495',4,765000.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230371','3MW00190',6,85000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00495',6,255000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230373','3MX00314',0,216300.000000,20230526,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00494',0,765000.000000,20230710,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230373','3MX00314',1,432600.000000,20240128,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00494',2,765000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230373','3MX00314',2,216300.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00494',4,765000.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230373','3MX00314',4,108150.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00494',6,255000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230373','3MX00314',6,108150.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00493',0,765000.000000,20230710,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230375','3MX00203',0,160000.000000,20230502,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00493',2,765000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230375','3MX00203',2,400000.000000,20231120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00493',4,765000.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230375','3MX00203',4,160000.000000,20231221,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00493',6,255000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230375','3MX00203',6,80000.000000,20240122,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00492',0,765000.000000,20230710,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230377','3MW00258',0,348000.000000,20230703,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00492',2,765000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230377','3MW00258',2,464000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00492',4,765000.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230377','3MW00258',4,232000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00492',6,255000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230377','3MW00258',6,116000.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00491',0,765000.000000,20230710,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230379','3MH00302',0,114000.000000,20230621,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00491',2,765000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230379','3MH00302',2,285000.000000,20230715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00491',4,765000.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230379','3MH00302',4,114000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230416','3MH00491',6,255000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230379','3MH00302',6,57000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230419','3MW00336',0,390000.000000,20230609,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230391','3MW00209',0,222000.000000,20230509,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230419','3MW00336',2,390000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230391','3MW00209',2,222000.000000,2023-09-14,1,1,222000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230419','3MW00336',4,390000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230391','3MW00209',4,222000.000000,20231002,1,1,222000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230419','3MW00336',6,130000.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230391','3MW00209',6,74000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230420','3MW00200',0,390000.000000,20230426,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230394','3MH00546',0,319800.000000,20230817,1,1,319800,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230420','3MW00200',2,975000.000000,20230830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00546',2,799500.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230420','3MW00200',4,390000.000000,20230929,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00546',4,319800.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230420','3MW00200',6,195000.000000,20231030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00546',6,159900.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230420','3MW00199',0,390000.000000,20230426,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230394','3MH00545',0,319800.000000,20230817,1,1,319800,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230420','3MW00199',2,975000.000000,20230830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00545',2,799500.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230420','3MW00199',4,390000.000000,20230929,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00545',4,319800.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230420','3MW00199',6,195000.000000,20231030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00545',6,159900.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230424','3MX00483',0,114584.000000,20240101,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230394','3MH00544',0,319800.000000,20230817,1,1,319800,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230424','3MX00483',1,229168.000000,20240210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00544',2,799500.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230424','3MX00483',2,420142.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00544',4,319800.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230424','3MX00483',4,229168.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230394','3MH00544',6,159900.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230424','3MX00483',6,98215.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230400','3MX00201',0,150000.000000,20230518,1,1,150000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230428','3MH00371',0,136000.000000,20230601,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230400','3MX00201',2,375000.000000,20230816,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230428','3MH00371',2,340000.000000,2023-11-24,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230400','3MX00201',4,150000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230428','3MH00371',4,136000.000000,20231030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230400','3MX00201',6,75000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230428','3MH00371',6,68000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230403','3MW00212',0,172000.000000,20231012,1,1,172000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230430','3MW00155',0,330000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230403','3MW00212',2,430000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230430','3MW00155',2,825000.000000,20240408,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230403','3MW00212',4,172000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230430','3MW00155',4,330000.000000,20240508,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230403','3MW00212',6,86000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230430','3MW00155',6,165000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230408','3MP00254',0,150000.000000,20230518,1,0,0,150000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230430','3MW00154',0,330000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230408','3MP00254',1,300000.000000,20230717,1,1,150000,300000 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230430','3MW00154',2,825000.000000,20240408,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230408','3MP00254',2,150000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230430','3MW00154',4,330000.000000,20240508,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230408','3MP00254',4,75000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230430','3MW00154',6,165000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230408','3MP00254',6,75000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00160',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230410','3MX00291',0,430000.000000,20230531,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00160',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230410','3MX00291',1,860000.000000,20230730,1,1,430000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00160',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230410','3MX00291',2,430000.000000,20240601,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00160',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230410','3MX00291',4,215000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00163',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230410','3MX00291',6,215000.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00163',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230410','3MX00290',0,430000.000000,20230531,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00163',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230410','3MX00290',1,860000.000000,20230730,1,1,430000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00163',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230410','3MX00290',2,430000.000000,20240601,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00159',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230410','3MX00290',4,215000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00159',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230410','3MX00290',6,215000.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00159',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230412','3MH00313',0,315000.000000,20230530,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00159',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230412','3MH00313',2,315000.000000,2024-01-03,1,1,315000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00162',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230412','3MH00313',4,315000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00162',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230412','3MH00313',6,105000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00162',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230412','3MH00312',0,315000.000000,20230530,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00162',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230412','3MH00312',2,315000.000000,2024-01-03,1,1,315000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00171',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230412','3MH00312',4,315000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00171',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230412','3MH00312',6,105000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00171',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230414','3MH00206',0,238400.000000,20230424,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00171',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230414','3MH00206',2,596000.000000,2023-08-08,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00170',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230414','3MH00206',4,238400.000000,20230831,1,1,238400,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00170',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230414','3MH00206',6,119200.000000,20230929,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00170',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230414','3MH00205',0,238400.000000,20230424,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00170',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230414','3MH00205',2,596000.000000,2023-08-08,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00169',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230414','3MH00205',4,238400.000000,20230831,1,1,238400,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00169',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230414','3MH00205',6,119200.000000,20230929,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00169',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230415','3MH00158',0,540000.000000,20230419,1,1,540000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00169',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230415','3MH00158',2,540000.000000,2023-10-13,1,1,360000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00168',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230415','3MH00158',4,540000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00168',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230415','3MH00158',6,180000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00168',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230415','3MH00157',0,540000.000000,20230419,1,1,540000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00168',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230415','3MH00157',2,540000.000000,2023-10-13,1,1,360000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00167',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230415','3MH00157',4,540000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00167',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230415','3MH00157',6,180000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00167',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230415','3MH00156',0,540000.000000,20230419,1,1,540000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00167',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230415','3MH00156',2,540000.000000,2023-10-13,1,1,360000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00166',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230415','3MH00156',4,540000.000000,20230815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00166',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230415','3MH00156',6,180000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00166',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00495',0,765000.000000,20230710,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00166',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00495',2,765000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00165',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00495',4,765000.000000,20240125,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00165',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00495',6,255000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00165',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00494',0,765000.000000,20230710,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00165',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00494',2,765000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00161',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00494',4,765000.000000,20240125,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00161',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00494',6,255000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00161',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00493',0,765000.000000,20230710,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00161',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00493',2,765000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00164',0,3558000.000000,20230420,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00493',4,765000.000000,20240125,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00164',2,3558000.000000,2023-08-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00493',6,255000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00164',4,3558000.000000,20240115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00492',0,765000.000000,20230710,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230432','3MW00164',6,1186000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00492',2,765000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230438','3MH00196',0,180000.000000,20230427,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00492',4,765000.000000,20240125,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230438','3MH00196',2,180000.000000,2023-08-18,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00492',6,255000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230438','3MH00196',4,60000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00491',0,765000.000000,20230710,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230438','3MH00196',6,180000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00491',2,765000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230467','3MH00426',0,193200.000000,20230629,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00491',4,765000.000000,20240125,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230467','3MH00426',2,966000.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230416','3MH00491',6,255000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230467','3MH00426',4,579600.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230419','3MW00336',0,390000.000000,20230609,1,0,0,390000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230467','3MH00426',6,193200.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230419','3MW00336',2,390000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230467','3MH00425',0,193200.000000,20230629,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230419','3MW00336',4,390000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230467','3MH00425',2,966000.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230419','3MW00336',6,130000.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230467','3MH00425',4,579600.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230420','3MW00200',0,390000.000000,20230426,1,1,390000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230467','3MH00425',6,193200.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230420','3MW00200',2,975000.000000,20230830,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230470','3MH00768',0,174000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230420','3MW00200',4,390000.000000,20230929,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230470','3MH00768',2,232000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230420','3MW00200',6,195000.000000,20231030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230470','3MH00768',4,116000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230420','3MW00199',0,390000.000000,20230426,1,1,390000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230470','3MH00768',6,58000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230420','3MW00199',2,975000.000000,20230830,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00310',0,300000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230420','3MW00199',4,390000.000000,20230929,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00310',1,450000.000000,20230814,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230420','3MW00199',6,195000.000000,20231030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00310',2,450000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230424','3MX00483',0,114584.000000,20240122,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00310',4,150000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230424','3MX00483',1,229168.000000,20240302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00310',6,150000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230424','3MX00483',2,420142.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00257',0,300000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230424','3MX00483',4,229168.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00257',1,450000.000000,20230814,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230424','3MX00483',6,98215.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00257',2,450000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230428','3MH00371',0,136000.000000,20230601,1,1,136000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00257',4,150000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230428','3MH00371',2,340000.000000,2023-11-24,1,1,340000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230479','3MX00257',6,150000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230428','3MH00371',4,136000.000000,20231030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230483','3MH00450',0,165000.000000,20230703,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230428','3MH00371',6,68000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230483','3MH00450',2,165000.000000,2023-11-16,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230430','3MW00155',0,330000.000000,20231115,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230483','3MH00450',4,165000.000000,20231215,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230430','3MW00155',2,825000.000000,20240408,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230483','3MH00450',6,55000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230430','3MW00155',4,330000.000000,20240508,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230484','3MH00360',0,189000.000000,20230614,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230430','3MW00155',6,165000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230484','3MH00360',2,189000.000000,2023-11-10,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230430','3MW00154',0,330000.000000,20231115,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230484','3MH00360',4,189000.000000,20231201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230430','3MW00154',2,825000.000000,20240408,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230484','3MH00360',6,63000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230430','3MW00154',4,330000.000000,20240508,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00359',0,630000.000000,20230530,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230430','3MW00154',6,165000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00359',2,630000.000000,2023-12-22,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00171',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00359',4,630000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00171',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00359',6,210000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00171',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00358',0,630000.000000,20230530,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00171',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00358',2,630000.000000,2023-12-22,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00170',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00358',4,630000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00170',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00358',6,210000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00170',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00357',0,630000.000000,20230530,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00170',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00357',2,630000.000000,2023-12-22,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00169',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00357',4,630000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00169',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00357',6,210000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00169',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00356',0,630000.000000,20230530,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00169',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00356',2,630000.000000,2023-12-22,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00168',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00356',4,630000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00168',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230485','3MH00356',6,210000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00168',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00215',0,480000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00168',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00215',2,1200000.000000,20231001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00167',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00215',4,480000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00167',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00215',6,240000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00167',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00214',0,480000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00167',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00214',2,1200000.000000,20231001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00166',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00214',4,480000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00166',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00214',6,240000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00166',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00213',0,480000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00166',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00213',2,1200000.000000,20231001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00165',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00213',4,480000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00165',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230497','3MW00213',6,240000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00165',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230500','3MX00771',0,450000.000000,20230906,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00165',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230500','3MX00771',2,600000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00164',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230500','3MX00771',4,300000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00164',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230500','3MX00771',6,150000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00164',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230500','3MX00770',0,450000.000000,20230906,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00164',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230500','3MX00770',2,600000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00163',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230500','3MX00770',4,300000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00163',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230500','3MX00770',6,150000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00163',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00189',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00163',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00189',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00162',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00189',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00162',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00189',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00162',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00188',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00162',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00188',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00161',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00188',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00161',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00188',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00161',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00187',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00161',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00187',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00160',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00187',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00160',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00187',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00160',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00186',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00160',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00186',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00159',0,3558000.000000,20230420,1,1,3558000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00186',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00159',2,3558000.000000,2023-08-11,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00186',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230432','3MW00159',4,3558000.000000,20240115,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00185',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230432','3MW00159',6,1186000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00185',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230438','3MH00196',0,180000.000000,20230427,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00185',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230438','3MH00196',2,180000.000000,2023-08-18,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00185',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230438','3MH00196',4,60000.000000,20230901,1,1,60000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00184',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230438','3MH00196',6,180000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00184',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230467','3MH00426',0,193200.000000,20230629,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00184',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230467','3MH00426',2,966000.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00184',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230467','3MH00426',4,579600.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00183',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230467','3MH00426',6,193200.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00183',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230467','3MH00425',0,193200.000000,20230629,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00183',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230467','3MH00425',2,966000.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00183',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230467','3MH00425',4,579600.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00182',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230467','3MH00425',6,193200.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00182',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230470','3MH00768',0,174000.000000,20230922,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00182',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230470','3MH00768',2,232000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00182',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230470','3MH00768',4,116000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00181',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230470','3MH00768',6,58000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00181',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230479','3MX00310',0,300000.000000,20230516,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00181',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230479','3MX00310',1,450000.000000,20230814,1,1,300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00181',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230479','3MX00310',2,450000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00180',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230479','3MX00310',4,150000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00180',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230479','3MX00310',6,150000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00180',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230479','3MX00257',0,300000.000000,20230516,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00180',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230479','3MX00257',1,450000.000000,20230814,1,1,300000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00179',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230479','3MX00257',2,450000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00179',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230479','3MX00257',4,150000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00179',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230479','3MX00257',6,150000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00179',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230483','3MH00450',0,165000.000000,20230703,1,1,165000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00178',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230483','3MH00450',2,165000.000000,2023-11-16,1,1,165000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00178',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230483','3MH00450',4,165000.000000,20231215,1,1,165000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00178',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230483','3MH00450',6,55000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00178',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230484','3MH00360',0,189000.000000,20230614,1,1,189000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00177',0,1352000.000000,20230524,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230484','3MH00360',2,189000.000000,2023-11-10,1,1,189000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00177',2,3380000.000000,2023-09-27,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230484','3MH00360',4,189000.000000,20231201,1,1,189000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00177',4,1352000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230484','3MH00360',6,63000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230509','3MH00177',6,676000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00359',0,630000.000000,20230530,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230512','3MH00197',0,165000.000000,20230427,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230485','3MH00359',2,630000.000000,2023-12-22,1,1,630000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230512','3MH00197',2,165000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00359',4,630000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230512','3MH00197',4,165000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00359',6,210000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230512','3MH00197',6,55000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00358',0,630000.000000,20230530,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230522','3MH00427',0,216000.000000,20230616,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230485','3MH00358',2,630000.000000,2023-12-22,1,1,630000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230522','3MH00427',2,540000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00358',4,630000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230522','3MH00427',4,216000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00358',6,210000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230522','3MH00427',6,108000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00357',0,630000.000000,20230530,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230522','3MH00428',0,216000.000000,20230616,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230485','3MH00357',2,630000.000000,2023-12-22,1,1,630000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230522','3MH00428',2,540000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00357',4,630000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230522','3MH00428',4,216000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00357',6,210000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230522','3MH00428',6,108000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00356',0,630000.000000,20230530,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230526','3MH00216',0,144000.000000,20230428,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230485','3MH00356',2,630000.000000,2023-12-22,1,1,630000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230526','3MH00216',2,360000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00356',4,630000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230526','3MH00216',4,144000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230485','3MH00356',6,210000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230526','3MH00216',6,72000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230497','3MW00215',0,480000.000000,20230901,1,1,480000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230530','3MW00210',0,210000.000000,20230502,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00215',2,1200000.000000,20231001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230530','3MW00210',2,210000.000000,2023-08-15,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00215',4,480000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230530','3MW00210',4,210000.000000,20230801,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00215',6,240000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230530','3MW00210',6,70000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230497','3MW00214',0,480000.000000,20230901,1,1,480000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230531','3MW00211',0,204000.000000,20230502,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00214',2,1200000.000000,20231001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230531','3MW00211',2,204000.000000,2023-09-14,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00214',4,480000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230531','3MW00211',4,204000.000000,20230801,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00214',6,240000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230531','3MW00211',6,68000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230497','3MW00213',0,480000.000000,20230901,1,1,480000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00949',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00213',2,1200000.000000,20231001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00949',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00213',4,480000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00949',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230497','3MW00213',6,240000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00949',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230500','3MX00771',0,450000.000000,20230906,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00948',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230500','3MX00771',2,600000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00948',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230500','3MX00771',4,300000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00948',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230500','3MX00771',6,150000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00948',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230500','3MX00770',0,450000.000000,20230906,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00947',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230500','3MX00770',2,600000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00947',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230500','3MX00770',4,300000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00947',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230500','3MX00770',6,150000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00947',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00189',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00946',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00189',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00946',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00189',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00946',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00189',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00946',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00188',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00945',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00188',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00945',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00188',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00945',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00188',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00945',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00187',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00944',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00187',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00944',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00187',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00944',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00187',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00944',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00186',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00943',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00186',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00943',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00186',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00943',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00186',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00943',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00185',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00942',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00185',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00942',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00185',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00942',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00185',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00942',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00184',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00941',0,1512000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00184',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00941',2,2016000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00184',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00941',4,1008000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00184',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230534','3MH00941',6,504000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00183',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230543','3MH00484',0,140000.000000,20230706,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00183',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230543','3MH00484',2,350000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00183',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230543','3MH00484',4,140000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00183',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230543','3MH00484',6,70000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00182',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230544','3MH00242',0,106000.000000,20230815,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00182',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230544','3MH00242',2,265000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00182',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230544','3MH00242',4,106000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00182',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230544','3MH00242',6,53000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00181',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230545','3MH00208',0,330000.000000,20230703,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00181',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230545','3MH00208',2,330000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00181',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230545','3MH00208',4,330000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00181',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230545','3MH00208',6,110000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00180',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230545','3MH00207',0,330000.000000,20230703,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00180',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230545','3MH00207',2,330000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00180',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230545','3MH00207',4,330000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00180',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230545','3MH00207',6,110000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00179',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230548','3MW00261',0,450000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00179',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230548','3MW00261',2,450000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00179',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230548','3MW00261',4,450000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00179',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230548','3MW00261',6,150000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00178',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230548','3MW00260',0,450000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00178',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230548','3MW00260',2,450000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00178',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230548','3MW00260',4,450000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00178',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230548','3MW00260',6,150000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00177',0,1352000.000000,20230524,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00265',0,720000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00177',2,3380000.000000,2023-09-27,1,1,3380000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00265',2,720000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230509','3MH00177',4,1352000.000000,20231016,1,1,1352000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00265',4,720000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230509','3MH00177',6,676000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00265',6,240000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230512','3MH00197',0,165000.000000,20230427,1,1,165000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00264',0,720000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230512','3MH00197',2,165000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00264',2,720000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230512','3MH00197',4,165000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00264',4,720000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230512','3MH00197',6,55000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00264',6,240000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230522','3MH00428',0,216000.000000,20230616,1,1,216000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00263',0,720000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230522','3MH00428',2,540000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00263',2,720000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230522','3MH00428',4,216000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00263',4,720000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230522','3MH00428',6,108000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00263',6,240000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230522','3MH00427',0,216000.000000,20230616,1,1,216000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00262',0,720000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230522','3MH00427',2,540000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00262',2,720000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230522','3MH00427',4,216000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00262',4,720000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230522','3MH00427',6,108000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230549','3MH00262',6,240000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230526','3MH00216',0,144000.000000,20230428,1,1,144000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230556','3MX00549',0,225000.000000,20230804,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230526','3MH00216',2,360000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230556','3MX00549',2,300000.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230526','3MH00216',4,144000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230556','3MX00549',3,150000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230526','3MH00216',6,72000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230556','3MX00549',6,75000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230530','3MW00210',0,210000.000000,20230502,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00933',0,756000.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230530','3MW00210',2,210000.000000,2023-08-15,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00933',2,1890000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230530','3MW00210',4,210000.000000,20230801,1,1,210000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00933',4,756000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230530','3MW00210',6,70000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00933',6,378000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230531','3MW00211',0,204000.000000,20230502,1,1,204000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00932',0,756000.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230531','3MW00211',2,204000.000000,2023-09-14,1,1,204000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00932',2,1890000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230531','3MW00211',4,204000.000000,20230801,1,1,204000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00932',4,756000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230531','3MW00211',6,68000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00932',6,378000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00949',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00931',0,756000.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00949',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00931',2,1890000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00949',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00931',4,756000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00949',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00931',6,378000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00948',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00930',0,756000.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00948',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00930',2,1890000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00948',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00930',4,756000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00948',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00930',6,378000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00947',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00929',0,756000.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00947',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00929',2,1890000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00947',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00929',4,756000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00947',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00929',6,378000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00946',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00928',0,756000.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00946',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00928',2,1890000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00946',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00928',4,756000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00946',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230562','3MH00928',6,378000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00945',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230563','3MX00295',0,164000.000000,20230611,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00945',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230563','3MX00295',1,328000.000000,20230909,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00945',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230563','3MX00295',2,164000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00945',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230563','3MX00295',4,82000.000000,20240614,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00944',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230563','3MX00295',6,82000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00944',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230564','3MX00204',0,148000.000000,20230606,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00944',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230564','3MX00204',2,370000.000000,2023-11-29,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00944',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230564','3MX00204',4,148000.000000,20230925,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00943',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230564','3MX00204',6,74000.000000,20230925,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00943',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MW00453',0,1071000.000000,20230711,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00943',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MW00453',2,2677500.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00943',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MW00453',4,1071000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00942',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MW00453',6,535500.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00942',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MX00452',0,1071000.000000,20230711,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00942',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MX00452',2,2677500.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00942',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MX00452',4,1071000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230534','3MH00941',0,1512000.000000,20231114,1,1,1512000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MX00452',6,535500.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00941',2,2016000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MW00451',0,1071000.000000,20230711,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00941',4,1008000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MW00451',2,2677500.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230534','3MH00941',6,504000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MW00451',4,1071000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230543','3MH00484',0,140000.000000,20230706,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230566','3MW00451',6,535500.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230543','3MH00484',2,350000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230572','3MH00517',0,300000.000000,20230831,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230543','3MH00484',4,140000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230572','3MH00517',2,750000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230543','3MH00484',6,70000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230572','3MH00517',4,300000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230544','3MH00242',0,106000.000000,20230815,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230572','3MH00517',6,150000.000000,20240228,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230544','3MH00242',2,265000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230572','3MH00516',0,300000.000000,20230831,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230544','3MH00242',4,106000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230572','3MH00516',2,750000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230544','3MH00242',6,53000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230572','3MH00516',4,300000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230545','3MH00208',0,330000.000000,20230703,1,1,330000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230572','3MH00516',6,150000.000000,20240228,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230545','3MH00208',2,330000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230573','3MH00416',0,132000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230545','3MH00208',4,330000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230573','3MH00416',2,330000.000000,20231020,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230545','3MH00208',6,110000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230573','3MH00416',4,132000.000000,20231120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230545','3MH00207',0,330000.000000,20230703,1,1,330000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230573','3MH00416',6,66000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230545','3MH00207',2,330000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230576','3MH00557',0,104000.000000,20230811,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230545','3MH00207',4,330000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230576','3MH00557',2,260000.000000,2023-12-06,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230545','3MH00207',6,110000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230576','3MH00557',4,104000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230548','3MW00261',0,450000.000000,20230517,1,1,450000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230576','3MH00557',6,52000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230548','3MW00261',2,450000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230579','3MH00245',0,156000.000000,20230511,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230548','3MW00261',4,450000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230579','3MH00245',2,156000.000000,20230802,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230548','3MW00261',6,150000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230579','3MH00245',4,156000.000000,20230902,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230548','3MW00260',0,450000.000000,20230517,1,1,450000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230579','3MH00245',6,52000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230548','3MW00260',2,450000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230580','3MH00246',0,156000.000000,20230511,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230548','3MW00260',4,450000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230580','3MH00246',2,156000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230548','3MW00260',6,150000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230580','3MH00246',4,156000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230549','3MH00265',0,720000.000000,20230517,1,1,720000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230580','3MH00246',6,52000.000000,20231001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00265',2,720000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00577',0,1548000.000000,20230805,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00265',4,720000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00577',2,1548000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00265',6,240000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00577',4,1548000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230549','3MH00264',0,720000.000000,20230517,1,1,720000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00577',6,516000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00264',2,720000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00576',0,1548000.000000,20230805,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00264',4,720000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00576',2,1548000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00264',6,240000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00576',4,1548000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230549','3MH00263',0,720000.000000,20230517,1,1,720000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00576',6,516000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00263',2,720000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00575',0,1548000.000000,20230805,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00263',4,720000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00575',2,1548000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00263',6,240000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00575',4,1548000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230549','3MH00262',0,720000.000000,20230517,1,1,720000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00575',6,516000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00262',2,720000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00574',0,1548000.000000,20230805,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00262',4,720000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00574',2,1548000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230549','3MH00262',6,240000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00574',4,1548000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230556','3MX00549',0,225000.000000,20230804,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00574',6,516000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230556','3MX00549',2,300000.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00573',0,1548000.000000,20230805,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230556','3MX00549',3,150000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00573',2,1548000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230556','3MX00549',6,75000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00573',4,1548000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230562','3MH00933',0,756000.000000,20231108,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00573',6,516000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00933',2,1890000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MW00580',0,1548000.000000,20230805,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00933',4,756000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MW00580',2,1548000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00933',6,378000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MW00580',4,1548000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230562','3MH00932',0,756000.000000,20231108,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MW00580',6,516000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00932',2,1890000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MW00579',0,1548000.000000,20230805,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00932',4,756000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MW00579',2,1548000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00932',6,378000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MW00579',4,1548000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230562','3MH00931',0,756000.000000,20231108,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MW00579',6,516000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00931',2,1890000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00578',0,1548000.000000,20230805,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00931',4,756000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00578',2,1548000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00931',6,378000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00578',4,1548000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230562','3MH00930',0,756000.000000,20231108,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230593','3MH00578',6,516000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00930',2,1890000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230595','3MH00299',0,132000.000000,20230526,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00930',4,756000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230595','3MH00299',2,330000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00930',6,378000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230595','3MH00299',4,132000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230562','3MH00929',0,756000.000000,20231108,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230595','3MH00299',6,66000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00929',2,1890000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00367',0,742000.000000,20230613,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00929',4,756000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00367',2,1855000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00929',6,378000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00367',4,742000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230562','3MH00928',0,756000.000000,20231108,1,1,756000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00367',6,371000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00928',2,1890000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00366',0,742000.000000,20230613,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00928',4,756000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00366',2,1855000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230562','3MH00928',6,378000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00366',4,742000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230563','3MX00295',0,164000.000000,20230611,1,1,164000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00366',6,371000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230563','3MX00295',1,328000.000000,20230909,1,1,328000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00365',0,742000.000000,20230613,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230563','3MX00295',2,164000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00365',2,1855000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230563','3MX00295',4,82000.000000,20240614,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00365',4,742000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230563','3MX00295',6,82000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00365',6,371000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230564','3MX00204',0,148000.000000,20230606,1,1,148000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00364',0,742000.000000,20230613,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230564','3MX00204',2,370000.000000,2023-11-29,1,1,370000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00364',2,1855000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230564','3MX00204',4,148000.000000,20230925,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00364',4,742000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230564','3MX00204',6,74000.000000,20230925,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00364',6,371000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MW00453',0,1071000.000000,20230711,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00363',0,742000.000000,20230613,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MW00453',2,2677500.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00363',2,1855000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MW00453',4,1071000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00363',4,742000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MW00453',6,535500.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00363',6,371000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MX00452',0,1071000.000000,20230711,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00362',0,742000.000000,20230613,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MX00452',2,2677500.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00362',2,1855000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MX00452',4,1071000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00362',4,742000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MX00452',6,535500.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00362',6,371000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MW00451',0,1071000.000000,20230711,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00361',0,742000.000000,20230613,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MW00451',2,2677500.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00361',2,1855000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MW00451',4,1071000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00361',4,742000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230566','3MW00451',6,535500.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230596','3MH00361',6,371000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230572','3MH00517',0,300000.000000,20230831,1,0,0,300000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230599','3MH00286',0,189000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230572','3MH00517',2,750000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230599','3MH00286',2,252000.000000,2023-09-07,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230572','3MH00517',4,300000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230599','3MH00286',4,126000.000000,20230929,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230572','3MH00517',6,150000.000000,20240228,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230599','3MH00286',6,63000.000000,20231030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230572','3MH00516',0,300000.000000,20230831,1,0,0,300000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00840',0,1080000.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230572','3MH00516',2,750000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00840',2,1080000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230572','3MH00516',4,300000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00840',4,1080000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230572','3MH00516',6,150000.000000,20240228,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00840',6,360000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230573','3MH00416',0,132000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00839',0,1080000.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230573','3MH00416',2,330000.000000,2023-12-26,1,1,132000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00839',2,1080000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230573','3MH00416',4,132000.000000,20231120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00839',4,1080000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230573','3MH00416',6,66000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00839',6,360000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230576','3MH00557',0,104000.000000,20230811,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00838',0,1080000.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230576','3MH00557',2,260000.000000,2023-12-06,1,1,260000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00838',2,1080000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230576','3MH00557',4,104000.000000,20240131,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00838',4,1080000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230576','3MH00557',6,52000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00838',6,360000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230579','3MH00245',0,156000.000000,20230511,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00837',0,1080000.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230579','3MH00245',2,156000.000000,20230802,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00837',2,1080000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230579','3MH00245',4,156000.000000,20230902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00837',4,1080000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230579','3MH00245',6,52000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00837',6,360000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230580','3MH00246',0,156000.000000,20230511,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00836',0,1080000.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230580','3MH00246',2,156000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00836',2,1080000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230580','3MH00246',4,156000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00836',4,1080000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230580','3MH00246',6,52000.000000,20231001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00836',6,360000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MW00580',0,1548000.000000,20230805,1,0,0,1548000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00835',0,1080000.000000,20230927,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230593','3MW00580',2,1548000.000000,2023-11-17,1,1,666000,2.3283064365387E-10 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00835',2,1080000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MW00580',4,1548000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00835',4,1080000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MW00580',6,516000.000000,20240117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230600','3MH00835',6,360000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MW00579',0,1548000.000000,20230805,1,0,0,1548000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230602','3MW00217',0,194000.000000,20230529,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230593','3MW00579',2,1548000.000000,2023-11-17,1,1,666000,2.3283064365387E-10 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230602','3MW00217',1,388000.000000,20230630,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MW00579',4,1548000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230602','3MW00217',2,194000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MW00579',6,516000.000000,20240117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230602','3MW00217',4,97000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00578',0,1548000.000000,20230805,1,0,0,1548000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230602','3MW00217',6,97000.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230593','3MH00578',2,1548000.000000,2023-11-17,1,1,666000,2.3283064365387E-10 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230607','3MH00259',0,174000.000000,20230515,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00578',4,1548000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230607','3MH00259',2,174000.000000,2023-08-30,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00578',6,516000.000000,20240117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230607','3MH00259',4,174000.000000,20230818,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00577',0,1548000.000000,20230805,1,0,0,1548000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230607','3MH00259',6,58000.000000,20230919,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230593','3MH00577',2,1548000.000000,2023-11-17,1,1,666000,2.3283064365387E-10 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00724',0,636000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00577',4,1548000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00724',2,1590000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00577',6,516000.000000,20240117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00724',4,636000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00576',0,1548000.000000,20230805,1,0,0,1548000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00724',6,318000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230593','3MH00576',2,1548000.000000,2023-11-17,1,1,666000,2.3283064365387E-10 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00723',0,636000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00576',4,1548000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00723',2,1590000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00576',6,516000.000000,20240117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00723',4,636000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00575',0,1548000.000000,20230805,1,0,0,1548000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00723',6,318000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230593','3MH00575',2,1548000.000000,2023-11-17,1,1,666000,2.3283064365387E-10 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00722',0,636000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00575',4,1548000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00722',2,1590000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00575',6,516000.000000,20240117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00722',4,636000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00574',0,1548000.000000,20230805,1,0,0,1548000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00722',6,318000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230593','3MH00574',2,1548000.000000,2023-11-17,1,1,666000,2.3283064365387E-10 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00721',0,636000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00574',4,1548000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00721',2,1590000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00574',6,516000.000000,20240117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00721',4,636000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00573',0,1548000.000000,20230805,1,0,0,1548000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00721',6,318000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230593','3MH00573',2,1548000.000000,2023-11-17,1,1,666000,2.3283064365387E-10 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00720',0,636000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00573',4,1548000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00720',2,1590000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230593','3MH00573',6,516000.000000,20240117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00720',4,636000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230595','3MH00299',0,132000.000000,20230526,1,1,132000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00720',6,318000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230595','3MH00299',2,330000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00719',0,636000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230595','3MH00299',4,132000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00719',2,1590000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230595','3MH00299',6,66000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00719',4,636000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00367',0,742000.000000,20230613,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230609','3MH00719',6,318000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00367',2,1855000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00718',0,742000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00367',4,742000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00718',2,1855000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00367',6,371000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00718',4,742000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00366',0,742000.000000,20230613,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00718',6,371000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00366',2,1855000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00717',0,742000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00366',4,742000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00717',2,1855000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00366',6,371000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00717',4,742000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00365',0,742000.000000,20230613,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00717',6,371000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00365',2,1855000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00716',0,742000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00365',4,742000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00716',2,1855000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00365',6,371000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00716',4,742000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00364',0,742000.000000,20230613,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00716',6,371000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00364',2,1855000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00715',0,742000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00364',4,742000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00715',2,1855000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00364',6,371000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00715',4,742000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00363',0,742000.000000,20230613,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00715',6,371000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00363',2,1855000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00714',0,742000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00363',4,742000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00714',2,1855000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00363',6,371000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00714',4,742000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00362',0,742000.000000,20230613,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00714',6,371000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00362',2,1855000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00713',0,742000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00362',4,742000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00713',2,1855000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00362',6,371000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00713',4,742000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00361',0,742000.000000,20230613,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00713',6,371000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00361',2,1855000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00712',0,742000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00361',4,742000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00712',2,1855000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230596','3MH00361',6,371000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00712',4,742000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230599','3MH00286',0,189000.000000,20230516,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230610','3MH00712',6,371000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230599','3MH00286',2,252000.000000,2023-09-07,1,1,63000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00252',0,309000.000000,20230510,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230599','3MH00286',4,126000.000000,20230929,1,1,126000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00252',2,772500.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230599','3MH00286',6,63000.000000,20231030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00252',4,309000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00840',0,1080000.000000,20230927,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00252',6,154500.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00840',2,1080000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00251',0,309000.000000,20230510,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00840',4,1080000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00251',2,772500.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00840',6,360000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00251',4,309000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00839',0,1080000.000000,20230927,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00251',6,154500.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00839',2,1080000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00250',0,309000.000000,20230510,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00839',4,1080000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00250',2,772500.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00839',6,360000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00250',4,309000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00838',0,1080000.000000,20230927,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230619','3MH00250',6,154500.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00838',2,1080000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230620','3MH00247',0,156000.000000,20230511,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00838',4,1080000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230620','3MH00247',2,156000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00838',6,360000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230620','3MH00247',3,156000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00837',0,1080000.000000,20230927,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230620','3MH00247',6,52000.000000,20231001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00837',2,1080000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230621','3MH00266',0,165000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00837',4,1080000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230621','3MH00266',2,165000.000000,2023-12-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00837',6,360000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230621','3MH00266',4,165000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00836',0,1080000.000000,20230927,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230621','3MH00266',6,55000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00836',2,1080000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230628','3MH00283',0,108000.000000,20230516,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00836',4,1080000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230628','3MH00283',2,270000.000000,2023-10-12,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00836',6,360000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230628','3MH00283',4,108000.000000,2023-12-03,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00835',0,1080000.000000,20230927,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230628','3MH00283',6,54000.000000,2023-12-11,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00835',2,1080000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230630','3MH00368',0,132000.000000,20230612,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00835',4,1080000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230630','3MH00368',2,330000.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230600','3MH00835',6,360000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230630','3MH00368',4,132000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230602','3MW00217',0,194000.000000,20230529,1,0,0,194000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230630','3MH00368',6,66000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230602','3MW00217',1,388000.000000,20230630,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230631','3MW00248',0,148000.000000,20230509,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230602','3MW00217',2,194000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230631','3MW00248',2,296000.000000,2023-08-30,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230602','3MW00217',4,97000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230631','3MW00248',4,222000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230602','3MW00217',6,97000.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230631','3MW00248',6,74000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230607','3MH00259',0,174000.000000,20230515,1,1,174000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230634','3MH00498',0,140000.000000,20230712,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230607','3MH00259',2,174000.000000,2023-08-30,1,1,174000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230634','3MH00498',2,350000.000000,20231026,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230607','3MH00259',4,174000.000000,20230818,1,1,174000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230634','3MH00498',4,140000.000000,20231127,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230607','3MH00259',6,58000.000000,20230919,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230634','3MH00498',6,70000.000000,20231225,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00724',0,636000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230635','3MW00267',0,255000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00724',2,1590000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230635','3MW00267',2,255000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00724',4,636000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230635','3MW00267',4,255000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00724',6,318000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230635','3MW00267',6,85000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00723',0,636000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00274',0,1782000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00723',2,1590000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00274',2,1782000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00723',4,636000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00274',4,1782000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00723',6,318000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00274',6,594000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00722',0,636000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00275',0,1782000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00722',2,1590000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00275',2,1782000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00722',4,636000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00275',4,1782000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00722',6,318000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00275',6,594000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00721',0,636000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00276',0,1782000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00721',2,1590000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00276',2,1782000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00721',4,636000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00276',4,1782000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00721',6,318000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00276',6,594000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00720',0,636000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00277',0,1782000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00720',2,1590000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00277',2,1782000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00720',4,636000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00277',4,1782000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00720',6,318000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00277',6,594000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00719',0,636000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00278',0,1782000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00719',2,1590000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00278',2,1782000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00719',4,636000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00278',4,1782000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230609','3MH00719',6,318000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00278',6,594000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00718',0,742000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00279',0,1782000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00718',2,1855000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00279',2,1782000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00718',4,742000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00279',4,1782000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00718',6,371000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230636','3MW00279',6,594000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00717',0,742000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230637','3MH00280',0,396000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00717',2,1855000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230637','3MH00280',2,396000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00717',4,742000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230637','3MH00280',4,396000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00717',6,371000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230637','3MH00280',6,132000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00716',0,742000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230637','3MH00281',0,396000.000000,20230517,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00716',2,1855000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230637','3MH00281',2,396000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00716',4,742000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230637','3MH00281',4,396000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00716',6,371000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230637','3MH00281',6,132000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00715',0,742000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230639','3MH00411',0,186000.000000,20230608,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00715',2,1855000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230639','3MH00411',2,186000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00715',4,742000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230639','3MH00411',4,186000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00715',6,371000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230639','3MH00411',6,62000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00714',0,742000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230641','3MH00244',0,256000.000000,20230510,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00714',2,1855000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230641','3MH00244',2,128000.000000,2023-10-13,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00714',4,742000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230641','3MH00244',4,192000.000000,20230817,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00714',6,371000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230641','3MH00244',6,64000.000000,20230918,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00713',0,742000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230646','3MW00243',0,342000.000000,20230510,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00713',2,1855000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230646','3MW00243',2,342000.000000,2023-08-16,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00713',4,742000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230646','3MW00243',4,342000.000000,20230815,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00713',6,371000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230646','3MW00243',6,114000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00712',0,742000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230656','3MX00405',0,384000.000000,20230629,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00712',2,1855000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230656','3MX00405',2,960000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00712',4,742000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230656','3MX00405',4,384000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230610','3MH00712',6,371000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230656','3MX00405',6,192000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230619','3MH00251',0,309000.000000,20230510,1,1,309000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230656','3MX00404',0,384000.000000,20230629,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00251',2,772500.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230656','3MX00404',2,960000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00251',4,309000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230656','3MX00404',4,384000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00251',6,154500.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230656','3MX00404',6,192000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230619','3MH00250',0,309000.000000,20230510,1,1,309000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230662','3MW00249',0,148000.000000,20230509,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00250',2,772500.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230662','3MW00249',2,296000.000000,2023-08-30,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00250',4,309000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230662','3MW00249',4,222000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00250',6,154500.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230662','3MW00249',6,74000.000000,20231002,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230619','3MH00252',0,309000.000000,20230510,1,1,309000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230678','3MW00414',0,276000.000000,20230609,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00252',2,772500.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230678','3MW00414',2,276000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00252',4,309000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230678','3MW00414',4,276000.000000,20240302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230619','3MH00252',6,154500.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230678','3MW00414',6,92000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230620','3MH00247',0,156000.000000,20230511,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230679','3MW00311',0,225000.000000,20230529,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230620','3MH00247',2,156000.000000,20230801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230679','3MW00311',2,285000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230620','3MH00247',3,156000.000000,20230901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230679','3MW00311',4,225000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230620','3MH00247',6,52000.000000,20231001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230679','3MW00311',6,75000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230621','3MH00266',0,165000.000000,20230517,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230687','3MH00355',0,157500.000000,20230607,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230621','3MH00266',2,165000.000000,2023-12-21,1,1,165000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230687','3MH00355',2,157500.000000,2023-10-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230621','3MH00266',4,165000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230687','3MH00355',4,157500.000000,20230929,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230621','3MH00266',6,55000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230687','3MH00355',6,52500.000000,20231030,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230628','3MH00283',0,108000.000000,20230516,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230701','3MX00548',0,232500.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230628','3MH00283',2,270000.000000,2023-10-12,1,1,108000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230701','3MX00548',2,310000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230628','3MH00283',4,108000.000000,2023-12-03,1,1,108000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230701','3MX00548',4,155000.000000,20231218,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230628','3MH00283',6,54000.000000,2023-12-11,1,1,54000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230701','3MX00548',6,77500.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230630','3MH00368',0,132000.000000,20230612,1,1,132000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00873',0,230000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230630','3MH00368',2,330000.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00873',1,690000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230630','3MH00368',4,132000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00873',2,2300000.000000,20241130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230630','3MH00368',6,66000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00873',5,920000.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230631','3MW00248',0,148000.000000,20230509,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00873',6,460000.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230631','3MW00248',2,296000.000000,2023-08-30,1,1,148000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00872',0,230000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230631','3MW00248',4,222000.000000,20230901,1,1,222000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00872',1,690000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230631','3MW00248',6,74000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00872',2,2300000.000000,20241130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230634','3MH00498',0,140000.000000,20230712,1,0,0,140000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00872',5,920000.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230634','3MH00498',2,350000.000000,20231026,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00872',6,460000.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230634','3MH00498',4,140000.000000,20231127,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00871',0,230000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230634','3MH00498',6,70000.000000,20231225,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00871',1,690000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230635','3MW00267',0,255000.000000,20230922,1,1,255000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00871',2,2300000.000000,20241130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230635','3MW00267',2,255000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00871',5,920000.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230635','3MW00267',4,255000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00871',6,460000.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230635','3MW00267',6,85000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00870',0,230000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230636','3MW00274',0,1782000.000000,20230517,1,1,1782000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00870',1,690000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00274',2,1782000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00870',2,2300000.000000,20241130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00274',4,1782000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00870',5,920000.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00274',6,594000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00870',6,460000.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230636','3MW00275',0,1782000.000000,20230517,1,1,1782000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00869',0,230000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00275',2,1782000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00869',1,690000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00275',4,1782000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00869',2,2300000.000000,20241130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00275',6,594000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00869',5,920000.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230636','3MW00276',0,1782000.000000,20230517,1,1,1782000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00869',6,460000.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00276',2,1782000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00868',0,230000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00276',4,1782000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00868',1,690000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00276',6,594000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00868',2,2300000.000000,20241130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230636','3MW00277',0,1782000.000000,20230517,1,1,1782000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00868',5,920000.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00277',2,1782000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00868',6,460000.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00277',4,1782000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00867',0,230000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00277',6,594000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00867',1,690000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230636','3MW00278',0,1782000.000000,20230517,1,1,1782000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00867',2,2300000.000000,20241130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00278',2,1782000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00867',5,920000.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00278',4,1782000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00867',6,460000.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00278',6,594000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00866',0,230000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230636','3MW00279',0,1782000.000000,20230517,1,1,1782000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00866',1,690000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00279',2,1782000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00866',2,2300000.000000,20241130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00279',4,1782000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00866',5,920000.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230636','3MW00279',6,594000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070147','3MH00866',6,460000.000000,20250630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230637','3MH00280',0,396000.000000,20230517,1,1,396000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070155','3MH00864',0,180000.000000,20231013,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230637','3MH00280',2,396000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070155','3MH00864',2,240000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230637','3MH00280',4,396000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070155','3MH00864',4,120000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230637','3MH00280',6,132000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23070155','3MH00864',6,60000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230637','3MH00281',0,396000.000000,20230517,1,1,396000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230703','3MX00488',0,754800.000000,20230703,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230637','3MH00281',2,396000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230703','3MX00488',2,1006400.000000,20231202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230637','3MH00281',4,396000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230703','3MX00488',4,503200.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230637','3MH00281',6,132000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230703','3MX00488',6,251600.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230639','3MH00411',0,186000.000000,20230608,1,1,186000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230703','3MX00487',0,754800.000000,20230703,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230639','3MH00411',2,186000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230703','3MX00487',2,1006400.000000,20231202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230639','3MH00411',4,186000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230703','3MX00487',4,503200.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230639','3MH00411',6,62000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230703','3MX00487',6,251600.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230641','3MH00244',0,256000.000000,20230510,1,1,256000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230704','3MW00506',0,540000.000000,20230721,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230641','3MH00244',2,128000.000000,2023-10-13,1,1,128000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230704','3MW00506',2,720000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230641','3MH00244',4,192000.000000,20230817,1,1,192000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230704','3MW00506',4,360000.000000,20231222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230641','3MH00244',6,64000.000000,20230918,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230704','3MW00506',6,180000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230646','3MW00243',0,342000.000000,20230510,1,1,342000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230704','3MW00505',0,540000.000000,20230721,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230646','3MW00243',2,342000.000000,2023-08-16,1,1,342000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230704','3MW00505',2,720000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230646','3MW00243',4,342000.000000,20230815,1,1,342000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230704','3MW00505',4,360000.000000,20231222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230646','3MW00243',6,114000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230704','3MW00505',6,180000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230656','3MX00405',0,384000.000000,20230629,1,1,384000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230706','3MH00572',0,136000.000000,20230807,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230656','3MX00405',2,960000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230706','3MH00572',2,340000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230656','3MX00405',4,384000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230706','3MH00572',4,136000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230656','3MX00405',6,192000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230706','3MH00572',6,68000.000000,20240102,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230656','3MX00404',0,384000.000000,20230629,1,1,384000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230713','3MH00445',0,148000.000000,20230609,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230656','3MX00404',2,960000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230713','3MH00445',2,370000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230656','3MX00404',4,384000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230713','3MH00445',4,148000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230656','3MX00404',6,192000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230713','3MH00445',6,74000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230662','3MW00249',0,148000.000000,20230509,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230714','3MH00293',0,168000.000000,20231024,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230662','3MW00249',2,296000.000000,2023-08-30,1,1,148000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230714','3MH00293',2,224000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230662','3MW00249',4,222000.000000,20230901,1,1,222000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230714','3MH00293',4,112000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230662','3MW00249',6,74000.000000,20231002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230714','3MH00293',6,56000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230678','3MW00414',0,276000.000000,20230609,1,1,276000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230721','3MH00417',0,114000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230678','3MW00414',2,276000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230721','3MH00417',2,285000.000000,2023-11-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230678','3MW00414',4,276000.000000,20240302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230721','3MH00417',4,114000.000000,20231120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230678','3MW00414',6,92000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230721','3MH00417',6,57000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230679','3MW00311',0,225000.000000,20230529,1,1,225000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230725','3MX00533',0,140000.000000,20231130,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230679','3MW00311',2,285000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230725','3MX00533',2,350000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230679','3MW00311',4,225000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230725','3MX00533',4,140000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230679','3MW00311',6,75000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230725','3MX00533',6,70000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230687','3MH00355',0,157500.000000,20230607,1,1,157500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230728','3MX00537',0,176000.000000,20230825,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230687','3MH00355',2,157500.000000,2023-10-17,1,1,157500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230728','3MX00537',1,264000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230687','3MH00355',4,157500.000000,20230929,1,1,157500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230728','3MX00537',2,176000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230687','3MH00355',6,52500.000000,20231030,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230728','3MX00537',4,176000.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230701','3MX00548',0,232500.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230728','3MX00537',6,88000.000000,20241001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230701','3MX00548',2,310000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230734','3MW00509',0,225000.000000,20230801,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230701','3MX00548',4,155000.000000,20231218,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230734','3MW00509',2,225000.000000,20231110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230701','3MX00548',6,77500.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230734','3MW00509',4,225000.000000,23231210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00873',0,230000.000000,20231019,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230734','3MW00509',6,75000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00873',1,690000.000000,20231120,1,1,690000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230737','3MH00297',0,162000.000000,20230706,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00873',2,2300000.000000,20241130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230737','3MH00297',2,162000.000000,2023-08-10,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00873',5,920000.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230737','3MH00297',4,162000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00873',6,460000.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230737','3MH00297',6,54000.000000,20231023,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00872',0,230000.000000,20231019,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230738','3MH00298',0,168000.000000,20230522,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00872',1,690000.000000,20231120,1,1,690000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230738','3MH00298',2,168000.000000,2023-09-01,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00872',2,2300000.000000,20241130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230738','3MH00298',4,168000.000000,20230925,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00872',5,920000.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230738','3MH00298',6,56000.000000,20231025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00872',6,460000.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230743','3MH00296',0,316000.000000,20230523,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00871',0,230000.000000,20231019,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230743','3MH00296',2,158000.000000,2023-09-15,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00871',1,690000.000000,20231120,1,1,690000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230743','3MH00296',4,237000.000000,20230907,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00871',2,2300000.000000,20241130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230743','3MH00296',6,79000.000000,20231006,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00871',5,920000.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230745','3MH00508',0,165000.000000,20230718,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00871',6,460000.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230745','3MH00508',2,165000.000000,2023-12-19,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00870',0,230000.000000,20231019,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230745','3MH00508',4,165000.000000,20231102,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00870',1,690000.000000,20231120,1,1,690000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230745','3MH00508',6,55000.000000,20231204,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00870',2,2300000.000000,20241130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230746','3MX00552',0,320000.000000,20230731,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00870',5,920000.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230746','3MX00552',2,800000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00870',6,460000.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230746','3MX00552',4,320000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00869',0,230000.000000,20231019,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230746','3MX00552',6,160000.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00869',1,690000.000000,20231120,1,1,690000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230746','3MX00551',0,320000.000000,20230731,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00869',2,2300000.000000,20241130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230746','3MX00551',2,800000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00869',5,920000.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230746','3MX00551',4,320000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00869',6,460000.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230746','3MX00551',6,160000.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00868',0,230000.000000,20231019,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230759','3MH00496',0,156000.000000,20230706,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00868',1,690000.000000,20231120,1,1,690000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230759','3MH00496',2,156000.000000,20231001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00868',2,2300000.000000,20241130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230759','3MH00496',4,156000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00868',5,920000.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230759','3MH00496',6,52000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00868',6,460000.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230760','3MH00497',0,204000.000000,20230706,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00867',0,230000.000000,20231019,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230760','3MH00497',2,204000.000000,20231001,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00867',1,690000.000000,20231120,1,1,690000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230760','3MH00497',4,204000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00867',2,2300000.000000,20241130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230760','3MH00497',6,68000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00867',5,920000.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230765','3MH00403',0,164000.000000,20230630,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00867',6,460000.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230765','3MH00403',1,328000.000000,20230829,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00866',0,230000.000000,20231019,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230765','3MH00403',2,164000.000000,20240216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070147','3MH00866',1,690000.000000,20231120,1,1,690000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230765','3MH00403',4,82000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00866',2,2300000.000000,20241130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230765','3MH00403',6,82000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00866',5,920000.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230770','3MP00370',0,140000.000000,20230605,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070147','3MH00866',6,460000.000000,20250630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230770','3MP00370',2,350000.000000,2023-12-01,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23070155','3MH00864',0,180000.000000,20231013,1,1,180000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230770','3MP00370',4,140000.000000,20230915,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070155','3MH00864',2,240000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230770','3MP00370',6,70000.000000,20231016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070155','3MH00864',4,120000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00420',0,538000.000000,20230616,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23070155','3MH00864',6,60000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00420',2,1345000.000000,20231120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230703','3MX00488',0,754800.000000,20230703,1,1,754800,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00420',4,538000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230703','3MX00488',2,1006400.000000,20231202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00420',6,269000.000000,20240120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230703','3MX00488',4,503200.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00424',0,538000.000000,20230616,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230703','3MX00488',6,251600.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00424',2,1345000.000000,20231120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230703','3MX00487',0,754800.000000,20230703,1,1,754800,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00424',4,538000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230703','3MX00487',2,1006400.000000,20231202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00424',6,269000.000000,20240120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230703','3MX00487',4,503200.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00423',0,538000.000000,20230616,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230703','3MX00487',6,251600.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00423',2,1345000.000000,20231120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230704','3MW00506',0,540000.000000,20230721,1,0,0,540000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00423',4,538000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230704','3MW00506',2,720000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00423',6,269000.000000,20240120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230704','3MW00506',4,360000.000000,20231222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00422',0,538000.000000,20230616,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230704','3MW00506',6,180000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00422',2,1345000.000000,20231120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230704','3MW00505',0,540000.000000,20230721,1,0,0,540000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00422',4,538000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230704','3MW00505',2,720000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00422',6,269000.000000,20240120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230704','3MW00505',4,360000.000000,20231222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00421',0,538000.000000,20230616,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230704','3MW00505',6,180000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00421',2,1345000.000000,20231120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230706','3MH00572',0,136000.000000,20230807,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00421',4,538000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230706','3MH00572',2,340000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230771','3MH00421',6,269000.000000,20240120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230706','3MH00572',4,136000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230774','3MH00378',0,108000.000000,20230609,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230706','3MH00572',6,68000.000000,20240102,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230774','3MH00378',2,270000.000000,20230820,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230713','3MH00445',0,148000.000000,20230609,1,1,148000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230774','3MH00378',4,108000.000000,20230920,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230713','3MH00445',2,370000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230774','3MH00378',6,54000.000000,20231020,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230713','3MH00445',4,148000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00629',0,274036.000000,20231101,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230713','3MH00445',6,74000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00629',1,548071.000000,20231211,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230714','3MH00293',0,168000.000000,20231024,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00629',2,1004796.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230714','3MH00293',2,224000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00629',4,548071.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230714','3MH00293',4,112000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00629',6,234888.000000,20241015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230714','3MH00293',6,56000.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00628',0,274036.000000,20231101,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230721','3MH00417',0,114000.000000,20230620,1,1,114000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00628',1,548071.000000,20231211,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230721','3MH00417',2,285000.000000,2023-11-08,1,1,285000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00628',2,1004796.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230721','3MH00417',4,114000.000000,20231120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00628',4,548071.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230721','3MH00417',6,57000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00628',6,234888.000000,20241015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230725','3MX00533',0,140000.000000,20231130,1,1,140000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00630',0,274036.000000,20231101,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230725','3MX00533',2,350000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00630',1,548071.000000,20231211,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230725','3MX00533',4,140000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00630',2,1004796.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230725','3MX00533',6,70000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00630',4,548071.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230728','3MX00537',0,176000.000000,20230825,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230780','3MX00630',6,234888.000000,20241015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230728','3MX00537',1,264000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230781','3MH00507',0,246000.000000,20230721,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230728','3MX00537',2,176000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230781','3MH00507',2,328000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230728','3MX00537',4,176000.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230781','3MH00507',4,164000.000000,20231230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230728','3MX00537',6,88000.000000,20241001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230781','3MH00507',6,82000.000000,20240123,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230734','3MW00509',0,225000.000000,20230801,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230786','3MH00407',0,184500.000000,20230619,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230734','3MW00509',2,225000.000000,20231110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230786','3MH00407',2,246000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230734','3MW00509',4,225000.000000,23231210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230786','3MH00407',4,123000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230734','3MW00509',6,75000.000000,20240110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230786','3MH00407',6,61500.000000,20240126,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230737','3MH00297',0,162000.000000,20230706,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230790','3MH00410',0,225000.000000,20230620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230737','3MH00297',2,162000.000000,2023-08-10,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230790','3MH00410',2,225000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230737','3MH00297',4,162000.000000,20230922,1,1,162000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230790','3MH00410',4,225000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230737','3MH00297',6,54000.000000,20231023,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230790','3MH00410',6,75000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230738','3MH00298',0,168000.000000,20230522,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230791','3MW00350',0,288000.000000,20230601,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230738','3MH00298',2,168000.000000,2023-09-01,1,1,168000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230791','3MW00350',2,288000.000000,2023-09-06,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230738','3MH00298',4,168000.000000,20230925,1,1,168000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230791','3MW00350',4,288000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230738','3MH00298',6,56000.000000,20231025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230791','3MW00350',6,96000.000000,20231020,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230743','3MH00296',0,316000.000000,20230523,1,1,316000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230795','3MW00500',0,180000.000000,20230706,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230743','3MH00296',2,158000.000000,2023-09-15,1,1,158000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230795','3MW00500',2,450000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230743','3MH00296',4,237000.000000,20230907,1,1,237000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230795','3MW00500',4,180000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230743','3MH00296',6,79000.000000,20231006,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230795','3MW00500',6,90000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230745','3MH00508',0,165000.000000,20230718,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080003','3MW00863',0,309000.000000,20231012,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230745','3MH00508',2,165000.000000,2023-12-19,1,1,165000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080003','3MW00863',2,412000.000000,20240520,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230745','3MH00508',4,165000.000000,20231102,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080003','3MW00863',4,206000.000000,20240620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230745','3MH00508',6,55000.000000,20231204,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080003','3MW00863',6,103000.000000,20240722,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230746','3MX00552',0,320000.000000,20230731,1,1,320000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080004','3MH00971',0,180000.000000,20231130,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230746','3MX00552',2,800000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080004','3MH00971',2,240000.000000,20240630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230746','3MX00552',4,320000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080004','3MH00971',4,120000.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230746','3MX00552',6,160000.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080004','3MH00971',6,60000.000000,20240830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230746','3MX00551',0,320000.000000,20230731,1,1,320000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080027','3MH00967',0,171000.000000,20231129,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230746','3MX00551',2,800000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080027','3MH00967',2,228000.000000,20240331,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230746','3MX00551',4,320000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080027','3MH00967',4,114000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230746','3MX00551',6,160000.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080027','3MH00967',6,57000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230750','4MH00005',0,132000.000000,20240103,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01042',0,569578.000000,20240327,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230750','4MH00005',2,330000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01042',1,1139155.000000,20240506,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230750','4MH00005',4,132000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01042',2,2088452.000000,20240726,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230750','4MH00005',6,66000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01042',4,1139155.000000,20240826,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230751','4MH00006',0,136000.000000,20240103,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01042',6,488209.000000,20250326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230751','4MH00006',2,340000.000000,20240601,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01041',0,569578.000000,20240327,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230751','4MH00006',4,136000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01041',1,1139155.000000,20240506,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230751','4MH00006',6,68000.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01041',2,2088452.000000,20240726,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230759','3MH00496',0,156000.000000,20230706,1,1,156000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01041',4,1139155.000000,20240826,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230759','3MH00496',2,156000.000000,20231001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01041',6,488209.000000,20250326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230759','3MH00496',4,156000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01040',0,569578.000000,20240327,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230759','3MH00496',6,52000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01040',1,1139155.000000,20240506,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230760','3MH00497',0,204000.000000,20230706,1,1,204000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01040',2,2088452.000000,20240726,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230760','3MH00497',2,204000.000000,20231001,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01040',4,1139155.000000,20240826,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230760','3MH00497',4,204000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01040',6,488209.000000,20250326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230760','3MH00497',6,68000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01039',0,569578.000000,20240327,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230765','3MH00403',0,164000.000000,20230630,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01039',1,1139155.000000,20240506,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230765','3MH00403',1,328000.000000,20230829,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01039',2,2088452.000000,20240726,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230765','3MH00403',2,164000.000000,20240216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01039',4,1139155.000000,20240826,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230765','3MH00403',4,82000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01039',6,488209.000000,20250326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230765','3MH00403',6,82000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01038',0,569578.000000,20240327,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230770','3MP00370',0,140000.000000,20230605,1,0,0,140000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01038',1,1139155.000000,20240506,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230770','3MP00370',2,350000.000000,2023-12-01,1,1,350000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01038',2,2088452.000000,20240726,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230770','3MP00370',4,140000.000000,20230915,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01038',4,1139155.000000,20240826,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230770','3MP00370',6,70000.000000,20231016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01038',6,488209.000000,20250326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00424',0,538000.000000,20230616,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01037',0,569578.000000,20240327,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00424',2,1345000.000000,20231120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01037',1,1139155.000000,20240506,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00424',4,538000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01037',2,2088452.000000,20240726,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00424',6,269000.000000,20240120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01037',4,1139155.000000,20240826,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00423',0,538000.000000,20230616,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080059','3MX01037',6,488209.000000,20250326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00423',2,1345000.000000,20231120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080088','3MW00960',0,148000.000000,20231117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00423',4,538000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080088','3MW00960',2,370000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00423',6,269000.000000,20240120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080088','3MW00960',4,148000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00422',0,538000.000000,20230616,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080088','3MW00960',6,74000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00422',2,1345000.000000,20231120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00904',0,228762.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00422',4,538000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00904',1,457525.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00422',6,269000.000000,20240120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00904',2,838796.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00421',0,538000.000000,20230616,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00904',4,457525.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00421',2,1345000.000000,20231120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00904',6,196082.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00421',4,538000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00903',0,228762.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00421',6,269000.000000,20240120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00903',1,457525.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00420',0,538000.000000,20230616,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00903',2,838796.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00420',2,1345000.000000,20231120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00903',4,457525.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00420',4,538000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080099','3MX00903',6,196082.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230771','3MH00420',6,269000.000000,20240120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00910',0,691910.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230774','3MH00378',0,108000.000000,20230609,1,1,108000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00910',1,1383820.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230774','3MH00378',2,270000.000000,20230820,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00910',2,2537004.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230774','3MH00378',4,108000.000000,20230920,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00910',4,1383820.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230774','3MH00378',6,54000.000000,20231020,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00910',6,593066.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230780','3MX00630',0,274036.000000,20231101,1,1,274036,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00909',0,691910.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230780','3MX00630',1,548071.000000,20231211,1,1,548071,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00909',1,1383820.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00630',2,1004796.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00909',2,2537004.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00630',4,548071.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00909',4,1383820.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00630',6,234888.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00909',6,593066.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230780','3MX00629',0,274036.000000,20231101,1,1,274036,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00908',0,691910.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230780','3MX00629',1,548071.000000,20231211,1,1,548071,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00908',1,1383820.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00629',2,1004796.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00908',2,2537004.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00629',4,548071.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00908',4,1383820.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00629',6,234888.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00908',6,593066.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230780','3MX00628',0,274036.000000,20231101,1,1,274036,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00907',0,691910.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230780','3MX00628',1,548071.000000,20231211,1,1,548071,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00907',1,1383820.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00628',2,1004796.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00907',2,2537004.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00628',4,548071.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00907',4,1383820.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230780','3MX00628',6,234888.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00907',6,593066.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230781','3MH00507',0,246000.000000,20230721,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00906',0,691910.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230781','3MH00507',2,328000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00906',1,1383820.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230781','3MH00507',4,164000.000000,20231230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00906',2,2537004.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230781','3MH00507',6,82000.000000,20240123,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00906',4,1383820.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230786','3MH00407',0,184500.000000,20230619,1,1,184500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00906',6,593066.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230786','3MH00407',2,246000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00905',0,691910.000000,20240702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230786','3MH00407',4,123000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00905',1,1383820.000000,20240811,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230786','3MH00407',6,61500.000000,20240126,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00905',2,2537004.000000,20241101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230790','3MW00410',0,225000.000000,20230620,1,1,225000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00905',4,1383820.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230790','3MW00410',2,225000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080100','3MX00905',6,593066.000000,20250702,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230790','3MW00410',4,225000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00992',0,451603.000000,20240620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230790','3MW00410',6,75000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00992',1,903206.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230791','3MW00350',0,288000.000000,20230601,1,1,288000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00992',2,1655878.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230791','3MW00350',2,288000.000000,2023-09-06,1,1,288000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00992',4,903206.000000,20241121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230791','3MW00350',4,288000.000000,20230921,1,1,288000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00992',6,387088.000000,20250623,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230791','3MW00350',6,96000.000000,20231020,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00991',0,451603.000000,20240620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230795','3MW00500',0,180000.000000,20230706,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00991',1,903206.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230795','3MW00500',2,450000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00991',2,1655878.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230795','3MW00500',4,180000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00991',4,903206.000000,20241121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230795','3MW00500',6,90000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00991',6,387088.000000,20250623,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080003','3MW00863',0,309000.000000,20231012,1,1,309000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00990',0,451603.000000,20240620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080003','3MW00863',2,412000.000000,20240520,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00990',1,903206.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080003','3MW00863',4,206000.000000,20240620,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00990',2,1655878.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080003','3MW00863',6,103000.000000,20240722,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00990',4,903206.000000,20241121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080004','3MH00971',0,180000.000000,20231130,1,1,180000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00990',6,387088.000000,20250623,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080004','3MH00971',2,240000.000000,20240630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00989',0,451603.000000,20240620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080004','3MH00971',4,120000.000000,20240730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00989',1,903206.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080004','3MH00971',6,60000.000000,20240830,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00989',2,1655878.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080023','3MH00961',0,180000.000000,20231116,1,1,180000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00989',4,903206.000000,20241121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080023','3MH00961',2,240000.000000,20240325,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080103','3MX00989',6,387088.000000,20250623,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080023','3MH00961',4,120000.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00995',0,296375.000000,20240621,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080023','3MH00961',6,60000.000000,20240527,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00995',1,592749.000000,20240731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080027','3MH00967',0,171000.000000,20231129,1,1,171000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00995',2,1086707.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080027','3MH00967',2,228000.000000,20240331,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00995',4,592750.000000,20241121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080027','3MH00967',4,114000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00995',6,254036.000000,20250623,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080027','3MH00967',6,57000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00994',0,296375.000000,20240621,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080078','4MH00001',0,144000.000000,20231221,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00994',1,592749.000000,20240731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080078','4MH00001',2,360000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00994',2,1086707.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080078','4MH00001',4,144000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00994',4,592750.000000,20241121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080078','4MH00001',6,72000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00994',6,254036.000000,20250623,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080088','3MW00960',0,148000.000000,20231117,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00993',0,296375.000000,20240621,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080088','3MW00960',2,370000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00993',1,592749.000000,20240731,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080088','3MW00960',4,148000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00993',2,1086707.000000,20241021,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080088','3MW00960',6,74000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00993',4,592750.000000,20241121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00904',0,228762.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080107','3MX00993',6,254036.000000,20250623,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00904',1,457525.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00732',0,467460.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00904',2,838796.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00732',1,934920.000000,20231230,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00904',4,457525.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00732',2,1714022.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00904',6,196082.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00732',4,934920.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00903',0,228762.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00732',6,400680.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00903',1,457525.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00731',0,467460.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00903',2,838796.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00731',1,934920.000000,20231230,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00903',4,457525.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00731',2,1714022.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080099','3MX00903',6,196082.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00731',4,934920.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00907',0,691910.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00731',6,400680.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00907',1,1383820.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00730',0,467460.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00907',2,2537004.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00730',1,934920.000000,20231230,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00907',4,1383820.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00730',2,1714022.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00907',6,593066.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00730',4,934920.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00906',0,691910.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00730',6,400680.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00906',1,1383820.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00729',0,467460.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00906',2,2537004.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00729',1,934920.000000,20231230,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00906',4,1383820.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00729',2,1714022.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00906',6,593066.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00729',4,934920.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00905',0,691910.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080111','3MX00729',6,400680.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00905',1,1383820.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00914',0,409699.000000,20240910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00905',2,2537004.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00914',1,819397.000000,20241020,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00905',4,1383820.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00914',2,1502228.000000,20250110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00905',6,593066.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00914',4,819397.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00910',0,691910.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00914',6,351170.000000,20250910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00910',1,1383820.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00913',0,409699.000000,20240910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00910',2,2537004.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00913',1,819397.000000,20241020,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00910',4,1383820.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00913',2,1502228.000000,20250110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00910',6,593066.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00913',4,819397.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00909',0,691910.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00913',6,351170.000000,20250910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00909',1,1383820.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00912',0,409699.000000,20240910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00909',2,2537004.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00912',1,819397.000000,20241020,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00909',4,1383820.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00912',2,1502228.000000,20250110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00909',6,593066.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00912',4,819397.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00908',0,691910.000000,20240702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00912',6,351170.000000,20250910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00908',1,1383820.000000,20240811,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00911',0,409699.000000,20240910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00908',2,2537004.000000,20241101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00911',1,819397.000000,20241020,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00908',4,1383820.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00911',2,1502228.000000,20250110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080100','3MX00908',6,593066.000000,20250702,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00911',4,819397.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00050',0,484304.000000,20250612,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080133','3MX00911',6,351170.000000,20250910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00050',1,968608.000000,20250722,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00918',0,415510.000000,20240924,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00050',2,1775783.000000,20251013,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00918',1,831021.000000,20241103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00050',4,968608.000000,20251112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00918',2,1523537.000000,20250124,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00050',6,415118.000000,20250612,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00918',4,831021.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00049',0,484304.000000,20250612,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00918',6,356152.000000,20250924,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00049',1,968608.000000,20250722,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00917',0,415510.000000,20240924,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00049',2,1775783.000000,20251013,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00917',1,831021.000000,20241103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00049',4,968608.000000,20251112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00917',2,1523537.000000,20250124,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00049',6,415118.000000,20250612,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00917',4,831021.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00048',0,484304.000000,20250612,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00917',6,356152.000000,20250924,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00048',1,968608.000000,20250722,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00916',0,415510.000000,20240924,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00048',2,1775783.000000,20251013,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00916',1,831021.000000,20241103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00048',4,968608.000000,20251112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00916',2,1523537.000000,20250124,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00048',6,415118.000000,20250612,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00916',4,831021.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00047',0,484304.000000,20250612,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00916',6,356152.000000,20250924,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00047',1,968608.000000,20250722,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00915',0,415510.000000,20240924,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00047',2,1775783.000000,20251013,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00915',1,831021.000000,20241103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00047',4,968608.000000,20251112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00915',2,1523537.000000,20250124,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080101','4MX00047',6,415118.000000,20250612,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00915',4,831021.000000,20250224,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00021',0,533884.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080134','3MX00915',6,356152.000000,20250924,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00021',1,1067768.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080146','3MH00854',0,144000.000000,20231020,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00021',2,1957574.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080146','3MH00854',1,288000.000000,20231219,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00021',4,1067768.000000,20241016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080146','3MH00854',2,144000.000000,20240420,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00021',6,457615.000000,20250516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080146','3MH00854',4,72000.000000,20240520,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00020',0,533884.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080146','3MH00854',6,72000.000000,20240620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00020',1,1067768.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080163','3MH00879',0,192000.000000,20231025,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00020',2,1957574.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080163','3MH00879',2,205000.000000,20240226,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00020',4,1067768.000000,20241016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080163','3MH00879',4,192000.000000,20240326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00020',6,457615.000000,20250516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080163','3MH00879',6,64000.000000,20240426,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00019',0,533884.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080173','3MX00862',0,444000.000000,20231012,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00019',1,1067768.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080173','3MX00862',2,592000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00019',2,1957574.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080173','3MX00862',4,296000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00019',4,1067768.000000,20241016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080173','3MX00862',6,148000.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00019',6,457615.000000,20250516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080173','3MX00861',0,444000.000000,20231012,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00018',0,533884.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080173','3MX00861',2,592000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00018',1,1067768.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080173','3MX00861',4,296000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00018',2,1957574.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080173','3MX00861',6,148000.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00018',4,1067768.000000,20241016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080175','3MW01028',0,194000.000000,20231130,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00018',6,457615.000000,20250516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080175','3MW01028',2,485000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00017',0,533884.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080175','3MW01028',4,194000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00017',1,1067768.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080175','3MW01028',6,97000.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00017',2,1957574.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080182','3MH01023',0,210000.000000,20231206,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00017',4,1067768.000000,20241016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080182','3MH01023',2,280000.000000,20251231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00017',6,457615.000000,20250516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080182','3MH01023',4,140000.000000,20260202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00016',0,533884.000000,20240516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080182','3MH01023',6,70000.000000,20260302,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00016',1,1067768.000000,20240625,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080187','3MW00805',0,303000.000000,20231006,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00016',2,1957574.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080187','3MW00805',2,404000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00016',4,1067768.000000,20241016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080187','3MW00805',4,202000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080102','4MX00016',6,457615.000000,20250516,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23080187','3MW00805',6,101000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00989',0,451603.000000,20240620,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230802','3MX00406',0,172000.000000,20230711,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00989',1,903206.000000,20240730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230802','3MX00406',2,430000.000000,20231031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00989',2,1655878.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230802','3MX00406',4,172000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00989',4,903206.000000,20241121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230802','3MX00406',6,86000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00989',6,387088.000000,20250623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230809','3MH00789',0,207000.000000,20231004,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00992',0,451603.000000,20240620,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230809','3MH00789',2,276000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00992',1,903206.000000,20240730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230809','3MH00789',4,138000.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00992',2,1655878.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230809','3MH00789',6,69000.000000,20240318,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00992',4,903206.000000,20241121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00481',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00992',6,387088.000000,20250623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00481',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00991',0,451603.000000,20240620,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00481',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00991',1,903206.000000,20240730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00481',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00991',2,1655878.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00480',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00991',4,903206.000000,20241121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00480',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00991',6,387088.000000,20250623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00480',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00990',0,451603.000000,20240620,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00480',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00990',1,903206.000000,20240730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00479',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00990',2,1655878.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00479',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00990',4,903206.000000,20241121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00479',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080103','3MX00990',6,387088.000000,20250623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00479',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00995',0,296375.000000,20240621,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00478',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00995',1,592749.000000,20240731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00478',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00995',2,1086707.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00478',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00995',4,592750.000000,20241121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00478',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00995',6,254036.000000,20250623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00477',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00994',0,296375.000000,20240621,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00477',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00994',1,592749.000000,20240731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00477',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00994',2,1086707.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00477',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00994',4,592750.000000,20241121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00476',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00994',6,254036.000000,20250623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00476',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00993',0,296375.000000,20240621,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00476',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00993',1,592749.000000,20240731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00476',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00993',2,1086707.000000,20241021,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00475',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00993',4,592750.000000,20241121,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00475',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080107','3MX00993',6,254036.000000,20250623,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00475',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080109','4MH00074',0,636000.000000,20230104,1,1,636000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00475',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00074',2,1590000.000000,20241105,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00474',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00074',4,636000.000000,20241205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00474',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00074',6,318000.000000,20250106,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00474',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080109','4MH00073',0,636000.000000,20230104,1,1,636000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00474',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00073',2,1590000.000000,20241105,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00473',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00073',4,636000.000000,20241205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00473',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00073',6,318000.000000,20250106,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00473',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080109','4MH00072',0,636000.000000,20230104,1,1,636000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00473',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00072',2,1590000.000000,20241105,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00472',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00072',4,636000.000000,20241205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00472',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00072',6,318000.000000,20250106,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00472',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080109','4MH00071',0,636000.000000,20230104,1,1,636000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00472',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00071',2,1590000.000000,20241105,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00471',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00071',4,636000.000000,20241205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00471',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00071',6,318000.000000,20250106,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00471',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080109','4MH00070',0,636000.000000,20230104,1,1,636000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00471',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00070',2,1590000.000000,20241105,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00470',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00070',4,636000.000000,20241205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00470',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00070',6,318000.000000,20250106,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00470',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080109','4MH00069',0,636000.000000,20230104,1,1,636000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00470',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00069',2,1590000.000000,20241105,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00469',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00069',4,636000.000000,20241205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00469',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080109','4MH00069',6,318000.000000,20250106,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00469',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00729',0,467460.000000,20231120,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00469',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00729',1,934920.000000,20231230,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00468',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00729',2,1714022.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00468',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00729',4,934920.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00468',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00729',6,400680.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00468',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00732',0,467460.000000,20231120,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00467',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00732',1,934920.000000,20231230,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00467',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00732',2,1714022.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00467',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00732',4,934920.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00467',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00732',6,400680.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00466',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00731',0,467460.000000,20231120,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00466',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00731',1,934920.000000,20231230,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00466',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00731',2,1714022.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00466',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00731',4,934920.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00465',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00731',6,400680.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00465',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00730',0,467460.000000,20231120,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00465',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00730',1,934920.000000,20231230,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00465',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00730',2,1714022.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00464',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00730',4,934920.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00464',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080111','3MX00730',6,400680.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00464',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00914',0,409699.000000,20240910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00464',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00914',1,819397.000000,20241020,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00463',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00914',2,1502228.000000,20250110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00463',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00914',4,819397.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00463',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00914',6,351170.000000,20250910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00463',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00913',0,409699.000000,20240910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00462',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00913',1,819397.000000,20241020,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00462',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00913',2,1502228.000000,20250110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00462',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00913',4,819397.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00462',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00913',6,351170.000000,20250910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00461',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00912',0,409699.000000,20240910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00461',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00912',1,819397.000000,20241020,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00461',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00912',2,1502228.000000,20250110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00461',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00912',4,819397.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00460',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00912',6,351170.000000,20250910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00460',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00911',0,409699.000000,20240910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00460',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00911',1,819397.000000,20241020,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00460',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00911',2,1502228.000000,20250110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00459',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00911',4,819397.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00459',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080133','3MX00911',6,351170.000000,20250910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00459',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00918',0,415510.000000,20240924,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00459',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00918',1,831021.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00458',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00918',2,1523537.000000,20250124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00458',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00918',4,831021.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00458',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00918',6,356152.000000,20250924,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00458',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00917',0,415510.000000,20240924,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00457',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00917',1,831021.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00457',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00917',2,1523537.000000,20250124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00457',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00917',4,831021.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00457',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00917',6,356152.000000,20250924,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00456',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00916',0,415510.000000,20240924,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00456',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00916',1,831021.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00456',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00916',2,1523537.000000,20250124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00456',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00916',4,831021.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00455',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00916',6,356152.000000,20250924,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00455',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00915',0,415510.000000,20240924,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00455',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00915',1,831021.000000,20241103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00455',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00915',2,1523537.000000,20250124,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00454',0,2968000.000000,20230626,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00915',4,831021.000000,20250224,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00454',2,7420000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080134','3MX00915',6,356152.000000,20250924,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00454',4,2968000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080146','3MH00854',0,144000.000000,20231020,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230810','3MH00454',6,1484000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080146','3MH00854',1,288000.000000,20231219,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00348',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080146','3MH00854',2,144000.000000,20240420,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00348',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080146','3MH00854',4,72000.000000,20240520,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00348',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080146','3MH00854',6,72000.000000,20240620,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00348',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080160','4MW00013',0,370000.000000,20240103,1,1,370000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00347',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080160','4MW00013',2,925000.000000,20240630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00347',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080160','4MW00013',4,370000.000000,20240730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00347',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080160','4MW00013',6,185000.000000,20240830,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00347',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080160','4MW00012',0,370000.000000,20240103,1,1,370000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00346',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080160','4MW00012',2,925000.000000,20240630,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00346',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080160','4MW00012',4,370000.000000,20240730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00346',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080160','4MW00012',6,185000.000000,20240830,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00346',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080163','3MH00879',0,192000.000000,20231025,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00345',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080163','3MH00879',2,205000.000000,20240226,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00345',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080163','3MH00879',4,192000.000000,20240326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00345',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080163','3MH00879',6,64000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00345',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080166','4MX00011',0,408996.000000,20240102,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00344',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080166','4MX00011',2,1022490.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00344',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080166','4MX00011',4,408996.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00344',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080166','4MX00011',6,204498.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00344',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080166','4MX00010',0,408996.000000,20240102,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00343',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080166','4MX00010',2,1022490.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00343',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080166','4MX00010',4,408996.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00343',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080166','4MX00010',6,204498.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00343',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080173','3MX00862',0,444000.000000,20231012,1,1,444000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00342',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080173','3MX00862',2,592000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00342',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080173','3MX00862',4,296000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00342',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080173','3MX00862',6,148000.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00342',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080173','3MX00861',0,444000.000000,20231012,1,1,444000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00341',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080173','3MX00861',2,592000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00341',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080173','3MX00861',4,296000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00341',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080173','3MX00861',6,148000.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00341',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080175','3MW01028',0,194000.000000,20231130,1,1,194000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00340',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080175','3MW01028',2,485000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00340',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080175','3MW01028',4,194000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00340',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080175','3MW01028',6,97000.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00340',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080182','3MH01023',0,210000.000000,20231206,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00339',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080182','3MH01023',2,280000.000000,20251231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00339',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080182','3MH01023',4,140000.000000,20260202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00339',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080182','3MH01023',6,70000.000000,20260302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00339',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080183','4MH00081',0,166500.000000,20231213,1,1,166500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00338',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080183','4MH00081',2,222000.000000,20251231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00338',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080183','4MH00081',4,111000.000000,20260202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00338',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080183','4MH00081',6,55500.000000,20260302,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00338',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080187','3MW00805',0,303000.000000,20231006,1,1,3000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00337',0,1200000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080187','3MW00805',2,404000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00337',2,3000000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080187','3MW00805',4,202000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00337',4,1200000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080187','3MW00805',6,101000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230821','3MH00337',6,600000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080188','4MX00080',0,430000.000000,20240109,1,1,430000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230824','3MX00136',0,390000.000000,20230711,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080188','4MX00080',2,1075000.000000,20241231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230824','3MX00136',2,975000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080188','4MX00080',4,430000.000000,20250131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230824','3MX00136',4,390000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080188','4MX00080',6,215000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230824','3MX00136',6,195000.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23080188','4MX00079',0,430000.000000,20240109,1,1,430000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230824','3MX00135',0,390000.000000,20230711,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080188','4MX00079',2,1075000.000000,20241231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230824','3MX00135',2,975000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080188','4MX00079',4,430000.000000,20250131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230824','3MX00135',4,390000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23080188','4MX00079',6,215000.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230824','3MX00135',6,195000.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230802','3MX00406',0,172000.000000,20230711,1,1,172000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230825','3MX00138',0,440000.000000,20230711,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230802','3MX00406',2,430000.000000,20231031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230825','3MX00138',2,1100000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230802','3MX00406',4,172000.000000,20231130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230825','3MX00138',4,440000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230802','3MX00406',6,86000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230825','3MX00138',6,220000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230809','3MH00789',0,207000.000000,20231004,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230825','3MX00137',0,440000.000000,20230711,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230809','3MH00789',2,276000.000000,20240110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230825','3MX00137',2,1100000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230809','3MH00789',4,138000.000000,20240223,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230825','3MX00137',4,440000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230809','3MH00789',6,69000.000000,20240318,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230825','3MX00137',6,220000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00460',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230837','3MH00379',0,106000.000000,20230602,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00460',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230837','3MH00379',2,265000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00460',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230837','3MH00379',4,106000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00460',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230837','3MH00379',6,53000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00459',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00591',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00459',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00591',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00459',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00591',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00459',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00591',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00458',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00590',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00458',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00590',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00458',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00590',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00458',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00590',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00457',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00589',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00457',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00589',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00457',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00589',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00457',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00589',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00456',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00588',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00456',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00588',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00456',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00588',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00456',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00588',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00455',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00587',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00455',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00587',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00455',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00587',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00455',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00587',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00454',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00586',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00454',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00586',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00454',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00586',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00454',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00586',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00481',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00585',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00481',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00585',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00481',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00585',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00481',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00585',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00480',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00584',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00480',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00584',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00480',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00584',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00480',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00584',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00479',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00583',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00479',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00583',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00479',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00583',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00479',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00583',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00478',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00582',0,1123000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00478',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00582',2,2246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00478',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00582',4,1684500.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00478',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230838','3MH00582',6,561500.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00477',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230839','3MH00592',0,106000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00477',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230839','3MH00592',2,212000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00477',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230839','3MH00592',4,159000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00477',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230839','3MH00592',6,53000.000000,20240416,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00476',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230842','3MW00616',0,339000.000000,20230817,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00476',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230842','3MW00616',2,452000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00476',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230842','3MW00616',4,226000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00476',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230842','3MW00616',6,113000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00475',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230847','3MH00547',0,171000.000000,20230801,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00475',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230847','3MH00547',2,228000.000000,20231110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00475',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230847','3MH00547',4,114000.000000,20231211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00475',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230847','3MH00547',6,57000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00474',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230848','3MH00351',0,212000.000000,20230607,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00474',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230848','3MH00351',2,106000.000000,2023-08-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00474',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230848','3MH00351',4,159000.000000,20230907,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00474',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230848','3MH00351',6,53000.000000,20231006,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00473',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230851','3MW00558',0,360000.000000,20230810,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00473',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230851','3MW00558',2,480000.000000,20231015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00473',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230851','3MW00558',4,240000.000000,20231116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00473',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230851','3MW00558',6,120000.000000,20231218,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00472',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230860','3MH00349',0,192300.000000,20230705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00472',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230860','3MH00349',2,256400.000000,2023-12-11,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00472',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230860','3MH00349',4,128200.000000,20250122,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00472',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230860','3MH00349',6,64100.000000,20250228,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00471',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230861','3MH00429',0,124000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00471',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230861','3MH00429',2,310000.000000,2023-12-15,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00471',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230861','3MH00429',4,124000.000000,20231101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00471',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230861','3MH00429',6,62000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00470',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00638',0,966550.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00470',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00638',1,1933101.000000,20231218,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00470',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00638',2,3544017.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00470',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00638',4,1933101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00469',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00638',6,828472.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00469',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00637',0,966550.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00469',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00637',1,1933101.000000,20231218,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00469',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00637',2,3544017.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00468',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00637',4,1933101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00468',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00637',6,828472.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00468',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00636',0,966550.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00468',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00636',1,1933101.000000,20231218,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00467',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00636',2,3544017.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00467',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00636',4,1933101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00467',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00636',6,828472.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00467',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00635',0,966550.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00466',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00635',1,1933101.000000,20231218,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00466',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00635',2,3544017.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00466',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00635',4,1933101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00466',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00635',6,828472.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00465',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00634',0,966550.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00465',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00634',1,1933101.000000,20231218,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00465',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00634',2,3544017.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00465',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00634',4,1933101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00464',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00634',6,828472.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00464',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00633',0,966550.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00464',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00633',1,1933101.000000,20231218,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00464',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00633',2,3544017.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00463',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00633',4,1933101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00463',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00633',6,828472.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00463',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00632',0,966550.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00463',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00632',1,1933101.000000,20231218,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00462',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00632',2,3544017.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00462',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00632',4,1933101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00462',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00632',6,828472.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00462',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00631',0,966550.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230810','3MH00461',0,2968000.000000,20230626,1,1,2968000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00631',1,1933101.000000,20231218,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00461',2,7420000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00631',2,3544017.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00461',4,2968000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00631',4,1933101.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230810','3MH00461',6,1484000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230878','3MX00631',6,828472.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00348',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230881','3MW00415',0,258000.000000,20230628,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00348',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230881','3MW00415',2,308000.000000,20230910,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00348',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230881','3MW00415',4,258000.000000,20231010,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00348',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230881','3MW00415',6,86000.000000,20231110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00347',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00392',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00347',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00392',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00347',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00392',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00347',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00392',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00346',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00391',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00346',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00391',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00346',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00391',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00346',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00391',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00345',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00390',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00345',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00390',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00345',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00390',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00345',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00390',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00344',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00389',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00344',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00389',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00344',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00389',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00344',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00389',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00343',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00388',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00343',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00388',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00343',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00388',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00343',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00388',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00342',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00387',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00342',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00387',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00342',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00387',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00342',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00387',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00341',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00386',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00341',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00386',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00341',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00386',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00341',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00386',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00340',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00385',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00340',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00385',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00340',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00385',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00340',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00385',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00339',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00384',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00339',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00384',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00339',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00384',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00339',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00384',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00338',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00383',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00338',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00383',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00338',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00383',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00338',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00383',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00337',0,1200000.000000,20230921,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00382',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00337',2,3000000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00382',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00337',4,1200000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00382',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230821','3MH00337',6,600000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00382',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230824','3MX00136',0,390000.000000,20230711,1,0,0,390000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00381',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230824','3MX00136',2,975000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00381',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230824','3MX00136',4,390000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00381',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230824','3MX00136',6,195000.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00381',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230824','3MX00135',0,390000.000000,20230711,1,0,0,390000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00380',0,1352000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230824','3MX00135',2,975000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00380',2,3380000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230824','3MX00135',4,390000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00380',4,1352000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230824','3MX00135',6,195000.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230887','3MH00380',6,676000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230825','3MX00138',0,440000.000000,20230711,1,0,0,440000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230890','3MH00393',0,108000.000000,20230628,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230825','3MX00138',2,1100000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230890','3MH00393',2,280000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230825','3MX00138',4,440000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230890','3MH00393',4,108000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230825','3MX00138',6,220000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230890','3MH00393',6,54000.000000,20240216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230825','3MX00137',0,440000.000000,20230711,1,0,0,440000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230891','3MH00394',0,108000.000000,20230628,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230825','3MX00137',2,1100000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230891','3MH00394',2,280000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230825','3MX00137',4,440000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230891','3MH00394',4,108000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230825','3MX00137',6,220000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230891','3MH00394',6,54000.000000,20240216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230837','3MH00379',0,106000.000000,20230602,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230892','3MH00395',0,108000.000000,20230628,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230837','3MH00379',2,265000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230892','3MH00395',2,280000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230837','3MH00379',4,106000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230892','3MH00395',4,108000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230837','3MH00379',6,53000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230892','3MH00395',6,54000.000000,20240216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00585',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230893','3MH00396',0,108000.000000,20230628,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00585',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230893','3MH00396',2,280000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00585',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230893','3MH00396',4,108000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00585',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230893','3MH00396',6,54000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00584',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230894','3MH00397',0,108000.000000,20230628,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00584',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230894','3MH00397',2,280000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00584',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230894','3MH00397',4,108000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00584',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230894','3MH00397',6,54000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00583',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230895','3MH00398',0,104000.000000,20230628,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00583',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230895','3MH00398',2,260000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00583',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230895','3MH00398',4,104000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00583',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230895','3MH00398',6,52000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00582',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00354',0,486000.000000,20230610,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00582',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00354',2,486000.000000,2023-08-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00582',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00354',4,486000.000000,20230908,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00582',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00354',6,162000.000000,20231009,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00591',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00353',0,486000.000000,20230610,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00591',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00353',2,486000.000000,2023-08-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00591',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00353',4,486000.000000,20230908,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00591',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00353',6,162000.000000,20231009,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00590',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00352',0,486000.000000,20230610,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00590',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00352',2,486000.000000,2023-08-21,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00590',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00352',4,486000.000000,20230908,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00590',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230896','3MH00352',6,162000.000000,20231009,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00589',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230897','3MH00399',0,104000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00589',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230897','3MH00399',2,260000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00589',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230897','3MH00399',4,104000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00589',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230897','3MH00399',6,52000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00588',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230898','3MH00400',0,104000.000000,20230621,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00588',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230898','3MH00400',2,260000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00588',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230898','3MH00400',4,104000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00588',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230898','3MH00400',6,52000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00587',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230899','3MH00401',0,104000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00587',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230899','3MH00401',2,260000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00587',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230899','3MH00401',4,104000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00587',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230899','3MH00401',6,52000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00586',0,1123000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230900','3MH00402',0,104000.000000,20230620,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230838','3MH00586',2,2246000.000000,2024-01-08,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230900','3MH00402',2,260000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00586',4,1684500.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230900','3MH00402',4,104000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230838','3MH00586',6,561500.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230900','3MH00402',6,52000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230839','3MH00592',0,106000.000000,20230823,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090002','3MX00815',0,220000.000000,20231003,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230839','3MH00592',2,212000.000000,2024-01-09,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090002','3MX00815',2,550000.000000,20240420,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230839','3MH00592',4,159000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090002','3MX00815',4,220000.000000,20240520,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230839','3MH00592',6,53000.000000,20240416,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090002','3MX00815',6,110000.000000,20240620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230842','3MW00616',0,339000.000000,20230817,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090003','3MP00966',0,136000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230842','3MW00616',2,452000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090003','3MP00966',2,340000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230842','3MW00616',4,226000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090003','3MP00966',4,136000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230842','3MW00616',6,113000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090003','3MP00966',6,68000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230847','3MH00547',0,171000.000000,20230801,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00737',0,340000.000000,20230918,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230847','3MH00547',2,228000.000000,20231110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00737',2,850000.000000,20240102,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230847','3MH00547',4,114000.000000,20231211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00737',4,340000.000000,20240202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230847','3MH00547',6,57000.000000,20240110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00737',6,170000.000000,20240304,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230848','3MH00351',0,212000.000000,20230607,1,1,212000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00736',0,340000.000000,20230918,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230848','3MH00351',2,106000.000000,2023-08-17,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00736',2,850000.000000,20240102,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230848','3MH00351',4,159000.000000,20230907,1,1,159000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00736',4,340000.000000,20240202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230848','3MH00351',6,53000.000000,20231006,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00736',6,170000.000000,20240304,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230851','3MW00558',0,360000.000000,20230810,1,0,0,324000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00735',0,340000.000000,20230918,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230851','3MW00558',2,480000.000000,20231015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00735',2,850000.000000,20240102,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230851','3MW00558',4,240000.000000,20231116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00735',4,340000.000000,20240202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230851','3MW00558',6,120000.000000,20231218,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090038','3MH00735',6,170000.000000,20240304,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230860','3MH00349',0,192300.000000,20230705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090063','3MW00959',0,364000.000000,20231110,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230860','3MH00349',2,256400.000000,2023-12-11,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090063','3MW00959',2,910000.000000,20240410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230860','3MH00349',4,128200.000000,20250122,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090063','3MW00959',4,364000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230860','3MH00349',6,64100.000000,20250228,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090063','3MW00959',6,182000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230861','3MH00429',0,124000.000000,20230901,1,1,124000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090063','3MW00958',0,364000.000000,20231110,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230861','3MH00429',2,310000.000000,2023-12-15,1,1,310000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090063','3MW00958',2,910000.000000,20240410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230861','3MH00429',4,124000.000000,20231101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090063','3MW00958',4,364000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230861','3MH00429',6,62000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090063','3MW00958',6,182000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230876','4MH00009',0,132000.000000,20240103,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090068','3MW00940',0,294000.000000,20231114,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230876','4MH00009',2,330000.000000,20240430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090068','3MW00940',2,392000.000000,20250210,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230876','4MH00009',4,132000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090068','3MW00940',4,196000.000000,20250310,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230876','4MH00009',6,66000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090068','3MW00940',6,98000.000000,20250410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00638',0,966550.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090069','3MH00790',0,156000.000000,20231002,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00638',1,1933101.000000,20231218,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090069','3MH00790',2,156000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00638',2,3544017.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090069','3MH00790',4,156000.000000,20240216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00638',4,1933101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090069','3MH00790',6,52000.000000,20240304,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00638',6,828472.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090074','3MH00787',0,102000.000000,20230926,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00637',0,966550.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090074','3MH00787',2,340000.000000,20240410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00637',1,1933101.000000,20231218,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090074','3MH00787',4,170000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00637',2,3544017.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090074','3MH00787',6,68000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00637',4,1933101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00982',0,710540.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00637',6,828472.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00982',1,1421079.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00636',0,966550.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00982',2,2605312.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00636',1,1933101.000000,20231218,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00982',4,1421079.000000,20241231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00636',2,3544017.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00982',6,609034.000000,20250701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00636',4,1933101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00981',0,710540.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00636',6,828472.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00981',1,1421079.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00635',0,966550.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00981',2,2605312.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00635',1,1933101.000000,20231218,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00981',4,1421079.000000,20241231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00635',2,3544017.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00981',6,609034.000000,20250701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00635',4,1933101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00984',0,710540.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00635',6,828472.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00984',1,1421079.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00634',0,966550.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00984',2,2605312.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00634',1,1933101.000000,20231218,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00984',4,1421079.000000,20241231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00634',2,3544017.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00984',6,609034.000000,20250701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00634',4,1933101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00983',0,710540.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00634',6,828472.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00983',1,1421079.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00633',0,966550.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00983',2,2605312.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00633',1,1933101.000000,20231218,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00983',4,1421079.000000,20241231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00633',2,3544017.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00983',6,609034.000000,20250701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00633',4,1933101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00980',0,710540.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00633',6,828472.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00980',1,1421079.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00632',0,966550.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00980',2,2605312.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00632',1,1933101.000000,20231218,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00980',4,1421079.000000,20241231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00632',2,3544017.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00980',6,609034.000000,20250701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00632',4,1933101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00979',0,710540.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00632',6,828472.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00979',1,1421079.000000,20240810,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00631',0,966550.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00979',2,2605312.000000,20241031,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00631',1,1933101.000000,20231218,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00979',4,1421079.000000,20241231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00631',2,3544017.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090086','3MX00979',6,609034.000000,20250701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00631',4,1933101.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090095','3MW00845',0,220000.000000,20231017,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230878','3MX00631',6,828472.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090095','3MW00845',2,330000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230881','3MW00415',0,258000.000000,20230628,1,1,258000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090095','3MW00845',4,330000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230881','3MW00415',2,308000.000000,20230910,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090095','3MW00845',5,110000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230881','3MW00415',4,258000.000000,20231010,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090095','3MW00845',6,110000.000000,20240819,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230881','3MW00415',6,86000.000000,20231110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00846',0,486000.000000,20231018,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00392',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00846',2,729000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00392',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00846',4,729000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00392',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00846',5,243000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00392',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00846',6,243000.000000,20240819,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00391',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00847',0,486000.000000,20231018,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00391',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00847',2,729000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00391',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00847',4,729000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00391',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00847',5,243000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00390',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090096','3MW00847',6,243000.000000,20240819,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00390',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090097','3MH00848',0,166000.000000,20231017,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00390',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090097','3MH00848',2,249000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00390',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090097','3MH00848',4,249000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00389',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090097','3MH00848',5,83000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00389',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090097','3MH00848',6,83000.000000,20240819,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00389',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00812',0,442470.000000,20231216,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00389',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00812',1,884940.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00388',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00812',2,1622391.000000,20240329,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00388',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00812',4,884940.000000,20240429,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00388',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00812',6,379260.000000,20241129,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00388',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00811',0,442470.000000,20231216,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00387',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00811',1,884940.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00387',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00811',2,1622391.000000,20240329,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00387',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00811',4,884940.000000,20240429,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00387',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00811',6,379260.000000,20241129,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00386',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00810',0,442470.000000,20231216,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00386',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00810',1,884940.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00386',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00810',2,1622391.000000,20240329,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00386',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00810',4,884940.000000,20240429,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00385',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00810',6,379260.000000,20241129,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00385',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00809',0,442470.000000,20231216,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00385',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00809',1,884940.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00385',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00809',2,1622391.000000,20240329,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00384',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00809',4,884940.000000,20240429,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00384',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090105','3MX00809',6,379260.000000,20241129,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00384',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090111','3MH00877',0,106000.000000,20231103,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00384',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090111','3MH00877',2,265000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00383',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090111','3MH00877',4,106000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00383',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090111','3MH00877',6,53000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00383',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090113','3MH00813',0,225000.000000,20230928,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00383',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090113','3MH00813',2,225000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00382',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090113','3MH00813',4,225000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00382',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090113','3MH00813',6,75000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00382',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00844',0,756000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00382',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00844',2,1890000.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00381',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00844',4,756000.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00381',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00844',6,378000.000000,20240419,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00381',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00843',0,756000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00381',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00843',2,1890000.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00380',0,1352000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00843',4,756000.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00380',2,3380000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00843',6,378000.000000,20240419,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00380',4,1352000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00842',0,756000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230887','3MH00380',6,676000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00842',2,1890000.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230890','3MH00393',0,108000.000000,20230628,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00842',4,756000.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230890','3MH00393',2,280000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00842',6,378000.000000,20240419,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230890','3MH00393',4,108000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00841',0,756000.000000,20231016,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230890','3MH00393',6,54000.000000,20240216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00841',2,1890000.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230891','3MH00394',0,108000.000000,20230628,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00841',4,756000.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230891','3MH00394',2,280000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090130','3MW00841',6,378000.000000,20240419,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230891','3MH00394',4,108000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090132','3MX00860',0,230000.000000,20231024,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230891','3MH00394',6,54000.000000,20240216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090132','3MX00860',2,1150000.000000,20240614,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230892','3MH00395',0,108000.000000,20230628,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090132','3MX00860',4,690000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230892','3MH00395',2,280000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090132','3MX00860',6,230000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230892','3MH00395',4,108000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090132','3MX00859',0,230000.000000,20231024,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230892','3MH00395',6,54000.000000,20240216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090132','3MX00859',2,1150000.000000,20240614,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230893','3MH00396',0,108000.000000,20230628,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090132','3MX00859',4,690000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230893','3MH00396',2,280000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090132','3MX00859',6,230000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230893','3MH00396',4,108000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00858',0,400000.000000,20231024,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230893','3MH00396',6,54000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00858',2,2000000.000000,20240614,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230894','3MH00397',0,108000.000000,20230628,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00858',4,1200000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230894','3MH00397',2,280000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00858',6,400000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230894','3MH00397',4,108000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00857',0,400000.000000,20231024,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230894','3MH00397',6,54000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00857',2,2000000.000000,20240614,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230895','3MH00398',0,104000.000000,20230628,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00857',4,1200000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230895','3MH00398',2,260000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00857',6,400000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230895','3MH00398',4,104000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00856',0,400000.000000,20231024,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230895','3MH00398',6,52000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00856',2,2000000.000000,20240614,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00354',0,486000.000000,20230610,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00856',4,1200000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00354',2,486000.000000,2023-08-21,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00856',6,400000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00354',4,486000.000000,20230908,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00855',0,400000.000000,20231024,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230896','3MH00354',6,162000.000000,20231009,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00855',2,2000000.000000,20240614,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00353',0,486000.000000,20230610,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00855',4,1200000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00353',2,486000.000000,2023-08-21,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090140','3MW00855',6,400000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00353',4,486000.000000,20230908,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090142','3MH00851',0,248000.000000,20231017,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230896','3MH00353',6,162000.000000,20231009,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090142','3MH00851',2,620000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00352',0,486000.000000,20230610,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090142','3MH00851',4,248000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00352',2,486000.000000,2023-08-21,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090142','3MH00851',6,124000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230896','3MH00352',4,486000.000000,20230908,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090142','3MH00850',0,248000.000000,20231017,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230896','3MH00352',6,162000.000000,20231009,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090142','3MH00850',2,620000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230897','3MH00399',0,104000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090142','3MH00850',4,248000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230897','3MH00399',2,260000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090142','3MH00850',6,124000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230897','3MH00399',4,104000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090150','3MP00865',0,204000.000000,20231031,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230897','3MH00399',6,52000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090150','3MP00865',2,204000.000000,20240102,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230898','3MH00400',0,104000.000000,20230621,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090150','3MP00865',4,204000.000000,20240202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230898','3MH00400',2,260000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23090150','3MP00865',6,68000.000000,20240304,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230898','3MH00400',4,104000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230903','3MH00412',0,159000.000000,20230619,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230898','3MH00400',6,52000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230903','3MH00412',2,159000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230899','3MH00401',0,104000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230903','3MH00412',4,159000.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230899','3MH00401',2,260000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230903','3MH00412',6,53000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230899','3MH00401',4,104000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230904','3MW00413',0,234000.000000,20230619,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230899','3MH00401',6,52000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230904','3MW00413',2,234000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230900','3MH00402',0,104000.000000,20230620,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230904','3MW00413',4,234000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230900','3MH00402',2,260000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230904','3MW00413',6,78000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230900','3MH00402',4,104000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230910','3MH00418',0,112000.000000,20230621,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230900','3MH00402',6,52000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230910','3MH00418',2,280000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090002','3MX00815',0,220000.000000,20231003,1,1,220000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230910','3MH00418',4,112000.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090002','3MX00815',2,550000.000000,20240420,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230910','3MH00418',6,56000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090002','3MX00815',4,220000.000000,20240520,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230927','3MW00419',0,192000.000000,20230627,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090002','3MX00815',6,110000.000000,20240620,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230927','3MW00419',2,480000.000000,2023-12-15,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090003','3MP00966',0,136000.000000,20231120,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230927','3MW00419',4,192000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090003','3MP00966',2,340000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230927','3MW00419',6,96000.000000,20240122,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090003','3MP00966',4,136000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00751',0,993254.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090003','3MP00966',6,68000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00751',1,1986508.000000,20240512,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090031','4MW00003',0,198000.000000,20240102,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00751',2,3641932.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090031','4MW00003',2,495000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00751',4,1986508.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090031','4MW00003',4,198000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00751',6,851361.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090031','4MW00003',6,99000.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00757',0,993254.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00737',0,340000.000000,20230918,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00757',1,1986508.000000,20240512,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090038','3MH00737',2,850000.000000,2024-01-04,1,1,287500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00757',2,3641932.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00737',4,340000.000000,20240202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00757',4,1986508.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00737',6,170000.000000,20240304,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00757',6,851361.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00736',0,340000.000000,20230918,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00754',0,993254.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090038','3MH00736',2,850000.000000,2024-01-04,1,1,287500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00754',1,1986508.000000,20240512,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00736',4,340000.000000,20240202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00754',2,3641932.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00736',6,170000.000000,20240304,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00754',4,1986508.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00735',0,340000.000000,20230918,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00754',6,851361.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090038','3MH00735',2,850000.000000,2024-01-04,1,1,287500,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00752',0,993254.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00735',4,340000.000000,20240202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00752',1,1986508.000000,20240512,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090038','3MH00735',6,170000.000000,20240304,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00752',2,3641932.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090040','4MH00060',0,103600.000000,20231121,1,1,103600,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00752',4,1986508.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090040','4MH00060',2,259000.000000,20240626,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00752',6,851361.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090040','4MH00060',4,103600.000000,20240726,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00750',0,993254.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090040','4MH00060',6,51800.000000,20240826,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00750',1,1986508.000000,20240512,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090041','4MH00059',0,103600.000000,20231121,1,1,103600,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00750',2,3641932.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090041','4MH00059',2,259000.000000,20240626,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00750',4,1986508.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090041','4MH00059',4,103600.000000,20240726,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00750',6,851361.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090041','4MH00059',6,51800.000000,20240826,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00756',0,993254.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090063','3MW00959',0,364000.000000,20231110,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00756',1,1986508.000000,20240512,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090063','3MW00959',2,910000.000000,20240410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00756',2,3641932.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090063','3MW00959',4,364000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00756',4,1986508.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090063','3MW00959',6,182000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00756',6,851361.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090063','3MW00958',0,364000.000000,20231110,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00755',0,993254.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090063','3MW00958',2,910000.000000,20240410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00755',1,1986508.000000,20240512,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090063','3MW00958',4,364000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00755',2,3641932.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090063','3MW00958',6,182000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00755',4,1986508.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090068','3MW00940',0,294000.000000,20231114,1,1,294000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00755',6,851361.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090068','3MW00940',2,392000.000000,20250210,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00753',0,993254.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090068','3MW00940',4,196000.000000,20250310,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00753',1,1986508.000000,20240512,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090068','3MW00940',6,98000.000000,20250410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00753',2,3641932.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090069','3MH00790',0,156000.000000,20231002,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00753',4,1986508.000000,20240801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090069','3MH00790',2,156000.000000,20240110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230935','3MX00753',6,851361.000000,20250303,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090069','3MH00790',4,156000.000000,20240216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00696',0,1681175.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090069','3MH00790',6,52000.000000,20240304,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00696',2,3362350.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090074','3MH00787',0,102000.000000,20230926,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00696',4,2101469.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090074','3MH00787',2,340000.000000,20240410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00696',5,840587.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090074','3MH00787',4,170000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00696',6,420294.000000,20240905,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090074','3MH00787',6,68000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00699',0,1681175.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01040',0,569578.000000,20240327,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00699',2,3362350.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01040',1,1139155.000000,20240506,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00699',4,2101469.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01040',2,2088452.000000,20240726,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00699',5,840587.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01040',4,1139155.000000,20240826,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00699',6,420294.000000,20240905,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01040',6,488209.000000,20250326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00698',0,1681175.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01039',0,569578.000000,20240327,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00698',2,3362350.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01039',1,1139155.000000,20240506,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00698',4,2101469.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01039',2,2088452.000000,20240726,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00698',5,840587.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01039',4,1139155.000000,20240826,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00698',6,420294.000000,20240905,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01039',6,488209.000000,20250326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00697',0,1681175.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01038',0,569578.000000,20240327,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00697',2,3362350.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01038',1,1139155.000000,20240506,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00697',4,2101469.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01038',2,2088452.000000,20240726,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00697',5,840587.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01038',4,1139155.000000,20240826,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00697',6,420294.000000,20240905,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01038',6,488209.000000,20250326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00695',0,1681175.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01037',0,569578.000000,20240327,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00695',2,3362350.000000,20240605,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01037',1,1139155.000000,20240506,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00695',4,2101469.000000,20240705,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01037',2,2088452.000000,20240726,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00695',5,840587.000000,20240805,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01037',4,1139155.000000,20240826,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230936','3MW00695',6,420294.000000,20240905,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01037',6,488209.000000,20250326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230942','3MH00499',0,112000.000000,20230705,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01042',0,569578.000000,20240327,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230942','3MH00499',2,280000.000000,20231230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01042',1,1139155.000000,20240506,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230942','3MH00499',4,112000.000000,20240130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01042',2,2088452.000000,20240726,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230942','3MH00499',6,56000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01042',4,1139155.000000,20240826,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230943','3MH00409',0,348000.000000,20230623,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01042',6,488209.000000,20250326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230943','3MH00409',2,464000.000000,2023-10-12,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01041',0,569578.000000,20240327,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230943','3MH00409',4,232000.000000,20231230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01041',1,1139155.000000,20240506,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230943','3MH00409',6,116000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01041',2,2088452.000000,20240726,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230943','3MH00408',0,348000.000000,20230623,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01041',4,1139155.000000,20240826,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230943','3MH00408',2,464000.000000,2023-10-12,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090082','3MX01041',6,488209.000000,20250326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230943','3MH00408',4,232000.000000,20231230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00982',0,710540.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230943','3MH00408',6,116000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00982',1,1421079.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00529',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00982',2,2605312.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00529',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00982',4,1421079.000000,20241231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00529',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00982',6,609034.000000,20250701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00529',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00981',0,710540.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00528',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00981',1,1421079.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00528',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00981',2,2605312.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00528',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00981',4,1421079.000000,20241231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00528',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00981',6,609034.000000,20250701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00527',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00984',0,710540.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00527',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00984',1,1421079.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00527',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00984',2,2605312.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00527',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00984',4,1421079.000000,20241231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00526',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00984',6,609034.000000,20250701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00526',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00983',0,710540.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00526',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00983',1,1421079.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00526',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00983',2,2605312.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00525',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00983',4,1421079.000000,20241231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00525',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00983',6,609034.000000,20250701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00525',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00980',0,710540.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00525',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00980',1,1421079.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00524',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00980',2,2605312.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00524',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00980',4,1421079.000000,20241231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00524',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00980',6,609034.000000,20250701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00524',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00979',0,710540.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00523',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00979',1,1421079.000000,20240810,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00523',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00979',2,2605312.000000,20241031,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00523',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00979',4,1421079.000000,20241231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00523',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090086','3MX00979',6,609034.000000,20250701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00522',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090095','3MW00845',0,220000.000000,20231017,1,1,220000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00522',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090095','3MW00845',2,330000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00522',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090095','3MW00845',4,330000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00522',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090095','3MW00845',5,110000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00521',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090095','3MW00845',6,110000.000000,20240819,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00521',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090096','3MW00847',0,486000.000000,20231018,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00521',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090096','3MW00847',2,729000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00521',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090096','3MW00847',4,729000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00520',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090096','3MW00847',5,243000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00520',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090096','3MW00847',6,243000.000000,20240819,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00520',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090096','3MW00846',0,486000.000000,20231018,1,1,486000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00520',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090096','3MW00846',2,729000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00519',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090096','3MW00846',4,729000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00519',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090096','3MW00846',5,243000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00519',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090096','3MW00846',6,243000.000000,20240819,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00519',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090097','3MH00848',0,166000.000000,20231017,1,1,166000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00518',0,1248000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090097','3MH00848',2,249000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00518',2,3120000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090097','3MH00848',4,249000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00518',4,1248000.000000,20240209,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090097','3MH00848',5,83000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230947','3MH00518',6,624000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090097','3MH00848',6,83000.000000,20240819,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230954','3MX00536',0,292000.000000,20230709,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090101','3MH00884',0,348000.000000,20231027,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230954','3MX00536',2,730000.000000,20231119,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090101','3MH00884',2,348000.000000,20240227,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230954','3MX00536',4,292000.000000,20231219,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090101','3MH00884',4,348000.000000,20240327,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230954','3MX00536',6,146000.000000,20240119,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090101','3MH00884',6,116000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230967','3MH00853',0,107000.000000,20231019,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090101','3MH00883',0,348000.000000,20231027,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230967','3MH00853',2,267500.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090101','3MH00883',2,348000.000000,20240227,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230967','3MH00853',4,107000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090101','3MH00883',4,348000.000000,20240327,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230967','3MH00853',6,53500.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090101','3MH00883',6,116000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230968','3MH00485',0,104000.000000,20230707,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090105','3MX00812',0,442470.000000,20231210,1,1,442470,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230968','3MH00485',2,260000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00812',1,884940.000000,20240119,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230968','3MH00485',4,104000.000000,20240129,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00812',2,1622391.000000,20240329,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230968','3MH00485',6,52000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00812',4,884940.000000,20240429,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230969','3MH00541',0,159000.000000,20230628,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00812',6,379260.000000,20241129,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230969','3MH00541',2,159000.000000,20240310,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090105','3MX00811',0,442470.000000,20231210,1,1,442470,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230969','3MH00541',4,159000.000000,20240410,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00811',1,884940.000000,20240119,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230969','3MH00541',6,53000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00811',2,1622391.000000,20240329,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230971','3MH00486',0,110000.000000,20230710,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00811',4,884940.000000,20240429,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230971','3MH00486',2,275000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00811',6,379260.000000,20241129,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230971','3MH00486',4,110000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090105','3MX00810',0,442470.000000,20231210,1,1,442470,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230971','3MH00486',6,55000.000000,20240227,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00810',1,884940.000000,20240119,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230982','3MW00490',0,630000.000000,20230712,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00810',2,1622391.000000,20240329,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230982','3MW00490',2,840000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00810',4,884940.000000,20240429,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230982','3MW00490',4,420000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00810',6,379260.000000,20241129,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230982','3MW00490',6,210000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090105','3MX00809',0,442470.000000,20231210,1,1,442470,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230982','3MW00489',0,630000.000000,20230712,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00809',1,884940.000000,20240119,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230982','3MW00489',2,840000.000000,20231201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00809',2,1622391.000000,20240329,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230982','3MW00489',4,420000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00809',4,884940.000000,20240429,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230982','3MW00489',6,210000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090105','3MX00809',6,379260.000000,20241129,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01000',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090111','3MH00877',0,106000.000000,20231103,1,1,106000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01000',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090111','3MH00877',2,265000.000000,20240430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01000',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090111','3MH00877',4,106000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01000',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090111','3MH00877',6,53000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01000',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090113','3MH00813',0,225000.000000,20230928,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00999',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090113','3MH00813',2,225000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00999',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090113','3MH00813',4,225000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00999',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090113','3MH00813',6,75000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00999',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090118','4MH00078',0,104000.000000,20240103,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00999',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090118','4MH00078',2,260000.000000,20240601,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00996',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090118','4MH00078',4,104000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00996',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090118','4MH00078',6,52000.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00996',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00844',0,756000.000000,20231016,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00996',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00844',2,1890000.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00996',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00844',4,756000.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01007',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00844',6,378000.000000,20240419,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01007',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00843',0,756000.000000,20231016,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01007',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00843',2,1890000.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01007',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00843',4,756000.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01007',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00843',6,378000.000000,20240419,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01004',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00842',0,756000.000000,20231016,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01004',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00842',2,1890000.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01004',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00842',4,756000.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01004',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00842',6,378000.000000,20240419,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01004',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00841',0,756000.000000,20231016,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01002',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00841',2,1890000.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01002',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00841',4,756000.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01002',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090130','3MW00841',6,378000.000000,20240419,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01002',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090132','3MX00860',0,230000.000000,20231024,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01002',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090132','3MX00860',2,1150000.000000,20240614,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01001',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090132','3MX00860',4,690000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01001',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090132','3MX00860',6,230000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01001',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090132','3MX00859',0,230000.000000,20231024,1,1,230000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01001',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090132','3MX00859',2,1150000.000000,20240614,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01001',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090132','3MX00859',4,690000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00998',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090132','3MX00859',6,230000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00998',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090136','4MW00002',0,198000.000000,20240102,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00998',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090136','4MW00002',2,495000.000000,20240730,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00998',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090136','4MW00002',4,198000.000000,20240830,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00998',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090136','4MW00002',6,99000.000000,20240930,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00997',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090137','4MX00076',0,336000.000000,20231025,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00997',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090137','4MX00076',2,840000.000000,20240731,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00997',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090137','4MX00076',4,336000.000000,20240902,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00997',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090137','4MX00076',6,168000.000000,20241002,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX00997',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090140','3MW00858',0,400000.000000,20231024,1,1,400000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01006',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00858',2,2000000.000000,20240614,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01006',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00858',4,1200000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01006',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00858',6,400000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01006',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090140','3MW00857',0,400000.000000,20231024,1,1,400000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01006',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00857',2,2000000.000000,20240614,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01005',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00857',4,1200000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01005',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00857',6,400000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01005',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090140','3MW00856',0,400000.000000,20231024,1,1,400000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01005',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00856',2,2000000.000000,20240614,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01005',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00856',4,1200000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01003',0,1478503.000000,20241112,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00856',6,400000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01003',1,2957007.000000,20241222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090140','3MW00855',0,400000.000000,20231024,1,1,400000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01003',2,5421179.000000,20250312,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00855',2,2000000.000000,20240614,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01003',4,2957007.000000,20250414,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00855',4,1200000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230993','3MX01003',6,1267289.000000,20251114,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090140','3MW00855',6,400000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00269',0,990000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090142','3MH00851',0,248000.000000,20231017,1,1,248000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00269',2,990000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090142','3MH00851',2,620000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00269',4,990000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090142','3MH00851',4,248000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00269',6,330000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090142','3MH00851',6,124000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00268',0,990000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090142','3MH00850',0,248000.000000,20231017,1,1,248000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00268',2,990000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090142','3MH00850',2,620000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00268',4,990000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090142','3MH00850',4,248000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00268',6,330000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090142','3MH00850',6,124000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00270',0,990000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23090150','3MP00865',0,204000.000000,20231031,1,1,204000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00270',2,990000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090150','3MP00865',2,204000.000000,20240102,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00270',4,990000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090150','3MP00865',4,204000.000000,20240202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00270',6,330000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23090150','3MP00865',6,68000.000000,20240304,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00271',0,990000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230903','3MH00412',0,159000.000000,20230619,1,0,0,159000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00271',2,990000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230903','3MH00412',2,159000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00271',4,990000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230903','3MH00412',4,159000.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00271',6,330000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230903','3MH00412',6,53000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00272',0,990000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230904','3MW00413',0,234000.000000,20230619,1,0,0,234000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00272',2,990000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230904','3MW00413',2,234000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00272',4,990000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230904','3MW00413',4,234000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00272',6,330000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230904','3MW00413',6,78000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00273',0,990000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230910','3MH00418',0,112000.000000,20230621,1,0,0,112000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00273',2,990000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230910','3MH00418',2,280000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00273',4,990000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230910','3MH00418',4,112000.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230994','3MH00273',6,330000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230910','3MH00418',6,56000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230998','3MX00510',0,228000.000000,20221025,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230927','3MW00419',0,192000.000000,20230627,1,0,0,192000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230998','3MX00510',2,228000.000000,20240620,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230927','3MW00419',2,480000.000000,2023-12-15,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230998','3MX00510',4,228000.000000,20240722,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230927','3MW00419',4,192000.000000,20231220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M230998','3MX00510',6,76000.000000,20240822,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230927','3MW00419',6,96000.000000,20240122,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100004','3MH00964',0,216000.000000,20231117,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00756',0,993254.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100004','3MH00964',2,216000.000000,20240615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00756',1,1986508.000000,20240512,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100004','3MH00964',4,216000.000000,20240715,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00756',2,3641932.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100004','3MH00964',6,72000.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00756',4,1986508.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100012','3MH00923',0,174000.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00756',6,851361.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100012','3MH00923',2,174000.000000,20240223,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00755',0,993254.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100012','3MH00923',4,174000.000000,20240325,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00755',1,1986508.000000,20240512,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100012','3MH00923',6,58000.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00755',2,3641932.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100019','3MH00882',0,195000.000000,20231026,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00755',4,1986508.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100019','3MH00882',2,195000.000000,20240105,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00755',6,851361.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100019','3MH00882',4,195000.000000,20240205,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00753',0,993254.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100019','3MH00882',6,65000.000000,20240305,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00753',1,1986508.000000,20240512,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100024','3MH00797',0,236250.000000,20231004,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00753',2,3641932.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100024','3MH00797',2,315000.000000,2023-12-05,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00753',4,1986508.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100024','3MH00797',4,157500.000000,20231218,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00753',6,851361.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100024','3MH00797',6,78750.000000,20240118,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00751',0,993254.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100027','3MX00969',0,436800.000000,20231129,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00751',1,1986508.000000,20240512,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100027','3MX00969',2,436800.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00751',2,3641932.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100027','3MX00969',4,436800.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00751',4,1986508.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100027','3MX00969',6,145600.000000,20241016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00751',6,851361.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100027','3MX00968',0,436800.000000,20231129,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00757',0,993254.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100027','3MX00968',2,436800.000000,20240815,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00757',1,1986508.000000,20240512,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100027','3MX00968',4,436800.000000,20240916,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00757',2,3641932.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100027','3MX00968',6,145600.000000,20241016,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00757',4,1986508.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100051','3MH00926',0,159000.000000,20231023,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00757',6,851361.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100051','3MH00926',2,159000.000000,20240219,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00754',0,993254.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100051','3MH00926',4,159000.000000,20240319,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00754',1,1986508.000000,20240512,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100051','3MH00926',6,53000.000000,20240419,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00754',2,3641932.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100061','3MH00938',0,144000.000000,20231113,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00754',4,1986508.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100061','3MH00938',2,360000.000000,20240408,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00754',6,851361.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100061','3MH00938',4,144000.000000,20240508,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00752',0,993254.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100061','3MH00938',6,72000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00752',1,1986508.000000,20240512,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100063','3MH00880',0,162000.000000,20231031,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00752',2,3641932.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100063','3MH00880',2,162000.000000,20240105,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00752',4,1986508.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100063','3MH00880',4,162000.000000,20240205,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00752',6,851361.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100063','3MH00880',6,54000.000000,20240305,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00750',0,993254.000000,20240402,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00954',0,954000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00750',1,1986508.000000,20240512,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00954',2,954000.000000,20240226,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00750',2,3641932.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00954',4,954000.000000,20240326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00750',4,1986508.000000,20240801,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00954',6,318000.000000,20240426,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230935','3MX00750',6,851361.000000,20250303,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00953',0,954000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00698',0,1681175.000000,20230922,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00953',2,954000.000000,20240226,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00698',2,3362350.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00953',4,954000.000000,20240326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00698',4,2101469.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00953',6,318000.000000,20240426,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00698',5,840587.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00952',0,954000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00698',6,420294.000000,20240905,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00952',2,954000.000000,20240226,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00697',0,1681175.000000,20230922,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00952',4,954000.000000,20240326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00697',2,3362350.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00952',6,318000.000000,20240426,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00697',4,2101469.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00951',0,954000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00697',5,840587.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00951',2,954000.000000,20240226,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00697',6,420294.000000,20240905,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00951',4,954000.000000,20240326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00695',0,1681175.000000,20230922,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00951',6,318000.000000,20240426,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00695',2,3362350.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00956',0,954000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00695',4,2101469.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00956',2,954000.000000,20240226,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00695',5,840587.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00956',4,954000.000000,20240326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00695',6,420294.000000,20240905,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00956',6,318000.000000,20240426,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00696',0,1681175.000000,20230922,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00955',0,954000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00696',2,3362350.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00955',2,954000.000000,20240226,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00696',4,2101469.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00955',4,954000.000000,20240326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00696',5,840587.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100065','3MH00955',6,318000.000000,20240426,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00696',6,420294.000000,20240905,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01046',0,840000.000000,20231207,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00699',0,1681175.000000,20230922,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01046',2,1120000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00699',2,3362350.000000,20240605,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01046',4,560000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00699',4,2101469.000000,20240705,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01046',6,280000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00699',5,840587.000000,20240805,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01045',0,840000.000000,20231207,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230936','3MW00699',6,420294.000000,20240905,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01045',2,1120000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230942','3MH00499',0,112000.000000,20230705,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01045',4,560000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230942','3MH00499',2,280000.000000,20231230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01045',6,280000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230942','3MH00499',4,112000.000000,20240130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01044',0,840000.000000,20231207,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230942','3MH00499',6,56000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01044',2,1120000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230943','3MH00409',0,348000.000000,20230623,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01044',4,560000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230943','3MH00409',2,464000.000000,2023-10-12,1,1,464000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01044',6,280000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230943','3MH00409',4,232000.000000,20231230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01043',0,840000.000000,20231207,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230943','3MH00409',6,116000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01043',2,1120000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230943','3MH00408',0,348000.000000,20230623,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01043',4,560000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230943','3MH00408',2,464000.000000,2023-10-12,1,1,464000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100076','3MH01043',6,280000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230943','3MH00408',4,232000.000000,20231230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100078','3MH00977',0,199500.000000,20231123,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230943','3MH00408',6,116000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100078','3MH00977',2,266000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00529',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100078','3MH00977',4,133000.000000,20240812,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00529',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100078','3MH00977',6,66500.000000,20240912,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00529',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100082','3MH00978',0,174000.000000,20231129,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00529',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100082','3MH00978',2,174000.000000,20240325,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00528',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100082','3MH00978',4,174000.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00528',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100082','3MH00978',6,58000.000000,20240527,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00528',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100089','3MP00937',0,140000.000000,20231108,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00528',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100089','3MP00937',2,350000.000000,20240325,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00527',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100089','3MP00937',4,140000.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00527',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100089','3MP00937',6,70000.000000,20240527,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00527',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100091','3MH01031',0,140000.000000,20231206,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00527',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100091','3MH01031',2,350000.000000,20240417,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00526',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100091','3MH01031',4,140000.000000,20240517,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00526',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100091','3MH01031',6,70000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00526',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100102','3MP00936',0,156000.000000,20231103,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00526',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100102','3MP00936',2,390000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00525',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100102','3MP00936',4,156000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00525',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100102','3MP00936',6,78000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00525',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100104','3MW00927',0,255000.000000,20231103,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00525',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100104','3MW00927',2,255000.000000,20240103,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00524',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100104','3MW00927',4,255000.000000,20240205,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00524',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100104','3MW00927',6,85000.000000,20240305,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00524',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100120','3MX00935',0,360000.000000,20231109,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00524',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100120','3MX00935',2,900000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00523',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100120','3MX00935',4,360000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00523',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100120','3MX00935',6,180000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00523',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100120','3MX00934',0,360000.000000,20231109,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00523',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100120','3MX00934',2,900000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00522',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100120','3MX00934',4,360000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00522',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100120','3MX00934',6,180000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00522',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100126','3MH01029',0,118000.000000,20231130,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00522',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100126','3MH01029',2,295000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00521',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100126','3MH01029',4,118000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00521',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100126','3MH01029',6,59000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00521',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100129','3MH00957',0,195000.000000,20231116,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00521',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100129','3MH00957',2,195000.000000,20240222,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00520',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100129','3MH00957',4,195000.000000,20240322,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00520',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100129','3MH00957',6,65000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00520',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100133','3MH00962',0,183000.000000,20231117,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00520',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100133','3MH00962',2,183000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00519',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100133','3MH00962',4,183000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00519',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100133','3MH00962',6,61000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00519',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100135','3MH01047',0,225000.000000,20231208,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00519',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100135','3MH01047',2,300000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00518',0,1248000.000000,20230831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100135','3MH01047',4,150000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00518',2,3120000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100135','3MH01047',6,75000.000000,20240717,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00518',4,1248000.000000,20240209,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100138','3MH01034',0,201000.000000,20231213,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230947','3MH00518',6,624000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100138','3MH01034',2,201000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230954','3MX00536',0,292000.000000,20230709,1,0,0,284700 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100138','3MH01034',4,201000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230954','3MX00536',2,730000.000000,20231119,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100138','3MH01034',6,67000.000000,20240617,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230954','3MX00536',4,292000.000000,20231219,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100139','3MH01019',0,159000.000000,20231201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230954','3MX00536',6,146000.000000,20240119,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100139','3MH01019',2,159000.000000,20241015,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230955','4MW00015',0,370000.000000,20240103,1,1,370000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100139','3MH01019',4,159000.000000,20241115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230955','4MW00015',2,925000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100139','3MH01019',6,53000.000000,20241216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230955','4MW00015',4,370000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100140','3MH01048',0,159000.000000,20231216,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230955','4MW00015',6,185000.000000,20250116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100140','3MH01048',2,149000.000000,20240311,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230955','4MW00014',0,370000.000000,20240103,1,1,370000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100140','3MH01048',4,159000.000000,20240411,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230955','4MW00014',2,925000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23100140','3MH01048',6,53000.000000,20240513,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230955','4MW00014',4,370000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231002','3MW00965',0,201600.000000,20231128,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230955','4MW00014',6,185000.000000,20250116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231002','3MW00965',2,504000.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230967','3MH00853',0,107000.000000,20231019,1,1,107000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231002','3MW00965',4,201600.000000,20240527,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230967','3MH00853',2,267500.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231002','3MW00965',6,100800.000000,20240627,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230967','3MH00853',4,107000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00711',0,1064000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230967','3MH00853',6,53500.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00711',2,2660000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230968','3MH00485',0,104000.000000,20230707,1,1,104000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00711',4,1064000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230968','3MH00485',2,260000.000000,20231229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00711',6,532000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230968','3MH00485',4,104000.000000,20240129,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00710',0,1064000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230968','3MH00485',6,52000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00710',2,2660000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230969','3MH00541',0,159000.000000,20230628,1,0,0,159000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00710',4,1064000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230969','3MH00541',2,159000.000000,20240310,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00710',6,532000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230969','3MH00541',4,159000.000000,20240410,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00709',0,1064000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230969','3MH00541',6,53000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00709',2,2660000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230971','3MH00486',0,110000.000000,20230710,1,0,0,110000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00709',4,1064000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230971','3MH00486',2,275000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00709',6,532000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230971','3MH00486',4,110000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00708',0,1064000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230971','3MH00486',6,55000.000000,20240227,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00708',2,2660000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230982','3MW00490',0,630000.000000,20230712,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00708',4,1064000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230982','3MW00490',2,840000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00708',6,532000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230982','3MW00490',4,420000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00707',0,1064000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230982','3MW00490',6,210000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00707',2,2660000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230982','3MW00489',0,630000.000000,20230712,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00707',4,1064000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230982','3MW00489',2,840000.000000,20231201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00707',6,532000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230982','3MW00489',4,420000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00706',0,1064000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230982','3MW00489',6,210000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00706',2,2660000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01007',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00706',4,1064000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01007',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00706',6,532000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01007',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00705',0,1064000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01007',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00705',2,2660000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01007',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00705',4,1064000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01004',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00705',6,532000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01004',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00704',0,1064000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01004',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00704',2,2660000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01004',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00704',4,1064000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01004',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231003','3MH00704',6,532000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01002',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00876',0,318000.000000,20231018,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01002',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00876',2,795000.000000,20240221,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01002',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00876',4,318000.000000,20240321,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01002',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00876',6,159000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01002',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00875',0,318000.000000,20231018,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01001',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00875',2,795000.000000,20240221,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01001',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00875',4,318000.000000,20240321,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01001',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00875',6,159000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01001',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00874',0,318000.000000,20231018,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01001',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00874',2,795000.000000,20240221,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00998',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00874',4,318000.000000,20240321,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00998',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231006','3MH00874',6,159000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00998',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00679',0,1049727.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00998',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00679',1,2099454.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00998',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00679',2,3848998.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00997',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00679',4,2099454.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00997',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00679',6,899766.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00997',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00678',0,1049727.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00997',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00678',1,2099454.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00997',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00678',2,3848998.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01006',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00678',4,2099454.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01006',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00678',6,899766.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01006',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00677',0,1049727.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01006',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00677',1,2099454.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01006',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00677',2,3848998.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01005',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00677',4,2099454.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01005',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00677',6,899766.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01005',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00676',0,1049727.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01005',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00676',1,2099454.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01005',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00676',2,3848998.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01003',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00676',4,2099454.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01003',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00676',6,899766.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01003',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00675',0,1049727.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01003',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00675',1,2099454.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01003',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00675',2,3848998.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01000',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00675',4,2099454.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01000',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00675',6,899766.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01000',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00674',0,1049727.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01000',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00674',1,2099454.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX01000',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00674',2,3848998.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00999',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00674',4,2099454.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00999',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00674',6,899766.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00999',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00673',0,1049727.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00999',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00673',1,2099454.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00999',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00673',2,3848998.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00996',0,1478503.000000,20241112,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00673',4,2099454.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00996',1,2957007.000000,20241222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00673',6,899766.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00996',2,5421179.000000,20250312,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00672',0,1049727.000000,20231107,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00996',4,2957007.000000,20250414,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00672',1,2099454.000000,20231217,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230993','3MX00996',6,1267289.000000,20251114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00672',2,3848998.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230994','3MH00271',0,990000.000000,20230922,1,1,990000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00672',4,2099454.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00271',2,990000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231009','3MX00672',6,899766.000000,20241202,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00271',4,990000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00922',0,444494.000000,20240901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00271',6,330000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00922',1,888987.000000,20241011,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230994','3MH00272',0,990000.000000,20230922,1,1,990000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00922',2,1629810.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00272',2,990000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00922',4,888987.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00272',4,990000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00922',6,380994.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00272',6,330000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00921',0,444494.000000,20240901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230994','3MH00273',0,990000.000000,20230922,1,1,990000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00921',1,888987.000000,20241011,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00273',2,990000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00921',2,1629810.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00273',4,990000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00921',4,888987.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00273',6,330000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00921',6,380994.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230994','3MH00269',0,990000.000000,20230922,1,1,990000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00920',0,444494.000000,20240901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00269',2,990000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00920',1,888987.000000,20241011,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00269',4,990000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00920',2,1629810.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00269',6,330000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00920',4,888987.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230994','3MH00268',0,990000.000000,20230922,1,1,990000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00920',6,380994.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00268',2,990000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00919',0,444494.000000,20240901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00268',4,990000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00919',1,888987.000000,20241011,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00268',6,330000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00919',2,1629810.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M230994','3MH00270',0,990000.000000,20230922,1,1,990000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00919',4,888987.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00270',2,990000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231010','3MX00919',6,380994.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00270',4,990000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00615',0,207455.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230994','3MH00270',6,330000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00615',1,414910.000000,20240203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230998','3MX00510',0,228000.000000,20221025,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00615',2,760670.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230998','3MX00510',2,228000.000000,20240620,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00615',4,414910.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230998','3MX00510',4,228000.000000,20240722,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00615',6,177819.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M230998','3MX00510',6,76000.000000,20240822,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00614',0,207455.000000,20231225,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100004','3MH00964',0,216000.000000,20231117,1,1,216000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00614',1,414910.000000,20240203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100004','3MH00964',2,216000.000000,20240615,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00614',2,760670.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100004','3MH00964',4,216000.000000,20240715,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00614',4,414910.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100004','3MH00964',6,72000.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231011','3MX00614',6,177819.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100012','3MH00923',0,174000.000000,20231107,1,1,174000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00896',0,392166.000000,20240831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100012','3MH00923',2,174000.000000,20240223,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00896',1,784333.000000,20241010,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100012','3MH00923',4,174000.000000,20240325,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00896',2,1437944.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100012','3MH00923',6,58000.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00896',4,784333.000000,20250130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100015','3MW00886',0,150000.000000,20231101,1,1,150000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00896',6,336143.000000,20250901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100015','3MW00886',2,375000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00895',0,392166.000000,20240831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100015','3MW00886',4,150000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00895',1,784333.000000,20241010,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100015','3MW00886',6,75000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00895',2,1437944.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100019','3MH00882',0,195000.000000,20231026,1,1,195000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00895',4,784333.000000,20250130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100019','3MH00882',2,195000.000000,20240105,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00895',6,336143.000000,20250901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100019','3MH00882',4,195000.000000,20240205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00894',0,392166.000000,20240831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100019','3MH00882',6,65000.000000,20240305,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00894',1,784333.000000,20241010,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100024','3MH00797',0,236250.000000,20231004,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00894',2,1437944.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100024','3MH00797',2,315000.000000,2023-12-05,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00894',4,784333.000000,20250130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100024','3MH00797',4,157500.000000,20231218,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00894',6,336143.000000,20250901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100024','3MH00797',6,78750.000000,20240118,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00893',0,392166.000000,20240831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100027','3MX00969',0,436800.000000,20231129,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00893',1,784333.000000,20241010,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100027','3MX00969',2,436800.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00893',2,1437944.000000,20241230,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100027','3MX00969',4,436800.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00893',4,784333.000000,20250130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100027','3MX00969',6,145600.000000,20241016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231012','3MX00893',6,336143.000000,20250901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100027','3MX00968',0,436800.000000,20231129,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231019','3MH00531',0,146000.000000,20231130,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100027','3MX00968',2,436800.000000,20240815,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231019','3MH00531',2,365000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100027','3MX00968',4,436800.000000,20240916,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231019','3MH00531',4,146000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100027','3MX00968',6,145600.000000,20241016,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231019','3MH00531',6,73000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01070',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231024','3MW00939',0,182000.000000,20231113,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01070',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231024','3MW00939',2,455000.000000,20240226,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01070',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231024','3MW00939',4,182000.000000,20240326,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01070',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231024','3MW00939',6,91000.000000,20240426,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01069',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231026','3MH00881',0,156000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01069',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231026','3MH00881',2,156000.000000,20240503,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01069',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231026','3MH00881',4,156000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01069',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231026','3MH00881',6,52000.000000,20240704,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01068',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231029','3MH00639',0,186000.000000,20230818,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01068',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231029','3MH00639',2,186000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01068',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231029','3MH00639',4,186000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01068',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231029','3MH00639',6,62000.000000,20240116,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01067',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231030','3MH00796',0,159000.000000,20231004,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01067',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231030','3MH00796',2,159000.000000,2023-12-20,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01067',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231030','3MH00796',4,159000.000000,20240510,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01067',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231030','3MH00796',6,53000.000000,20240610,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01066',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231035','3MH00550',0,140000.000000,20230725,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01066',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231035','3MH00550',2,350000.000000,20231110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01066',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231035','3MH00550',4,140000.000000,20231211,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01066',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231035','3MH00550',6,70000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01065',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00892',0,656536.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01065',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00892',1,1313072.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01065',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00892',2,2407297.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01065',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00892',4,1313072.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01064',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00892',6,562745.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01064',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00890',0,656536.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01064',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00890',1,1313072.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01064',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00890',2,2407297.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01063',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00890',4,1313072.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01063',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00890',6,562745.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01063',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00891',0,656536.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01063',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00891',1,1313072.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01062',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00891',2,2407297.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01062',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00891',4,1313072.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01062',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00891',6,562745.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01062',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00889',0,656536.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01061',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00889',1,1313072.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01061',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00889',2,2407297.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01061',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00889',4,1313072.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01061',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00889',6,562745.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01060',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00888',0,656536.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01060',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00888',1,1313072.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01060',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00888',2,2407297.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01060',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00888',4,1313072.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01059',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00888',6,562745.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01059',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00887',0,656536.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01059',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00887',1,1313072.000000,20240525,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01059',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00887',2,2407297.000000,20250101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01058',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00887',4,1313072.000000,20250203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01058',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231036','3MX00887',6,562745.000000,20250903,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01058',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231039','3MH00534',0,159000.000000,20230719,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01058',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231039','3MH00534',2,159000.000000,2023-11-01,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01057',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231039','3MH00534',4,159000.000000,20231102,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01057',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231039','3MH00534',6,53000.000000,20231204,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01057',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231044','3MH00556',0,110000.000000,20230811,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01057',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231044','3MH00556',2,275000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01056',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231044','3MH00556',4,110000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01056',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231044','3MH00556',6,55000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01056',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231045','3MH00503',0,168000.000000,20230712,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01056',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231045','3MH00503',2,168000.000000,2023-11-17,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01055',0,3024000.000000,20231225,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231045','3MH00503',4,168000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01055',2,3024000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231045','3MH00503',6,56000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01055',4,3024000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231046','3MH00852',0,128000.000000,20230920,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100029','3MH01055',6,1008000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231046','3MH00852',1,336000.000000,20231119,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100051','3MH00926',0,159000.000000,20231023,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231046','3MH00852',2,128000.000000,20240120,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100051','3MH00926',2,159000.000000,20240219,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231046','3MH00852',4,64000.000000,20240220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100051','3MH00926',4,159000.000000,20240319,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231046','3MH00852',6,64000.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100051','3MH00926',6,53000.000000,20240419,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00976',0,870000.000000,20231201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100057','3MW01083',0,273000.000000,20231228,1,1,273000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00976',2,1160000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100057','3MW01083',2,273000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00976',4,580000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100057','3MW01083',4,273000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00976',6,290000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100057','3MW01083',6,91000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00975',0,870000.000000,20231201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100061','3MH00938',0,144000.000000,20231113,1,1,144000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00975',2,1160000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100061','3MH00938',2,360000.000000,20240408,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00975',4,580000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100061','3MH00938',4,144000.000000,20240508,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00975',6,290000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100061','3MH00938',6,72000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00974',0,870000.000000,20231201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100063','3MH00880',0,162000.000000,20231031,1,1,162000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00974',2,1160000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100063','3MH00880',2,162000.000000,20240105,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00974',4,580000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100063','3MH00880',4,162000.000000,20240205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00974',6,290000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100063','3MH00880',6,54000.000000,20240305,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00973',0,870000.000000,20231201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100065','3MH00956',0,954000.000000,20231115,1,1,954000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00973',2,1160000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00956',2,954000.000000,20240226,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00973',4,580000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00956',4,954000.000000,20240326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00973',6,290000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00956',6,318000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00972',0,870000.000000,20231201,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100065','3MH00955',0,954000.000000,20231115,1,1,954000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00972',2,1160000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00955',2,954000.000000,20240226,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00972',4,580000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00955',4,954000.000000,20240326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231048','3MH00972',6,290000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00955',6,318000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231049','3MH00512',0,232000.000000,20230718,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100065','3MH00954',0,954000.000000,20231115,1,1,954000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231049','3MH00512',2,580000.000000,2023-10-20,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00954',2,954000.000000,20240226,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231049','3MH00512',4,232000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00954',4,954000.000000,20240326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231049','3MH00512',6,116000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00954',6,318000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231049','3MH00511',0,232000.000000,20230718,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100065','3MH00953',0,954000.000000,20231115,1,1,954000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231049','3MH00511',2,580000.000000,2023-10-20,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00953',2,954000.000000,20240226,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231049','3MH00511',4,232000.000000,20231120,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00953',4,954000.000000,20240326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231049','3MH00511',6,116000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00953',6,318000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231061','3MH00532',0,112000.000000,20230721,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100065','3MH00952',0,954000.000000,20231115,1,1,954000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231061','3MH00532',2,280000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00952',2,954000.000000,20240226,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231061','3MH00532',4,112000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00952',4,954000.000000,20240326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231061','3MH00532',6,56000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00952',6,318000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231067','3MH00530',0,144000.000000,20230831,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100065','3MH00951',0,954000.000000,20231115,1,1,954000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231067','3MH00530',2,360000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00951',2,954000.000000,20240226,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231067','3MH00530',4,144000.000000,20240130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00951',4,954000.000000,20240326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231067','3MH00530',6,72000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100065','3MH00951',6,318000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00688',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100074','4MH00062',0,186000.000000,20231213,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00688',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100074','4MH00062',2,186000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00688',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100074','4MH00062',4,186000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00688',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100074','4MH00062',6,62000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00687',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01046',0,840000.000000,20231207,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00687',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01046',2,1120000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00687',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01046',4,560000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00687',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01046',6,280000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00686',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01045',0,840000.000000,20231207,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00686',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01045',2,1120000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00686',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01045',4,560000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00686',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01045',6,280000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00685',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01044',0,840000.000000,20231207,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00685',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01044',2,1120000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00685',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01044',4,560000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00685',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01044',6,280000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00684',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01043',0,840000.000000,20231207,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00684',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01043',2,1120000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00684',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01043',4,560000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00684',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100076','3MH01043',6,280000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00683',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100078','3MH00977',0,199500.000000,20231123,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00683',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100078','3MH00977',2,266000.000000,20240710,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00683',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100078','3MH00977',4,133000.000000,20240812,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00683',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100078','3MH00977',6,66500.000000,20240912,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00682',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100082','3MH00978',0,174000.000000,20231129,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00682',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100082','3MH00978',2,174000.000000,20240325,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00682',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100082','3MH00978',4,174000.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00682',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100082','3MH00978',6,58000.000000,20240527,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00681',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100089','3MP00937',0,140000.000000,20231108,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00681',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100089','3MP00937',2,350000.000000,20240325,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00681',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100089','3MP00937',4,140000.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00681',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100089','3MP00937',6,70000.000000,20240527,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00690',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100091','3MH01031',0,140000.000000,20231206,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00690',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100091','3MH01031',2,350000.000000,20240417,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00690',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100091','3MH01031',4,140000.000000,20240517,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00690',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100091','3MH01031',6,70000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00689',0,1020000.000000,20230901,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100098','3MH00878',0,146000.000000,20231102,1,1,146000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00689',2,2550000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100098','3MH00878',2,365000.000000,20240130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00689',4,1020000.000000,20240530,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100098','3MH00878',4,146000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231069','3MH00689',6,510000.000000,20240701,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100098','3MH00878',6,73000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231076','3MH00794',0,228000.000000,20231004,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100099','4MH00061',0,152000.000000,20231227,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231076','3MH00794',2,570000.000000,20240615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100099','4MH00061',2,380000.000000,20240912,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231076','3MH00794',4,228000.000000,20240719,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100099','4MH00061',4,152000.000000,20241014,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231076','3MH00794',6,114000.000000,20240809,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100099','4MH00061',6,76000.000000,20241114,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231076','3MH00793',0,228000.000000,20231004,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100102','3MP00936',0,156000.000000,20231103,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231076','3MH00793',2,570000.000000,20240615,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100102','3MP00936',2,390000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231076','3MH00793',4,228000.000000,20240719,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100102','3MP00936',4,156000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231076','3MH00793',6,114000.000000,20240809,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100102','3MP00936',6,78000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231078','3MH00834',0,396000.000000,20230925,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100104','3MW00927',0,255000.000000,20231103,1,1,255000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231078','3MH00834',2,396000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100104','3MW00927',2,255000.000000,20240103,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231078','3MH00834',4,396000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100104','3MW00927',4,255000.000000,20240205,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231078','3MH00834',6,132000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100104','3MW00927',6,85000.000000,20240305,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231078','3MH00833',0,396000.000000,20230925,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100120','3MX00935',0,360000.000000,20231109,1,1,360000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231078','3MH00833',2,396000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100120','3MX00935',2,900000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231078','3MH00833',4,396000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100120','3MX00935',4,360000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231078','3MH00833',6,132000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100120','3MX00935',6,180000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231085','3MH00513',0,106000.000000,20230529,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100120','3MX00934',0,360000.000000,20231109,1,1,360000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231085','3MH00513',2,265000.000000,2023-11-28,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100120','3MX00934',2,900000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231085','3MH00513',4,106000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100120','3MX00934',4,360000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231085','3MH00513',6,53000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100120','3MX00934',6,180000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231097','3MH00539',0,134000.000000,20230721,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100121','4MW00068',0,144000.000000,20240105,1,1,144000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231097','3MH00539',2,335000.000000,2023-12-05,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100121','4MW00068',2,360000.000000,20241125,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231097','3MH00539',4,134000.000000,20231216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100121','4MW00068',4,144000.000000,20241225,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231097','3MH00539',6,67000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100121','4MW00068',6,72000.000000,20250127,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231098','3MW00662',0,210000.000000,20230830,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100124','4MW00067',0,180000.000000,20240105,1,1,180000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231098','3MW00662',2,525000.000000,2023-12-01,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100124','4MW00067',2,450000.000000,20250325,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231098','3MW00662',4,210000.000000,20231220,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100124','4MW00067',4,180000.000000,20250425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231098','3MW00662',6,105000.000000,20240122,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100124','4MW00067',6,90000.000000,20250526,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231100','3MH00538',0,122000.000000,20230724,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100126','3MH01029',0,118000.000000,20231130,1,1,118000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231100','3MH00538',2,305000.000000,2023-11-23,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100126','3MH01029',2,295000.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231100','3MH00538',4,122000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100126','3MH01029',4,118000.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231100','3MH00538',6,61000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100126','3MH01029',6,59000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110011','3MP01032',0,210000.000000,20231212,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100129','3MH00957',0,195000.000000,20231116,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110011','3MP01032',2,210000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100129','3MH00957',2,195000.000000,20240222,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110011','3MP01032',4,210000.000000,20240329,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100129','3MH00957',4,195000.000000,20240322,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110011','3MP01032',6,70000.000000,20240429,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100129','3MH00957',6,65000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110052','3MH01030',0,104000.000000,20231206,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100133','3MH00962',0,183000.000000,20231117,1,1,183000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110052','3MH01030',2,260000.000000,20240225,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100133','3MH00962',2,183000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110052','3MH01030',4,104000.000000,20240325,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100133','3MH00962',4,183000.000000,20240215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110052','3MH01030',6,52000.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100133','3MH00962',6,61000.000000,20240315,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110053','3MP01036',0,156000.000000,20231212,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100135','3MH01047',0,225000.000000,20231208,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110053','3MP01036',2,390000.000000,20240225,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100135','3MH01047',2,300000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110053','3MP01036',4,156000.000000,20240325,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100135','3MH01047',4,150000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110053','3MP01036',6,78000.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100135','3MH01047',6,75000.000000,20240717,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110061','3MH01033',0,174000.000000,20231212,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100138','3MH01034',0,201000.000000,20231213,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110061','3MH01033',2,232000.000000,20240630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100138','3MH01034',2,201000.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110061','3MH01033',4,116000.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100138','3MH01034',4,201000.000000,20240515,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110061','3MH01033',6,58000.000000,20240830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100138','3MH01034',6,67000.000000,20240617,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110075','3MP01022',0,136000.000000,20231205,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23100139','3MH01019',0,159000.000000,20231201,1,1,159000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110075','3MP01022',2,340000.000000,20240225,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100139','3MH01019',2,159000.000000,20241015,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110075','3MP01022',4,136000.000000,20240325,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100139','3MH01019',4,159000.000000,20241115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110075','3MP01022',6,68000.000000,20240425,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100139','3MH01019',6,53000.000000,20241216,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110090','3MH01020',0,130000.000000,20231205,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100140','3MH01048',0,159000.000000,20231216,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110090','3MH01020',2,325000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100140','3MH01048',2,149000.000000,20240311,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110090','3MH01020',4,130000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100140','3MH01048',4,159000.000000,20240411,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110090','3MH01020',6,65000.000000,20240703,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23100140','3MH01048',6,53000.000000,20240513,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110096','3MH01018',0,110000.000000,20231204,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231002','3MW00965',0,201600.000000,20231128,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110096','3MH01018',2,275000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231002','3MW00965',2,504000.000000,20240425,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110096','3MH01018',4,110000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231002','3MW00965',4,201600.000000,20240527,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110096','3MH01018',6,55000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231002','3MW00965',6,100800.000000,20240627,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110104','3MQ01021',0,120000.000000,20231205,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231003','3MH00711',0,1064000.000000,20230823,1,1,2.3283064365387E-10,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110104','3MQ01021',1,240000.000000,20240203,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00711',2,2660000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110104','3MQ01021',2,120000.000000,20240403,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00711',4,1064000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110104','3MQ01021',4,60000.000000,20240503,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00711',6,532000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110104','3MQ01021',6,60000.000000,20240603,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231003','3MH00710',0,1064000.000000,20230823,1,1,2.3283064365387E-10,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110107','3MW01035',0,190000.000000,20231213,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00710',2,2660000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110107','3MW01035',2,475000.000000,20240327,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00710',4,1064000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110107','3MW01035',4,190000.000000,20240427,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00710',6,532000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M23110107','3MW01035',6,95000.000000,20240527,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231003','3MH00709',0,1064000.000000,20230823,1,1,2.3283064365387E-10,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231108','3MX00543',0,432000.000000,20230808,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00709',2,2660000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231108','3MX00543',2,1080000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00709',4,1064000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231108','3MX00543',4,432000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00709',6,532000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231108','3MX00543',6,216000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231003','3MH00708',0,1064000.000000,20230823,1,1,2.3283064365387E-10,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231108','3MW00542',0,432000.000000,20230808,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00708',2,2660000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231108','3MW00542',2,1080000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00708',4,1064000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231108','3MW00542',4,432000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00708',6,532000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231108','3MW00542',6,216000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231003','3MH00707',0,1064000.000000,20230823,1,1,2.3283064365387E-10,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231118','3MW00612',0,600000.000000,20230811,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00707',2,2660000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231118','3MW00612',2,600000.000000,2023-12-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00707',4,1064000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231118','3MW00612',4,600000.000000,20231208,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00707',6,532000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231118','3MW00612',6,200000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231003','3MH00706',0,1064000.000000,20230823,1,1,2.3283064365387E-10,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231118','3MW00613',0,600000.000000,20230811,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00706',2,2660000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231118','3MW00613',2,600000.000000,2023-12-08,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00706',4,1064000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231118','3MW00613',4,600000.000000,20231208,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00706',6,532000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231118','3MW00613',6,200000.000000,20240110,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231003','3MH00705',0,1064000.000000,20230823,1,1,2.3283064365387E-10,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231124','3MH00540',0,124000.000000,20230801,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00705',2,2660000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231124','3MH00540',2,310000.000000,2023-10-25,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00705',4,1064000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231124','3MH00540',4,124000.000000,20231130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00705',6,532000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231124','3MH00540',6,62000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231003','3MH00704',0,1064000.000000,20230823,1,1,2.3283064365387E-10,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231126','3MH00535',0,162000.000000,20230727,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00704',2,2660000.000000,20240101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231126','3MH00535',2,162000.000000,20231105,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00704',4,1064000.000000,20240201,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231126','3MH00535',4,162000.000000,20231205,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231003','3MH00704',6,532000.000000,20240301,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231126','3MH00535',6,54000.000000,20240105,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231006','3MH00875',0,318000.000000,20231018,1,1,318000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231132','3MH00618',0,321000.000000,20230816,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00875',2,795000.000000,20240221,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231132','3MH00618',2,321000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00875',4,318000.000000,20240321,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231132','3MH00618',4,321000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00875',6,159000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231132','3MH00618',6,107000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231006','3MH00874',0,318000.000000,20231018,1,1,318000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231132','3MH00617',0,321000.000000,20230816,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00874',2,795000.000000,20240221,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231132','3MH00617',2,321000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00874',4,318000.000000,20240321,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231132','3MH00617',4,321000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00874',6,159000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231132','3MH00617',6,107000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231006','3MH00876',0,318000.000000,20231018,1,1,318000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231133','3MH00646',0,210000.000000,20230822,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00876',2,795000.000000,20240221,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231133','3MH00646',2,210000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00876',4,318000.000000,20240321,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231133','3MH00646',4,210000.000000,20240402,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231006','3MH00876',6,159000.000000,20240422,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231133','3MH00646',6,70000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00679',0,1049727.000000,20231107,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231134','3MH00645',0,351000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00679',1,2099454.000000,20231217,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231134','3MH00645',2,351000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00679',2,3848998.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231134','3MH00645',3,351000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00679',4,2099454.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231134','3MH00645',6,117000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00679',6,899766.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231134','3MH00644',0,351000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00678',0,1049727.000000,20231107,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231134','3MH00644',2,351000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00678',1,2099454.000000,20231217,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231134','3MH00644',3,351000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00678',2,3848998.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231134','3MH00644',6,117000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00678',4,2099454.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231135','3MH00581',0,198000.000000,20230803,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00678',6,899766.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231135','3MH00581',2,198000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00677',0,1049727.000000,20231107,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231135','3MH00581',4,198000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00677',1,2099454.000000,20231217,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231135','3MH00581',6,66000.000000,20240216,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00677',2,3848998.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00728',0,612000.000000,20230908,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00677',4,2099454.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00728',2,612000.000000,20240630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00677',6,899766.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00728',4,612000.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00676',0,1049727.000000,20231107,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00728',6,204000.000000,20240830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00676',1,2099454.000000,20231217,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00727',0,612000.000000,20230908,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00676',2,3848998.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00727',2,612000.000000,20240630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00676',4,2099454.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00727',4,612000.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00676',6,899766.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00727',6,204000.000000,20240830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00675',0,1049727.000000,20231107,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00726',0,612000.000000,20230908,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00675',1,2099454.000000,20231217,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00726',2,612000.000000,20240630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00675',2,3848998.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00726',4,612000.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00675',4,2099454.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00726',6,204000.000000,20240830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00675',6,899766.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00725',0,612000.000000,20230908,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00674',0,1049727.000000,20231107,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00725',2,612000.000000,20240630,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00674',1,2099454.000000,20231217,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00725',4,612000.000000,20240730,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00674',2,3848998.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231139','3MH00725',6,204000.000000,20240830,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00674',4,2099454.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231141','3MH00885',0,169500.000000,20231024,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00674',6,899766.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231141','3MH00885',2,169500.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00673',0,1049727.000000,20231107,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231141','3MH00885',4,169500.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00673',1,2099454.000000,20231217,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231141','3MH00885',6,56500.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00673',2,3848998.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231145','3MW00806',0,176000.000000,20230921,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00673',4,2099454.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231145','3MW00806',2,440000.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00673',6,899766.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231145','3MW00806',4,176000.000000,20240812,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00672',0,1049727.000000,20231107,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231145','3MW00806',6,88000.000000,20240912,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00672',1,2099454.000000,20231217,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231148','3MH00808',0,104000.000000,20231011,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00672',2,3848998.000000,20240401,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231148','3MH00808',2,260000.000000,20240320,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00672',4,2099454.000000,20240501,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231148','3MH00808',4,104000.000000,20240422,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231009','3MX00672',6,899766.000000,20241202,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231148','3MH00808',6,52000.000000,20240522,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00922',0,444494.000000,20240901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231149','3MH00807',0,108000.000000,20231011,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00922',1,888987.000000,20241011,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231149','3MH00807',2,270000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00922',2,1629810.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231149','3MH00807',4,108000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00922',4,888987.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231149','3MH00807',6,54000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00922',6,380994.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231150','3MH00738',0,104000.000000,20230914,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00921',0,444494.000000,20240901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231150','3MH00738',2,540000.000000,20231229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00921',1,888987.000000,20241011,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231150','3MH00738',4,104000.000000,20240130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00921',2,1629810.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231150','3MH00738',6,52000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00921',4,888987.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231151','3MW00788',0,390000.000000,20230912,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00921',6,380994.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231151','3MW00788',2,390000.000000,20240101,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00920',0,444494.000000,20240901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231151','3MW00788',4,390000.000000,20240201,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00920',1,888987.000000,20241011,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231151','3MW00788',6,130000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00920',2,1629810.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231153','3MH00779',0,153000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00920',4,888987.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231153','3MH00779',2,153000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00920',6,380994.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231153','3MH00779',4,153000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00919',0,444494.000000,20240901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231153','3MH00779',6,51000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00919',1,888987.000000,20241011,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231154','3MH00778',0,255000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00919',2,1629810.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231154','3MH00778',2,255000.000000,20240812,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00919',4,888987.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231154','3MH00778',4,255000.000000,20240912,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231010','3MX00919',6,380994.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231154','3MH00778',6,255000.000000,20241014,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231011','3MX00615',0,207455.000000,20231225,1,1,207455,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231154','3MH00777',0,255000.000000,20230922,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231011','3MX00615',1,414910.000000,20240203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231154','3MH00777',2,255000.000000,20240812,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231011','3MX00615',2,760670.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231154','3MH00777',4,255000.000000,20240912,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231011','3MX00615',4,414910.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231154','3MH00777',6,255000.000000,20241014,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231011','3MX00615',6,177819.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231159','3MH00849',0,210000.000000,20231024,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231011','3MX00614',0,207455.000000,20231225,1,1,207455,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231159','3MH00849',2,235000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231011','3MX00614',1,414910.000000,20240203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231159','3MH00849',4,210000.000000,20240415,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231011','3MX00614',2,760670.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231159','3MH00849',6,70000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231011','3MX00614',4,414910.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231161','3MH00657',0,104000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231011','3MX00614',6,177819.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231161','3MH00657',2,260000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00896',0,392166.000000,20240831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231161','3MH00657',4,104000.000000,20240130,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00896',1,784333.000000,20241010,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231161','3MH00657',6,52000.000000,20240228,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00896',2,1437944.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00988',0,434864.000000,20240531,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00896',4,784333.000000,20250130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00988',1,869728.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00896',6,336143.000000,20250901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00988',2,1594501.000000,20240913,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00895',0,392166.000000,20240831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00988',4,869728.000000,20241014,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00895',1,784333.000000,20241010,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00988',6,372740.000000,20240514,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00895',2,1437944.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00987',0,434864.000000,20240531,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00895',4,784333.000000,20250130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00987',1,869728.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00895',6,336143.000000,20250901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00987',2,1594501.000000,20240913,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00894',0,392166.000000,20240831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00987',4,869728.000000,20241014,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00894',1,784333.000000,20241010,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00987',6,372740.000000,20240514,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00894',2,1437944.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00986',0,434864.000000,20240531,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00894',4,784333.000000,20250130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00986',1,869728.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00894',6,336143.000000,20250901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00986',2,1594501.000000,20240913,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00893',0,392166.000000,20240831,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00986',4,869728.000000,20241014,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00893',1,784333.000000,20241010,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00986',6,372740.000000,20240514,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00893',2,1437944.000000,20241230,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00985',0,434864.000000,20240531,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00893',4,784333.000000,20250130,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00985',1,869728.000000,20240710,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231012','3MX00893',6,336143.000000,20250901,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00985',2,1594501.000000,20240913,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231019','3MH00531',0,146000.000000,20231130,1,1,146000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00985',4,869728.000000,20241014,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231019','3MH00531',2,365000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231163','3MX00985',6,372740.000000,20240514,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231019','3MH00531',4,146000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231167','3MH00656',0,106000.000000,20230816,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231019','3MH00531',6,73000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231167','3MH00656',2,265000.000000,20231231,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231024','3MW00939',0,182000.000000,20231113,1,1,182000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231167','3MH00656',4,106000.000000,20240131,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231024','3MW00939',2,455000.000000,20240226,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231167','3MH00656',6,53000.000000,20240229,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231024','3MW00939',4,182000.000000,20240326,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231168','3MH00950',0,240000.000000,20231123,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231024','3MW00939',6,91000.000000,20240426,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231168','3MH00950',2,240000.000000,20240301,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231026','3MH00881',0,156000.000000,20230901,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231168','3MH00950',4,240000.000000,20240401,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231026','3MH00881',2,156000.000000,20240503,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231168','3MH00950',6,80000.000000,20240501,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231026','3MH00881',4,156000.000000,20240603,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231169','3MH00596',0,624000.000000,20230808,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231026','3MH00881',6,52000.000000,20240704,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231169','3MH00596',2,624000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231029','3MH00639',0,186000.000000,20230818,1,0,0,186000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231169','3MH00596',4,624000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231029','3MH00639',2,186000.000000,20231115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231169','3MH00596',6,208000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231029','3MH00639',4,186000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231169','3MX00595',0,624000.000000,20230808,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231029','3MH00639',6,62000.000000,20240116,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231169','3MX00595',2,624000.000000,20231115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231030','3MH00796',0,159000.000000,20231004,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231169','3MX00595',4,624000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231030','3MH00796',2,159000.000000,2023-12-20,1,1,159000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231169','3MX00595',6,208000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231030','3MH00796',4,159000.000000,20240510,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231172','3MX00619',0,246000.000000,20230808,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231030','3MH00796',6,53000.000000,20240610,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231172','3MX00619',2,246000.000000,2023-12-05,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231035','3MH00550',0,140000.000000,20230725,1,0,0,140000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231172','3MX00619',4,246000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231035','3MH00550',2,350000.000000,20231110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231172','3MX00619',6,82000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231035','3MH00550',4,140000.000000,20231211,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00643',0,501000.000000,20230828,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231035','3MH00550',6,70000.000000,20240110,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00643',2,501000.000000,20231121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00892',0,656536.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00643',4,501000.000000,20231221,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00892',1,1313072.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00643',6,167000.000000,20240124,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00892',2,2407297.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00642',0,501000.000000,20230828,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00892',4,1313072.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00642',2,501000.000000,20231121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00892',6,562745.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00642',4,501000.000000,20231221,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00891',0,656536.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00642',6,167000.000000,20240124,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00891',1,1313072.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00641',0,501000.000000,20230828,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00891',2,2407297.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00641',2,501000.000000,20231121,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00891',4,1313072.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00641',4,501000.000000,20231221,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00891',6,562745.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231173','3MH00641',6,167000.000000,20240124,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00890',0,656536.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231175','3MW00703',0,276000.000000,20230902,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00890',1,1313072.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231175','3MW00703',2,276000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00890',2,2407297.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231175','3MW00703',4,276000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00890',4,1313072.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231175','3MW00703',6,92000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00890',6,562745.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231176','3MH00594',0,212000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00889',0,656536.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231176','3MH00594',2,424000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00889',1,1313072.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231176','3MH00594',4,318000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00889',2,2407297.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231176','3MH00594',6,106000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00889',4,1313072.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231176','3MH00593',0,212000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00889',6,562745.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231176','3MH00593',2,424000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00888',0,656536.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231176','3MH00593',4,318000.000000,20240430,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00888',1,1313072.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231176','3MH00593',6,106000.000000,20240515,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00888',2,2407297.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231179','3MH00555',0,120000.000000,20230823,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00888',4,1313072.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231179','3MH00555',2,300000.000000,2023-11-01,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00888',6,562745.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231179','3MH00555',4,120000.000000,20231211,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00887',0,656536.000000,20240415,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231179','3MH00555',6,60000.000000,20240111,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00887',1,1313072.000000,20240525,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231184','3MH00640',0,159000.000000,20230818,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00887',2,2407297.000000,20250101,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231184','3MH00640',2,159000.000000,2023-11-15,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00887',4,1313072.000000,20250203,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231184','3MH00640',4,159000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231036','3MX00887',6,562745.000000,20250903,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231184','3MH00640',6,53000.000000,20240117,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231039','3MH00534',0,159000.000000,20230719,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231202','3MH00774',0,139000.000000,20230925,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231039','3MH00534',2,159000.000000,2023-11-01,1,1,159000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231202','3MH00774',2,347500.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231039','3MH00534',4,159000.000000,20231102,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231202','3MH00774',4,139000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231039','3MH00534',6,53000.000000,20231204,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231202','3MH00774',6,69500.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231044','3MH00556',0,110000.000000,20230811,1,0,0,110000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231204','3MH00609',0,144000.000000,20230814,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231044','3MH00556',2,275000.000000,20231231,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231204','3MH00609',2,360000.000000,2023-10-19,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231044','3MH00556',4,110000.000000,20240131,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231204','3MH00609',4,144000.000000,20231115,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231044','3MH00556',6,55000.000000,20240229,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231204','3MH00609',6,72000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231045','3MH00503',0,168000.000000,20230712,1,0,0,168000 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231205','3MH00611',0,284000.000000,20230814,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231045','3MH00503',2,168000.000000,2023-11-17,1,1,168000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231205','3MH00611',2,710000.000000,20231125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231045','3MH00503',4,168000.000000,20231215,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231205','3MH00611',4,284000.000000,20231227,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231045','3MH00503',6,56000.000000,20240115,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231205','3MH00611',6,142000.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231046','3MH00852',0,128000.000000,20230920,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231205','3MH00610',0,284000.000000,20230814,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231046','3MH00852',1,336000.000000,20231119,1,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231205','3MH00610',2,710000.000000,20231125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231046','3MH00852',2,128000.000000,20240120,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231205','3MH00610',4,284000.000000,20231227,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231046','3MH00852',4,64000.000000,20240220,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231205','3MH00610',6,142000.000000,20240125,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231046','3MH00852',6,64000.000000,20240320,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231212','3MH00832',0,204000.000000,20230824,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231048','3MH00976',0,870000.000000,20231201,1,1,870000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231212','3MH00832',2,204000.000000,20231215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00976',2,1160000.000000,20240430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231212','3MH00832',4,204000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00976',4,580000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231212','3MH00832',6,68000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00976',6,290000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231213','3MW00702',0,270000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231048','3MH00975',0,870000.000000,20231201,1,1,870000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231213','3MW00702',2,270000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00975',2,1160000.000000,20240430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231213','3MW00702',4,270000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00975',4,580000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231213','3MW00702',6,90000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00975',6,290000.000000,20240701,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231218','3MW00702',0,270000.000000,20230901,1); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231048','3MH00974',0,870000.000000,20231201,1,1,870000,0 ,0); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231218','3MW00702',2,270000.000000,20240115,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00974',2,1160000.000000,20240430,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231218','3MW00702',4,270000.000000,20240215,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00974',4,580000.000000,20240530,0,0,0,0 ); INSERT INTO account_receivable ( `contract_no`, `facility_no`, `stage`, `budget`, `receivable_date`, -`receivable`) VALUES ('M231218','3MW00702',6,90000.000000,20240315,0); +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00974',6,290000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231048','3MH00973',0,870000.000000,20231201,1,1,870000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00973',2,1160000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00973',4,580000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00973',6,290000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231048','3MH00972',0,870000.000000,20231201,1,1,870000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00972',2,1160000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00972',4,580000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231048','3MH00972',6,290000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231049','3MH00512',0,232000.000000,20230718,1,0,0,200000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231049','3MH00512',2,580000.000000,2023-10-20,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231049','3MH00512',4,232000.000000,20231120,1,1,232000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231049','3MH00512',6,116000.000000,20231220,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231049','3MH00511',0,232000.000000,20230718,1,0,0,200000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231049','3MH00511',2,580000.000000,2023-10-20,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231049','3MH00511',4,232000.000000,20231120,1,1,232000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231049','3MH00511',6,116000.000000,20231220,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231061','3MH00532',0,112000.000000,20230721,1,1,112000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231061','3MH00532',2,280000.000000,20231231,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231061','3MH00532',4,112000.000000,20240131,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231061','3MH00532',6,56000.000000,20240229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231067','3MH00530',0,144000.000000,20230831,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231067','3MH00530',2,360000.000000,20231231,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231067','3MH00530',4,144000.000000,20240130,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231067','3MH00530',6,72000.000000,20240229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00682',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00682',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00682',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00682',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00681',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00681',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00681',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00681',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00690',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00690',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00690',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00690',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00689',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00689',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00689',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00689',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00688',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00688',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00688',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00688',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00687',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00687',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00687',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00687',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00686',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00686',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00686',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00686',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00685',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00685',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00685',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00685',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00684',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00684',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00684',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00684',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00683',0,1020000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00683',2,2550000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00683',4,1020000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231069','3MH00683',6,510000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231076','3MH00794',0,228000.000000,20231004,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231076','3MH00794',2,570000.000000,20240615,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231076','3MH00794',4,228000.000000,20240719,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231076','3MH00794',6,114000.000000,20240809,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231076','3MH00793',0,228000.000000,20231004,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231076','3MH00793',2,570000.000000,20240615,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231076','3MH00793',4,228000.000000,20240719,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231076','3MH00793',6,114000.000000,20240809,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231078','3MH00834',0,396000.000000,20230925,1,1,396000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231078','3MH00834',2,396000.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231078','3MH00834',4,396000.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231078','3MH00834',6,132000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231078','3MH00833',0,396000.000000,20230925,1,1,396000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231078','3MH00833',2,396000.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231078','3MH00833',4,396000.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231078','3MH00833',6,132000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231085','3MH00513',0,106000.000000,20230529,1,1,106000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231085','3MH00513',2,265000.000000,2023-11-28,1,1,265000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231085','3MH00513',4,106000.000000,20231130,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231085','3MH00513',6,53000.000000,20231229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00045',0,708260.000000,20250712,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00045',1,1416519.000000,20250821,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00045',2,2596952.000000,20241111,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00045',4,1416519.000000,20241211,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00045',6,607080.000000,20250711,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00044',0,708260.000000,20250712,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00044',1,1416519.000000,20250821,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00044',2,2596952.000000,20241111,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00044',4,1416519.000000,20241211,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00044',6,607080.000000,20250711,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00043',0,708260.000000,20250712,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00043',1,1416519.000000,20250821,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00043',2,2596952.000000,20241111,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00043',4,1416519.000000,20241211,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00043',6,607080.000000,20250711,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00042',0,708260.000000,20250712,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00042',1,1416519.000000,20250821,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00042',2,2596952.000000,20241111,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00042',4,1416519.000000,20241211,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00042',6,607080.000000,20250711,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00046',0,708260.000000,20250712,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00046',1,1416519.000000,20250821,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00046',2,2596952.000000,20241111,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00046',4,1416519.000000,20241211,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00046',6,607080.000000,20250711,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00041',0,708260.000000,20250712,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00041',1,1416519.000000,20250821,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00041',2,2596952.000000,20241111,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00041',4,1416519.000000,20241211,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231096','4MX00041',6,607080.000000,20250711,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231097','3MH00539',0,134000.000000,20230721,1,0,0,134000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231097','3MH00539',2,335000.000000,2023-12-05,1,1,335000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231097','3MH00539',4,134000.000000,20231216,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231097','3MH00539',6,67000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231098','3MW00662',0,210000.000000,20230830,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231098','3MW00662',2,525000.000000,2023-12-01,1,1,315000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231098','3MW00662',4,210000.000000,20231220,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231098','3MW00662',6,105000.000000,20240122,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231100','3MH00538',0,122000.000000,20230724,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231100','3MH00538',2,305000.000000,2023-11-23,1,1,305000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231100','3MH00538',4,122000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231100','3MH00538',6,61000.000000,20240117,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110007','4MW00065',0,246000.000000,20240103,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110007','4MW00065',2,246000.000000,20240415,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110007','4MW00065',4,246000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110007','4MW00065',6,82000.000000,20240617,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110011','3MP01032',0,210000.000000,20231212,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110011','3MP01032',2,210000.000000,20240229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110011','3MP01032',4,210000.000000,20240329,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110011','3MP01032',6,70000.000000,20240429,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110041','4MX00008',0,380000.000000,20240102,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110041','4MX00008',2,950000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110041','4MX00008',4,380000.000000,20240617,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110041','4MX00008',6,190000.000000,20240717,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110041','4MX00007',0,380000.000000,20240102,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110041','4MX00007',2,950000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110041','4MX00007',4,380000.000000,20240617,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110041','4MX00007',6,190000.000000,20240717,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110052','3MH01030',0,104000.000000,20231206,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110052','3MH01030',2,260000.000000,20240225,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110052','3MH01030',4,104000.000000,20240325,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110052','3MH01030',6,52000.000000,20240425,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110053','3MP01036',0,156000.000000,20231212,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110053','3MP01036',2,390000.000000,20240225,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110053','3MP01036',4,156000.000000,20240325,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110053','3MP01036',6,78000.000000,20240425,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110059','4MH00075',0,124000.000000,20240102,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110059','4MH00075',2,310000.000000,20240506,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110059','4MH00075',4,124000.000000,20240606,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110059','4MH00075',6,62000.000000,20240708,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110060','3MH01054',0,160500.000000,20231214,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110060','3MH01054',2,160500.000000,20240410,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110060','3MH01054',4,160500.000000,20240510,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110060','3MH01054',6,53500.000000,20240610,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110061','3MH01033',0,174000.000000,20231212,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110061','3MH01033',2,232000.000000,20240630,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110061','3MH01033',4,116000.000000,20240730,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110061','3MH01033',6,58000.000000,20240830,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110068','4MH00004',0,134000.000000,20240102,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110068','4MH00004',2,335000.000000,20240428,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110068','4MH00004',4,134000.000000,20240528,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110068','4MH00004',6,67000.000000,20240628,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01072',0,636000.000000,20231222,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01072',2,636000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01072',4,636000.000000,20240617,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01072',6,212000.000000,20240717,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01071',0,636000.000000,20231222,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01071',2,636000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01071',4,636000.000000,20240617,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01071',6,212000.000000,20240717,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01074',0,636000.000000,20231222,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01074',2,636000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01074',4,636000.000000,20240617,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01074',6,212000.000000,20240717,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01073',0,636000.000000,20231222,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01073',2,636000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01073',4,636000.000000,20240617,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110069','3MH01073',6,212000.000000,20240717,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110075','3MP01022',0,136000.000000,20231205,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110075','3MP01022',2,340000.000000,20240225,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110075','3MP01022',4,136000.000000,20240325,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110075','3MP01022',6,68000.000000,20240425,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110080','3MH01050',0,195000.000000,20231225,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110080','3MH01050',2,195000.000000,20240304,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110080','3MH01050',4,195000.000000,20240404,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110080','3MH01050',6,65000.000000,20240506,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23110090','3MH01020',0,130000.000000,20231205,1,1,130000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110090','3MH01020',2,325000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110090','3MH01020',4,130000.000000,20240603,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110090','3MH01020',6,65000.000000,20240703,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23110096','3MH01018',0,110000.000000,20231204,1,1,110000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110096','3MH01018',2,275000.000000,20240201,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110096','3MH01018',4,110000.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110096','3MH01018',6,55000.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110100','4MW00058',0,552000.000000,20240102,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110100','4MW00058',2,736000.000000,20250210,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110100','4MW00058',4,368000.000000,20250310,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110100','4MW00058',6,184000.000000,20250410,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110100','4MW00057',0,552000.000000,20240102,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110100','4MW00057',2,736000.000000,20250210,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110100','4MW00057',4,368000.000000,20250310,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110100','4MW00057',6,184000.000000,20250410,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110103','4MW00066',0,279000.000000,20240103,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110103','4MW00066',2,279000.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110103','4MW00066',4,279000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110103','4MW00066',6,93000.000000,20240603,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110104','3MH01021',0,120000.000000,20231205,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110104','3MH01021',1,240000.000000,20240203,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110104','3MH01021',2,120000.000000,20240403,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110104','3MH01021',4,60000.000000,20240503,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110104','3MH01021',6,60000.000000,20240603,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110107','3MW01035',0,190000.000000,20231213,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110107','3MW01035',2,475000.000000,20240327,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110107','3MW01035',4,190000.000000,20240427,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110107','3MW01035',6,95000.000000,20240527,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110118','4MH00077',0,142000.000000,20240103,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110118','4MH00077',2,355000.000000,20240731,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110118','4MH00077',4,142000.000000,20240902,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110118','4MH00077',6,71000.000000,20241002,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110123','3MH01052',0,324000.000000,20231220,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110123','3MH01052',2,324000.000000,20240320,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110123','3MH01052',4,324000.000000,20240422,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110123','3MH01052',6,108000.000000,20240522,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110123','3MH01051',0,324000.000000,20231220,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110123','3MH01051',2,324000.000000,20240320,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110123','3MH01051',4,324000.000000,20240422,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23110123','3MH01051',6,108000.000000,20240522,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231108','3MX00543',0,432000.000000,20230808,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231108','3MX00543',2,1080000.000000,20231231,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231108','3MX00543',4,432000.000000,20240131,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231108','3MX00543',6,216000.000000,20240229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231108','3MW00542',0,432000.000000,20230808,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231108','3MW00542',2,1080000.000000,20231231,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231108','3MW00542',4,432000.000000,20240131,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231108','3MW00542',6,216000.000000,20240229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231118','3MW00612',0,600000.000000,20230811,1,0,0,600000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231118','3MW00612',2,600000.000000,2023-12-08,1,1,285000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231118','3MW00612',4,600000.000000,20231208,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231118','3MW00612',6,200000.000000,20240110,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231118','3MW00613',0,600000.000000,20230811,1,0,0,600000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231118','3MW00613',2,600000.000000,2023-12-08,1,1,285000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231118','3MW00613',4,600000.000000,20231208,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231118','3MW00613',6,200000.000000,20240110,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231124','3MH00540',0,124000.000000,20230801,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231124','3MH00540',2,310000.000000,2023-10-25,1,1,124000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231124','3MH00540',4,124000.000000,20231130,1,1,124000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231124','3MH00540',6,62000.000000,20231229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231126','3MH00535',0,162000.000000,20230727,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231126','3MH00535',2,162000.000000,20231105,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231126','3MH00535',4,162000.000000,20231205,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231126','3MH00535',6,54000.000000,20240105,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231132','3MH00618',0,321000.000000,20230816,1,0,0,321000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231132','3MH00618',2,321000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231132','3MH00618',4,321000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231132','3MH00618',6,107000.000000,20240215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231132','3MH00617',0,321000.000000,20230816,1,0,0,321000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231132','3MH00617',2,321000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231132','3MH00617',4,321000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231132','3MH00617',6,107000.000000,20240215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231133','3MH00646',0,210000.000000,20230822,1,1,210000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231133','3MH00646',2,210000.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231133','3MH00646',4,210000.000000,20240402,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231133','3MH00646',6,70000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231134','3MH00645',0,351000.000000,20230823,1,1,3000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231134','3MH00645',2,351000.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231134','3MH00645',3,351000.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231134','3MH00645',6,117000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231134','3MH00644',0,351000.000000,20230823,1,1,3000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231134','3MH00644',2,351000.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231134','3MH00644',3,351000.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231134','3MH00644',6,117000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231135','3MH00581',0,198000.000000,20230803,1,0,0,198000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231135','3MH00581',2,198000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231135','3MH00581',4,198000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231135','3MH00581',6,66000.000000,20240216,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00728',0,612000.000000,20230908,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00728',2,612000.000000,20240630,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00728',4,612000.000000,20240730,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00728',6,204000.000000,20240830,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00727',0,612000.000000,20230908,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00727',2,612000.000000,20240630,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00727',4,612000.000000,20240730,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00727',6,204000.000000,20240830,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00726',0,612000.000000,20230908,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00726',2,612000.000000,20240630,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00726',4,612000.000000,20240730,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00726',6,204000.000000,20240830,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00725',0,612000.000000,20230908,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00725',2,612000.000000,20240630,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00725',4,612000.000000,20240730,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231139','3MH00725',6,204000.000000,20240830,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231141','3MH00885',0,169500.000000,20231024,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231141','3MH00885',2,169500.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231141','3MH00885',4,169500.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231141','3MH00885',6,56500.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231145','3MW00806',0,176000.000000,20230921,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231145','3MW00806',2,440000.000000,20240710,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231145','3MW00806',4,176000.000000,20240812,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231145','3MW00806',6,88000.000000,20240912,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231148','3MH00808',0,104000.000000,20231011,1,1,104000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231148','3MH00808',2,260000.000000,20240320,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231148','3MH00808',4,104000.000000,20240422,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231148','3MH00808',6,52000.000000,20240522,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231149','3MH00807',0,108000.000000,20231011,1,1,108000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231149','3MH00807',2,270000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231149','3MH00807',4,108000.000000,20240215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231149','3MH00807',6,54000.000000,20240315,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231150','3MH00738',0,104000.000000,20230914,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231150','3MH00738',2,540000.000000,20231229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231150','3MH00738',4,104000.000000,20240130,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231150','3MH00738',6,52000.000000,20240229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231151','3MW00788',0,390000.000000,20230912,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231151','3MW00788',2,390000.000000,20240101,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231151','3MW00788',4,390000.000000,20240201,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231151','3MW00788',6,130000.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231153','3MH00779',0,153000.000000,20230922,1,1,153000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231153','3MH00779',2,153000.000000,20240315,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231153','3MH00779',4,153000.000000,20240415,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231153','3MH00779',6,51000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231154','3MH00778',0,255000.000000,20230922,1,1,255000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231154','3MH00778',2,255000.000000,20240812,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231154','3MH00778',4,255000.000000,20240912,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231154','3MH00778',6,255000.000000,20241014,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231154','3MH00777',0,255000.000000,20230922,1,1,255000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231154','3MH00777',2,255000.000000,20240812,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231154','3MH00777',4,255000.000000,20240912,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231154','3MH00777',6,255000.000000,20241014,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231159','3MH00849',0,210000.000000,20231024,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231159','3MH00849',2,235000.000000,20240315,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231159','3MH00849',4,210000.000000,20240415,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231159','3MH00849',6,70000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231161','3MH00657',0,104000.000000,20230824,1,1,104000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231161','3MH00657',2,260000.000000,20231231,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231161','3MH00657',4,104000.000000,20240130,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231161','3MH00657',6,52000.000000,20240228,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00988',0,434864.000000,20240531,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00988',1,869728.000000,20240710,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00988',2,1594501.000000,20240913,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00988',4,869728.000000,20241014,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00988',6,372740.000000,20240514,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00987',0,434864.000000,20240531,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00987',1,869728.000000,20240710,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00987',2,1594501.000000,20240913,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00987',4,869728.000000,20241014,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00987',6,372740.000000,20240514,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00986',0,434864.000000,20240531,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00986',1,869728.000000,20240710,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00986',2,1594501.000000,20240913,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00986',4,869728.000000,20241014,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00986',6,372740.000000,20240514,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00985',0,434864.000000,20240531,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00985',1,869728.000000,20240710,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00985',2,1594501.000000,20240913,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00985',4,869728.000000,20241014,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231163','3MX00985',6,372740.000000,20240514,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231167','3MH00656',0,106000.000000,20230816,1,1,106000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231167','3MH00656',2,265000.000000,20231231,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231167','3MH00656',4,106000.000000,20240131,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231167','3MH00656',6,53000.000000,20240229,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231168','3MH00950',0,240000.000000,20231123,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231168','3MH00950',2,240000.000000,20240301,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231168','3MH00950',4,240000.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231168','3MH00950',6,80000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231169','3MH00596',0,624000.000000,20230808,1,1,210000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231169','3MH00596',2,624000.000000,20231115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231169','3MH00596',4,624000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231169','3MH00596',6,208000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231169','3MX00595',0,624000.000000,20230808,1,1,210000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231169','3MX00595',2,624000.000000,20231115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231169','3MX00595',4,624000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231169','3MX00595',6,208000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231172','3MX00619',0,246000.000000,20230808,1,0,0,246000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231172','3MX00619',2,246000.000000,2023-12-05,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231172','3MX00619',4,246000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231172','3MX00619',6,82000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00642',0,501000.000000,20230828,1,0,0,501000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231173','3MH00642',2,501000.000000,2023-12-27,1,1,501000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00642',4,501000.000000,20231221,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00642',6,167000.000000,20240124,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00641',0,501000.000000,20230828,1,0,0,501000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231173','3MH00641',2,501000.000000,2023-12-27,1,1,501000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00641',4,501000.000000,20231221,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00641',6,167000.000000,20240124,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00643',0,501000.000000,20230828,1,0,0,501000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231173','3MH00643',2,501000.000000,2023-12-27,1,1,501000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00643',4,501000.000000,20231221,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231173','3MH00643',6,167000.000000,20240124,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231175','3MW00703',0,276000.000000,20230902,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231175','3MW00703',2,276000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231175','3MW00703',4,276000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231175','3MW00703',6,92000.000000,20240215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231176','3MH00594',0,212000.000000,20230823,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231176','3MH00594',2,424000.000000,20240315,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231176','3MH00594',4,318000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231176','3MH00594',6,106000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231176','3MH00593',0,212000.000000,20230823,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231176','3MH00593',2,424000.000000,20240315,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231176','3MH00593',4,318000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231176','3MH00593',6,106000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231179','3MH00555',0,120000.000000,20230823,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231179','3MH00555',2,300000.000000,2023-11-01,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231179','3MH00555',4,120000.000000,20231211,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231179','3MH00555',6,60000.000000,20240111,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231184','3MH00640',0,159000.000000,20230818,1,0,0,159000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231184','3MH00640',2,159000.000000,2023-11-15,1,1,159000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231184','3MH00640',4,159000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231184','3MH00640',6,53000.000000,20240117,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120002','4MW00064',0,176000.000000,20231222,1,1,176000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120002','4MW00064',2,440000.000000,20240401,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120002','4MW00064',4,176000.000000,20240501,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120002','4MW00064',6,88000.000000,20240603,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120010','3MH01078',1,520000.000000,20231220,1,1,520000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01078',2,1300000.000000,20240105,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01078',4,520000.000000,20240205,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01078',6,260000.000000,20240305,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120010','3MH01077',1,520000.000000,20231220,1,1,520000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01077',2,1300000.000000,20240105,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01077',4,520000.000000,20240205,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01077',6,260000.000000,20240305,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120010','3MH01076',1,520000.000000,20231220,1,1,520000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01076',2,1300000.000000,20240105,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01076',4,520000.000000,20240205,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01076',6,260000.000000,20240305,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120010','3MH01075',1,520000.000000,20231220,1,1,520000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01075',2,1300000.000000,20240105,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01075',4,520000.000000,20240205,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120010','3MH01075',6,260000.000000,20240305,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120022','3MH01081',1,390000.000000,20231220,1,1,390000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01081',2,975000.000000,20250705,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01081',4,390000.000000,20250805,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01081',6,195000.000000,20250905,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120022','3MH01080',1,390000.000000,20231220,1,1,390000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01080',2,975000.000000,20250705,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01080',4,390000.000000,20250805,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01080',6,195000.000000,20250905,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120022','3MH01079',1,390000.000000,20231220,1,1,390000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01079',2,975000.000000,20250705,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01079',4,390000.000000,20250805,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120022','3MH01079',6,195000.000000,20250905,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120054','3MP01049',0,136500.000000,20231219,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120054','3MP01049',2,341250.000000,20240220,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120054','3MP01049',4,136500.000000,20240320,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120054','3MP01049',6,68250.000000,20240422,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120058','4MW00063',0,240000.000000,20240103,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120058','4MW00063',2,600000.000000,20240315,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120058','4MW00063',4,240000.000000,20240415,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120058','4MW00063',6,120000.000000,20240515,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M23120065','4MH00082',0,174000.000000,20240108,1,1,174000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120065','4MH00082',2,232000.000000,20240430,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120065','4MH00082',4,116000.000000,20240530,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M23120065','4MH00082',6,58000.000000,20240701,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231202','3MH00774',0,139000.000000,20230925,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231202','3MH00774',2,347500.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231202','3MH00774',4,139000.000000,20240215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231202','3MH00774',6,69500.000000,20240315,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231204','3MH00609',0,144000.000000,20230814,1,0,0,144000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231204','3MH00609',2,360000.000000,2023-10-19,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`,`invoice_state`) VALUES ('M231204','3MH00609',4,144000.000000,20231115,1,1,144000,0 ,0); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231204','3MH00609',6,72000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231205','3MH00611',0,284000.000000,20230814,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231205','3MH00611',2,710000.000000,20231125,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231205','3MH00611',4,284000.000000,20231227,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231205','3MH00611',6,142000.000000,20240125,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231205','3MH00610',0,284000.000000,20230814,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231205','3MH00610',2,710000.000000,20231125,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231205','3MH00610',4,284000.000000,20231227,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231205','3MH00610',6,142000.000000,20240125,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231207','3MW01082',0,252000.000000,20231228,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231207','3MW01082',2,252000.000000,20240902,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231207','3MW01082',4,252000.000000,20241002,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231207','3MW01082',6,84000.000000,20241104,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231212','3MH00832',0,204000.000000,20230824,1,0,0,204000 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231212','3MH00832',2,204000.000000,20231215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231212','3MH00832',4,204000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231212','3MH00832',6,68000.000000,20240215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231213','3MW00702',0,270000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231213','3MW00702',2,270000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231213','3MW00702',4,270000.000000,20240215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231213','3MW00702',6,90000.000000,20240315,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231218','3MW00702',0,270000.000000,20230901,1,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231218','3MW00702',2,270000.000000,20240115,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231218','3MW00702',4,270000.000000,20240215,0,0,0,0 ); +INSERT INTO account_receivable ( +`contract_no`, +`facility_no`, +`stage`, +`budget`, +`receivable_date`, +`receivable`, +`invoice`, +`invoice_budget`, +`received_budget`) VALUES ('M231218','3MW00702',6,90000.000000,20240315,0,0,0,0 ); diff --git a/wms/assemble_warehouse.xlsx b/wms/assemble_warehouse.xlsx index 0302398d..7b6b9f71 100644 Binary files a/wms/assemble_warehouse.xlsx and b/wms/assemble_warehouse.xlsx differ diff --git a/wms/cont/MSCalculator.php b/wms/cont/MSCalculator.php index 7aabafcc..cd56873b 100644 --- a/wms/cont/MSCalculator.php +++ b/wms/cont/MSCalculator.php @@ -33,7 +33,7 @@ class MSCalculator $maintain_times = $item['maintain_times']; $sql_get_price = " - select + SELECT elevator_type, base_price, floors_price, diff --git a/wms/cont/apply_form.php b/wms/cont/apply_form.php index e64a3027..a7f4c7db 100644 --- a/wms/cont/apply_form.php +++ b/wms/cont/apply_form.php @@ -244,14 +244,17 @@ if ($result['department_id'] == '511') { $managerid = 'M0137'; $managername = '劉永德'; } else if ($result['department_id'] == '512') { - $managerid = 'M0137'; - $managername = '劉永德'; + $managerid = 'M0054'; + $managername = '陳志文'; } else if ($result['department_id'] == '513') { $managerid = 'M0086'; $managername = '李烘銘'; } else if ($result['department_id'] == '514') { $managerid = 'M0033'; $managername = '吳育宗'; +} else if ($user_id == 'TEST01') { + $managerid = 'TEST04'; + $managername = '區經理'; } if ($result['department_id'] == 'M0137' || $result['department_id'] == 'M0086' || $result['department_id'] == 'M0033') { @@ -277,9 +280,7 @@ if ($result['department_id'] == 'M0137' || $result['department_id'] == 'M0086' | - + - + echo "" . (empty($signer) ? "結案" : "N") . ""; -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ?> - - - - - - -
評審單號卷號現場地址現場名稱電梯品牌電梯台數營業員保養方式契約期限開始契約期限結束契約性質加盟公司名稱加盟公司電話是否結案合約下載
- - - - - 待簽核
- - - -- - - - 下載 - -
+ + + +
prepare($sql); +$stmt->execute(); +$result = $stmt->fetch(PDO::FETCH_ASSOC); + +// echo '
';
+// print_r(json_encode($result));
+// echo '
'; + +return json_encode($result); diff --git a/wms/contract-repair/insertFacility.php b/wms/contract-repair/insertFacility.php new file mode 100644 index 00000000..788976f3 --- /dev/null +++ b/wms/contract-repair/insertFacility.php @@ -0,0 +1,55 @@ +getMessage()); +} + +$sheet = $spreadsheet->getActiveSheet(); + +$create_at = date("Y-m-d H:i:s"); +$sql = "INSERT INTO facility_price (kind,model,seat,numberofstop,speed,price,price_mi,status,create_dt) VALUES(:kind,:model,:seat,:numberofstop,:speed,:price,:price_mi,:status,:create_dt)"; + +// 遍歷表中的每一行 +foreach ($sheet->getRowIterator() as $key => $row) { + $cellIterator = $row->getCellIterator(); + $cellIterator->setIterateOnlyExistingCells(false); + + foreach ($cellIterator as $idx => $value) { + if ($value !== null) { + if ($idx == 'A') { + $model = $value->getValue(); + if ($model != '規格') { + // 字串分離 + $model_arr = explode('-', $model); + // 抓出樓層 + $speed = explode('*', $model_arr[1]); + for ($i = 7; $i <= 30; $i++) { + $speed[1] = $i; + $speed_arr[] = $speed; + } + for ($i = 6; $i >= 2; $i--) { + $speed[1] = $i; + $speed_arr[] = $speed; + } + } + } + if ($idx == 'B') { + $price = $value->getValue(); + if ($price !== '標準價') { + $price = $price * 10000; + } + } + if ($idx == 'C') { + } + } + } +} diff --git a/wms/contract-repair/vendor/autoload.php b/wms/contract-repair/vendor/autoload.php new file mode 100644 index 00000000..e738d061 --- /dev/null +++ b/wms/contract-repair/vendor/autoload.php @@ -0,0 +1,25 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see https://www.php-fig.org/psr/psr-0/ + * @see https://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + /** @var \Closure(string):void */ + private static $includeFile; + + /** @var string|null */ + private $vendorDir; + + // PSR-4 + /** + * @var array> + */ + private $prefixLengthsPsr4 = array(); + /** + * @var array> + */ + private $prefixDirsPsr4 = array(); + /** + * @var list + */ + private $fallbackDirsPsr4 = array(); + + // PSR-0 + /** + * List of PSR-0 prefixes + * + * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) + * + * @var array>> + */ + private $prefixesPsr0 = array(); + /** + * @var list + */ + private $fallbackDirsPsr0 = array(); + + /** @var bool */ + private $useIncludePath = false; + + /** + * @var array + */ + private $classMap = array(); + + /** @var bool */ + private $classMapAuthoritative = false; + + /** + * @var array + */ + private $missingClasses = array(); + + /** @var string|null */ + private $apcuPrefix; + + /** + * @var array + */ + private static $registeredLoaders = array(); + + /** + * @param string|null $vendorDir + */ + public function __construct($vendorDir = null) + { + $this->vendorDir = $vendorDir; + self::initializeIncludeClosure(); + } + + /** + * @return array> + */ + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); + } + + return array(); + } + + /** + * @return array> + */ + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + /** + * @return list + */ + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + /** + * @return list + */ + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + /** + * @return array Array of classname => path + */ + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array $classMap Class to filename map + * + * @return void + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + * + * @return void + */ + public function add($prefix, $paths, $prepend = false) + { + $paths = (array) $paths; + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + $paths = (array) $paths; + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 base directories + * + * @return void + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + * + * @return void + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + * + * @return void + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + * + * @return void + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + * + * @return void + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + + if (null === $this->vendorDir) { + return; + } + + if ($prepend) { + self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; + } else { + unset(self::$registeredLoaders[$this->vendorDir]); + self::$registeredLoaders[$this->vendorDir] = $this; + } + } + + /** + * Unregisters this instance as an autoloader. + * + * @return void + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + + if (null !== $this->vendorDir) { + unset(self::$registeredLoaders[$this->vendorDir]); + } + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return true|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + $includeFile = self::$includeFile; + $includeFile($file); + + return true; + } + + return null; + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + /** + * Returns the currently registered loaders keyed by their corresponding vendor directories. + * + * @return array + */ + public static function getRegisteredLoaders() + { + return self::$registeredLoaders; + } + + /** + * @param string $class + * @param string $ext + * @return string|false + */ + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath . '\\'; + if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); + foreach ($this->prefixDirsPsr4[$search] as $dir) { + if (file_exists($file = $dir . $pathEnd)) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } + + /** + * @return void + */ + private static function initializeIncludeClosure() + { + if (self::$includeFile !== null) { + return; + } + + /** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + */ + self::$includeFile = \Closure::bind(static function($file) { + include $file; + }, null, null); + } +} diff --git a/wms/contract-repair/vendor/composer/InstalledVersions.php b/wms/contract-repair/vendor/composer/InstalledVersions.php new file mode 100644 index 00000000..51e734a7 --- /dev/null +++ b/wms/contract-repair/vendor/composer/InstalledVersions.php @@ -0,0 +1,359 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer; + +use Composer\Autoload\ClassLoader; +use Composer\Semver\VersionParser; + +/** + * This class is copied in every Composer installed project and available to all + * + * See also https://getcomposer.org/doc/07-runtime.md#installed-versions + * + * To require its presence, you can require `composer-runtime-api ^2.0` + * + * @final + */ +class InstalledVersions +{ + /** + * @var mixed[]|null + * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null + */ + private static $installed; + + /** + * @var bool|null + */ + private static $canGetVendors; + + /** + * @var array[] + * @psalm-var array}> + */ + private static $installedByVendor = array(); + + /** + * Returns a list of all package names which are present, either by being installed, replaced or provided + * + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackages() + { + $packages = array(); + foreach (self::getInstalled() as $installed) { + $packages[] = array_keys($installed['versions']); + } + + if (1 === \count($packages)) { + return $packages[0]; + } + + return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); + } + + /** + * Returns a list of all package names with a specific type e.g. 'library' + * + * @param string $type + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackagesByType($type) + { + $packagesByType = array(); + + foreach (self::getInstalled() as $installed) { + foreach ($installed['versions'] as $name => $package) { + if (isset($package['type']) && $package['type'] === $type) { + $packagesByType[] = $name; + } + } + } + + return $packagesByType; + } + + /** + * Checks whether the given package is installed + * + * This also returns true if the package name is provided or replaced by another package + * + * @param string $packageName + * @param bool $includeDevRequirements + * @return bool + */ + public static function isInstalled($packageName, $includeDevRequirements = true) + { + foreach (self::getInstalled() as $installed) { + if (isset($installed['versions'][$packageName])) { + return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; + } + } + + return false; + } + + /** + * Checks whether the given package satisfies a version constraint + * + * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: + * + * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') + * + * @param VersionParser $parser Install composer/semver to have access to this class and functionality + * @param string $packageName + * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package + * @return bool + */ + public static function satisfies(VersionParser $parser, $packageName, $constraint) + { + $constraint = $parser->parseConstraints((string) $constraint); + $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + + return $provided->matches($constraint); + } + + /** + * Returns a version constraint representing all the range(s) which are installed for a given package + * + * It is easier to use this via isInstalled() with the $constraint argument if you need to check + * whether a given version of a package is installed, and not just whether it exists + * + * @param string $packageName + * @return string Version constraint usable with composer/semver + */ + public static function getVersionRanges($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + $ranges = array(); + if (isset($installed['versions'][$packageName]['pretty_version'])) { + $ranges[] = $installed['versions'][$packageName]['pretty_version']; + } + if (array_key_exists('aliases', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); + } + if (array_key_exists('replaced', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); + } + if (array_key_exists('provided', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); + } + + return implode(' || ', $ranges); + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['version'])) { + return null; + } + + return $installed['versions'][$packageName]['version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getPrettyVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['pretty_version'])) { + return null; + } + + return $installed['versions'][$packageName]['pretty_version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference + */ + public static function getReference($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['reference'])) { + return null; + } + + return $installed['versions'][$packageName]['reference']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. + */ + public static function getInstallPath($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @return array + * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} + */ + public static function getRootPackage() + { + $installed = self::getInstalled(); + + return $installed[0]['root']; + } + + /** + * Returns the raw installed.php data for custom implementations + * + * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. + * @return array[] + * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} + */ + public static function getRawData() + { + @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + self::$installed = include __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + + return self::$installed; + } + + /** + * Returns the raw data of all installed.php which are currently loaded for custom implementations + * + * @return array[] + * @psalm-return list}> + */ + public static function getAllRawData() + { + return self::getInstalled(); + } + + /** + * Lets you reload the static array from another file + * + * This is only useful for complex integrations in which a project needs to use + * this class but then also needs to execute another project's autoloader in process, + * and wants to ensure both projects have access to their version of installed.php. + * + * A typical case would be PHPUnit, where it would need to make sure it reads all + * the data it needs from this class, then call reload() with + * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure + * the project in which it runs can then also use this class safely, without + * interference between PHPUnit's dependencies and the project's dependencies. + * + * @param array[] $data A vendor/composer/installed.php data set + * @return void + * + * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data + */ + public static function reload($data) + { + self::$installed = $data; + self::$installedByVendor = array(); + } + + /** + * @return array[] + * @psalm-return list}> + */ + private static function getInstalled() + { + if (null === self::$canGetVendors) { + self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); + } + + $installed = array(); + + if (self::$canGetVendors) { + foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + if (isset(self::$installedByVendor[$vendorDir])) { + $installed[] = self::$installedByVendor[$vendorDir]; + } elseif (is_file($vendorDir.'/composer/installed.php')) { + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require $vendorDir.'/composer/installed.php'; + $installed[] = self::$installedByVendor[$vendorDir] = $required; + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + self::$installed = $installed[count($installed) - 1]; + } + } + } + } + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require __DIR__ . '/installed.php'; + self::$installed = $required; + } else { + self::$installed = array(); + } + } + + if (self::$installed !== array()) { + $installed[] = self::$installed; + } + + return $installed; + } +} diff --git a/wms/contract-repair/vendor/composer/LICENSE b/wms/contract-repair/vendor/composer/LICENSE new file mode 100644 index 00000000..f27399a0 --- /dev/null +++ b/wms/contract-repair/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/wms/contract-repair/vendor/composer/autoload_classmap.php b/wms/contract-repair/vendor/composer/autoload_classmap.php new file mode 100644 index 00000000..903ddc43 --- /dev/null +++ b/wms/contract-repair/vendor/composer/autoload_classmap.php @@ -0,0 +1,24 @@ + $vendorDir . '/composer/InstalledVersions.php', + 'Datamatrix' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php', + 'PDF417' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', + 'QRcode' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/qrcode.php', + 'TCPDF' => $vendorDir . '/tecnickcom/tcpdf/tcpdf.php', + 'TCPDF2DBarcode' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_barcodes_2d.php', + 'TCPDFBarcode' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_barcodes_1d.php', + 'TCPDF_COLORS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_colors.php', + 'TCPDF_FILTERS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_filters.php', + 'TCPDF_FONTS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_fonts.php', + 'TCPDF_FONT_DATA' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_font_data.php', + 'TCPDF_IMAGES' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_images.php', + 'TCPDF_IMPORT' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_import.php', + 'TCPDF_PARSER' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_parser.php', + 'TCPDF_STATIC' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_static.php', +); diff --git a/wms/contract-repair/vendor/composer/autoload_files.php b/wms/contract-repair/vendor/composer/autoload_files.php new file mode 100644 index 00000000..0a2315f9 --- /dev/null +++ b/wms/contract-repair/vendor/composer/autoload_files.php @@ -0,0 +1,10 @@ + $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', +); diff --git a/wms/contract-repair/vendor/composer/autoload_namespaces.php b/wms/contract-repair/vendor/composer/autoload_namespaces.php new file mode 100644 index 00000000..e60f3526 --- /dev/null +++ b/wms/contract-repair/vendor/composer/autoload_namespaces.php @@ -0,0 +1,10 @@ + array($vendorDir . '/ezyang/htmlpurifier/library'), +); diff --git a/wms/contract-repair/vendor/composer/autoload_psr4.php b/wms/contract-repair/vendor/composer/autoload_psr4.php new file mode 100644 index 00000000..16a9eb08 --- /dev/null +++ b/wms/contract-repair/vendor/composer/autoload_psr4.php @@ -0,0 +1,17 @@ + array($vendorDir . '/maennchen/zipstream-php/src'), + 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), + 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src', $vendorDir . '/psr/http-factory/src'), + 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'), + 'PhpOffice\\PhpSpreadsheet\\' => array($vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet'), + 'Matrix\\' => array($vendorDir . '/markbaker/matrix/classes/src'), + 'Lo2330\\Contract\\' => array($baseDir . '/src'), + 'Complex\\' => array($vendorDir . '/markbaker/complex/classes/src'), +); diff --git a/wms/contract-repair/vendor/composer/autoload_real.php b/wms/contract-repair/vendor/composer/autoload_real.php new file mode 100644 index 00000000..c7afcb28 --- /dev/null +++ b/wms/contract-repair/vendor/composer/autoload_real.php @@ -0,0 +1,50 @@ +register(true); + + $filesToLoad = \Composer\Autoload\ComposerStaticInitb1a92901072bcf21e948dd2e6e6b9766::$files; + $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; + } + }, null, null); + foreach ($filesToLoad as $fileIdentifier => $file) { + $requireFile($fileIdentifier, $file); + } + + return $loader; + } +} diff --git a/wms/contract-repair/vendor/composer/autoload_static.php b/wms/contract-repair/vendor/composer/autoload_static.php new file mode 100644 index 00000000..da6d8864 --- /dev/null +++ b/wms/contract-repair/vendor/composer/autoload_static.php @@ -0,0 +1,113 @@ + __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', + ); + + public static $prefixLengthsPsr4 = array ( + 'Z' => + array ( + 'ZipStream\\' => 10, + ), + 'P' => + array ( + 'Psr\\SimpleCache\\' => 16, + 'Psr\\Http\\Message\\' => 17, + 'Psr\\Http\\Client\\' => 16, + 'PhpOffice\\PhpSpreadsheet\\' => 25, + ), + 'M' => + array ( + 'Matrix\\' => 7, + ), + 'L' => + array ( + 'Lo2330\\Contract\\' => 16, + ), + 'C' => + array ( + 'Complex\\' => 8, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'ZipStream\\' => + array ( + 0 => __DIR__ . '/..' . '/maennchen/zipstream-php/src', + ), + 'Psr\\SimpleCache\\' => + array ( + 0 => __DIR__ . '/..' . '/psr/simple-cache/src', + ), + 'Psr\\Http\\Message\\' => + array ( + 0 => __DIR__ . '/..' . '/psr/http-message/src', + 1 => __DIR__ . '/..' . '/psr/http-factory/src', + ), + 'Psr\\Http\\Client\\' => + array ( + 0 => __DIR__ . '/..' . '/psr/http-client/src', + ), + 'PhpOffice\\PhpSpreadsheet\\' => + array ( + 0 => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet', + ), + 'Matrix\\' => + array ( + 0 => __DIR__ . '/..' . '/markbaker/matrix/classes/src', + ), + 'Lo2330\\Contract\\' => + array ( + 0 => __DIR__ . '/../..' . '/src', + ), + 'Complex\\' => + array ( + 0 => __DIR__ . '/..' . '/markbaker/complex/classes/src', + ), + ); + + public static $prefixesPsr0 = array ( + 'H' => + array ( + 'HTMLPurifier' => + array ( + 0 => __DIR__ . '/..' . '/ezyang/htmlpurifier/library', + ), + ), + ); + + public static $classMap = array ( + 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', + 'Datamatrix' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php', + 'PDF417' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', + 'QRcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/qrcode.php', + 'TCPDF' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf.php', + 'TCPDF2DBarcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_barcodes_2d.php', + 'TCPDFBarcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_barcodes_1d.php', + 'TCPDF_COLORS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_colors.php', + 'TCPDF_FILTERS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_filters.php', + 'TCPDF_FONTS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_fonts.php', + 'TCPDF_FONT_DATA' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_font_data.php', + 'TCPDF_IMAGES' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_images.php', + 'TCPDF_IMPORT' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_import.php', + 'TCPDF_PARSER' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_parser.php', + 'TCPDF_STATIC' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_static.php', + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInitb1a92901072bcf21e948dd2e6e6b9766::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitb1a92901072bcf21e948dd2e6e6b9766::$prefixDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInitb1a92901072bcf21e948dd2e6e6b9766::$prefixesPsr0; + $loader->classMap = ComposerStaticInitb1a92901072bcf21e948dd2e6e6b9766::$classMap; + + }, null, ClassLoader::class); + } +} diff --git a/wms/contract-repair/vendor/composer/installed.json b/wms/contract-repair/vendor/composer/installed.json new file mode 100644 index 00000000..a8ea44c4 --- /dev/null +++ b/wms/contract-repair/vendor/composer/installed.json @@ -0,0 +1,673 @@ +{ + "packages": [ + { + "name": "ezyang/htmlpurifier", + "version": "v4.17.0", + "version_normalized": "4.17.0.0", + "source": { + "type": "git", + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "shasum": "" + }, + "require": { + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" + }, + "require-dev": { + "cerdic/css-tidy": "^1.7 || ^2.0", + "simpletest/simpletest": "dev-master" + }, + "suggest": { + "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", + "ext-bcmath": "Used for unit conversion and imagecrash protection", + "ext-iconv": "Converts text to and from non-UTF-8 encodings", + "ext-tidy": "Used for pretty-printing HTML" + }, + "time": "2023-11-17T15:01:25+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "library/HTMLPurifier.composer.php" + ], + "psr-0": { + "HTMLPurifier": "library/" + }, + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], + "support": { + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" + }, + "install-path": "../ezyang/htmlpurifier" + }, + { + "name": "maennchen/zipstream-php", + "version": "3.1.0", + "version_normalized": "3.1.0.0", + "source": { + "type": "git", + "url": "https://github.com/maennchen/ZipStream-PHP.git", + "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/b8174494eda667f7d13876b4a7bfef0f62a7c0d1", + "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-zlib": "*", + "php-64bit": "^8.1" + }, + "require-dev": { + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.16", + "guzzlehttp/guzzle": "^7.5", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.5", + "phpunit/phpunit": "^10.0", + "vimeo/psalm": "^5.0" + }, + "suggest": { + "guzzlehttp/psr7": "^2.4", + "psr/http-message": "^2.0" + }, + "time": "2023-06-21T14:59:35+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "ZipStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paul Duncan", + "email": "pabs@pablotron.org" + }, + { + "name": "Jonatan Männchen", + "email": "jonatan@maennchen.ch" + }, + { + "name": "Jesse Donat", + "email": "donatj@gmail.com" + }, + { + "name": "András Kolesár", + "email": "kolesar@kolesar.hu" + } + ], + "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", + "keywords": [ + "stream", + "zip" + ], + "support": { + "issues": "https://github.com/maennchen/ZipStream-PHP/issues", + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0" + }, + "funding": [ + { + "url": "https://github.com/maennchen", + "type": "github" + }, + { + "url": "https://opencollective.com/zipstream", + "type": "open_collective" + } + ], + "install-path": "../maennchen/zipstream-php" + }, + { + "name": "markbaker/complex", + "version": "3.0.2", + "version_normalized": "3.0.2.0", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPComplex.git", + "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/95c56caa1cf5c766ad6d65b6344b807c1e8405b9", + "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "phpcompatibility/php-compatibility": "^9.3", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "time": "2022-12-06T16:21:08+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Complex\\": "classes/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@lange.demon.co.uk" + } + ], + "description": "PHP Class for working with complex numbers", + "homepage": "https://github.com/MarkBaker/PHPComplex", + "keywords": [ + "complex", + "mathematics" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPComplex/issues", + "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.2" + }, + "install-path": "../markbaker/complex" + }, + { + "name": "markbaker/matrix", + "version": "3.0.1", + "version_normalized": "3.0.1.0", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPMatrix.git", + "reference": "728434227fe21be27ff6d86621a1b13107a2562c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/728434227fe21be27ff6d86621a1b13107a2562c", + "reference": "728434227fe21be27ff6d86621a1b13107a2562c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "phpcompatibility/php-compatibility": "^9.3", + "phpdocumentor/phpdocumentor": "2.*", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "2.*", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "sebastian/phpcpd": "^4.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "time": "2022-12-02T22:17:43+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Matrix\\": "classes/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@demon-angel.eu" + } + ], + "description": "PHP Class for working with matrices", + "homepage": "https://github.com/MarkBaker/PHPMatrix", + "keywords": [ + "mathematics", + "matrix", + "vector" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPMatrix/issues", + "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.1" + }, + "install-path": "../markbaker/matrix" + }, + { + "name": "phpoffice/phpspreadsheet", + "version": "1.29.0", + "version_normalized": "1.29.0.0", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", + "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-gd": "*", + "ext-iconv": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-xml": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "ext-zip": "*", + "ext-zlib": "*", + "ezyang/htmlpurifier": "^4.15", + "maennchen/zipstream-php": "^2.1 || ^3.0", + "markbaker/complex": "^3.0", + "markbaker/matrix": "^3.0", + "php": "^7.4 || ^8.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "psr/simple-cache": "^1.0 || ^2.0 || ^3.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-main", + "dompdf/dompdf": "^1.0 || ^2.0", + "friendsofphp/php-cs-fixer": "^3.2", + "mitoteam/jpgraph": "^10.3", + "mpdf/mpdf": "^8.1.1", + "phpcompatibility/php-compatibility": "^9.3", + "phpstan/phpstan": "^1.1", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^8.5 || ^9.0 || ^10.0", + "squizlabs/php_codesniffer": "^3.7", + "tecnickcom/tcpdf": "^6.5" + }, + "suggest": { + "dompdf/dompdf": "Option for rendering PDF with PDF Writer", + "ext-intl": "PHP Internationalization Functions", + "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", + "mpdf/mpdf": "Option for rendering PDF with PDF Writer", + "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" + }, + "time": "2023-06-14T22:48:31+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "https://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker", + "homepage": "https://markbakeruk.net" + }, + { + "name": "Franck Lefevre", + "homepage": "https://rootslabs.net" + }, + { + "name": "Erik Tilt" + }, + { + "name": "Adrien Crivelli" + } + ], + "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", + "keywords": [ + "OpenXML", + "excel", + "gnumeric", + "ods", + "php", + "spreadsheet", + "xls", + "xlsx" + ], + "support": { + "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.0" + }, + "install-path": "../phpoffice/phpspreadsheet" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "version_normalized": "1.0.3.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "time": "2023-09-23T14:17:50+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "install-path": "../psr/http-client" + }, + { + "name": "psr/http-factory", + "version": "1.0.2", + "version_normalized": "1.0.2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "e616d01114759c4c489f93b099585439f795fe35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "time": "2023-04-10T20:10:41+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + }, + "install-path": "../psr/http-factory" + }, + { + "name": "psr/http-message", + "version": "2.0", + "version_normalized": "2.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "time": "2023-04-04T09:54:51+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "install-path": "../psr/http-message" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "version_normalized": "3.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "time": "2021-10-29T13:26:27+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "install-path": "../psr/simple-cache" + }, + { + "name": "tecnickcom/tcpdf", + "version": "6.6.5", + "version_normalized": "6.6.5.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/TCPDF.git", + "reference": "5fce932fcee4371865314ab7f6c0d85423c5c7ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/5fce932fcee4371865314ab7f6c0d85423c5c7ce", + "reference": "5fce932fcee4371865314ab7f6c0d85423c5c7ce", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2023-09-06T15:09:26+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "config", + "include", + "tcpdf.php", + "tcpdf_parser.php", + "tcpdf_import.php", + "tcpdf_barcodes_1d.php", + "tcpdf_barcodes_2d.php", + "include/tcpdf_colors.php", + "include/tcpdf_filters.php", + "include/tcpdf_font_data.php", + "include/tcpdf_fonts.php", + "include/tcpdf_images.php", + "include/tcpdf_static.php", + "include/barcodes/datamatrix.php", + "include/barcodes/pdf417.php", + "include/barcodes/qrcode.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "TCPDF is a PHP class for generating PDF documents and barcodes.", + "homepage": "http://www.tcpdf.org/", + "keywords": [ + "PDFD32000-2008", + "TCPDF", + "barcodes", + "datamatrix", + "pdf", + "pdf417", + "qrcode" + ], + "support": { + "issues": "https://github.com/tecnickcom/TCPDF/issues", + "source": "https://github.com/tecnickcom/TCPDF/tree/6.6.5" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_donations¤cy_code=GBP&business=paypal@tecnick.com&item_name=donation%20for%20tcpdf%20project", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tcpdf" + } + ], + "dev": true, + "dev-package-names": [] +} diff --git a/wms/contract-repair/vendor/composer/installed.php b/wms/contract-repair/vendor/composer/installed.php new file mode 100644 index 00000000..9aa3ad4e --- /dev/null +++ b/wms/contract-repair/vendor/composer/installed.php @@ -0,0 +1,113 @@ + array( + 'name' => 'lo2330/contract', + 'pretty_version' => 'dev-main', + 'version' => 'dev-main', + 'reference' => '2ccb0f743f7d057dcf2554b72d1ab1e3880821c2', + 'type' => 'library', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'dev' => true, + ), + 'versions' => array( + 'ezyang/htmlpurifier' => array( + 'pretty_version' => 'v4.17.0', + 'version' => '4.17.0.0', + 'reference' => 'bbc513d79acf6691fa9cf10f192c90dd2957f18c', + 'type' => 'library', + 'install_path' => __DIR__ . '/../ezyang/htmlpurifier', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'lo2330/contract' => array( + 'pretty_version' => 'dev-main', + 'version' => 'dev-main', + 'reference' => '2ccb0f743f7d057dcf2554b72d1ab1e3880821c2', + 'type' => 'library', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'maennchen/zipstream-php' => array( + 'pretty_version' => '3.1.0', + 'version' => '3.1.0.0', + 'reference' => 'b8174494eda667f7d13876b4a7bfef0f62a7c0d1', + 'type' => 'library', + 'install_path' => __DIR__ . '/../maennchen/zipstream-php', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'markbaker/complex' => array( + 'pretty_version' => '3.0.2', + 'version' => '3.0.2.0', + 'reference' => '95c56caa1cf5c766ad6d65b6344b807c1e8405b9', + 'type' => 'library', + 'install_path' => __DIR__ . '/../markbaker/complex', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'markbaker/matrix' => array( + 'pretty_version' => '3.0.1', + 'version' => '3.0.1.0', + 'reference' => '728434227fe21be27ff6d86621a1b13107a2562c', + 'type' => 'library', + 'install_path' => __DIR__ . '/../markbaker/matrix', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'phpoffice/phpspreadsheet' => array( + 'pretty_version' => '1.29.0', + 'version' => '1.29.0.0', + 'reference' => 'fde2ccf55eaef7e86021ff1acce26479160a0fa0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../phpoffice/phpspreadsheet', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'psr/http-client' => array( + 'pretty_version' => '1.0.3', + 'version' => '1.0.3.0', + 'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90', + 'type' => 'library', + 'install_path' => __DIR__ . '/../psr/http-client', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'psr/http-factory' => array( + 'pretty_version' => '1.0.2', + 'version' => '1.0.2.0', + 'reference' => 'e616d01114759c4c489f93b099585439f795fe35', + 'type' => 'library', + 'install_path' => __DIR__ . '/../psr/http-factory', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'psr/http-message' => array( + 'pretty_version' => '2.0', + 'version' => '2.0.0.0', + 'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71', + 'type' => 'library', + 'install_path' => __DIR__ . '/../psr/http-message', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'psr/simple-cache' => array( + 'pretty_version' => '3.0.0', + 'version' => '3.0.0.0', + 'reference' => '764e0b3939f5ca87cb904f570ef9be2d78a07865', + 'type' => 'library', + 'install_path' => __DIR__ . '/../psr/simple-cache', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tcpdf' => array( + 'pretty_version' => '6.6.5', + 'version' => '6.6.5.0', + 'reference' => '5fce932fcee4371865314ab7f6c0d85423c5c7ce', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tcpdf', + 'aliases' => array(), + 'dev_requirement' => false, + ), + ), +); diff --git a/wms/contract-repair/vendor/composer/platform_check.php b/wms/contract-repair/vendor/composer/platform_check.php new file mode 100644 index 00000000..f71b2f89 --- /dev/null +++ b/wms/contract-repair/vendor/composer/platform_check.php @@ -0,0 +1,30 @@ += 80100)) { + $issues[] = 'Your Composer dependencies require a PHP version ">= 8.1.0". You are running ' . PHP_VERSION . '.'; +} + +if (PHP_INT_SIZE !== 8) { + $issues[] = 'Your Composer dependencies require a 64-bit build of PHP.'; +} + +if ($issues) { + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); + } elseif (!headers_sent()) { + echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; + } + } + trigger_error( + 'Composer detected issues in your platform: ' . implode(' ', $issues), + E_USER_ERROR + ); +} diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/CREDITS b/wms/contract-repair/vendor/ezyang/htmlpurifier/CREDITS new file mode 100644 index 00000000..7921b45a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/CREDITS @@ -0,0 +1,9 @@ + +CREDITS + +Almost everything written by Edward Z. Yang (Ambush Commander). Lots of thanks +to the DevNetwork Community for their help (see docs/ref-devnetwork.html for +more details), Feyd especially (namely IPv6 and optimization). Thanks to RSnake +for letting me package his fantastic XSS cheatsheet for a smoketest. + + vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/LICENSE b/wms/contract-repair/vendor/ezyang/htmlpurifier/LICENSE new file mode 100644 index 00000000..8c88a20d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/README.md b/wms/contract-repair/vendor/ezyang/htmlpurifier/README.md new file mode 100644 index 00000000..e6b7199c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/README.md @@ -0,0 +1,29 @@ +HTML Purifier [![Build Status](https://github.com/ezyang/htmlpurifier/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/ezyang/htmlpurifier/actions/workflows/ci.yml) +============= + +HTML Purifier is an HTML filtering solution that uses a unique combination +of robust whitelists and aggressive parsing to ensure that not only are +XSS attacks thwarted, but the resulting HTML is standards compliant. + +HTML Purifier is oriented towards richly formatted documents from +untrusted sources that require CSS and a full tag-set. This library can +be configured to accept a more restrictive set of tags, but it won't be +as efficient as more bare-bones parsers. It will, however, do the job +right, which may be more important. + +Places to go: + +* See INSTALL for a quick installation guide +* See docs/ for developer-oriented documentation, code examples and + an in-depth installation guide. +* See WYSIWYG for information on editors like TinyMCE and FCKeditor + +HTML Purifier can be found on the web at: [http://htmlpurifier.org/](http://htmlpurifier.org/) + +## Installation + +Package available on [Composer](https://packagist.org/packages/ezyang/htmlpurifier). + +If you're using Composer to manage dependencies, you can use + + $ composer require ezyang/htmlpurifier diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/VERSION b/wms/contract-repair/vendor/ezyang/htmlpurifier/VERSION new file mode 100644 index 00000000..8643e722 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/VERSION @@ -0,0 +1 @@ +4.17.0 \ No newline at end of file diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/composer.json b/wms/contract-repair/vendor/ezyang/htmlpurifier/composer.json new file mode 100644 index 00000000..ed46bd5c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/composer.json @@ -0,0 +1,45 @@ +{ + "name": "ezyang/htmlpurifier", + "description": "Standards compliant HTML filter written in PHP", + "type": "library", + "keywords": ["html"], + "homepage": "http://htmlpurifier.org/", + "license": "LGPL-2.1-or-later", + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "require": { + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" + }, + "require-dev": { + "cerdic/css-tidy": "^1.7 || ^2.0", + "simpletest/simpletest": "dev-master" + }, + "autoload": { + "psr-0": { "HTMLPurifier": "library/" }, + "files": ["library/HTMLPurifier.composer.php"], + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "suggest": { + "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", + "ext-iconv": "Converts text to and from non-UTF-8 encodings", + "ext-bcmath": "Used for unit conversion and imagecrash protection", + "ext-tidy": "Used for pretty-printing HTML" + }, + "config": { + "sort-packages": true + }, + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/ezyang/simpletest.git", + "no-api": true + } + ] +} diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php new file mode 100644 index 00000000..1960c399 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php @@ -0,0 +1,11 @@ +purify($html, $config); +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php new file mode 100644 index 00000000..77ebf2de --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php @@ -0,0 +1,235 @@ + $attributes) { + $allowed_elements[$element] = true; + foreach ($attributes as $attribute => $x) { + $allowed_attributes["$element.$attribute"] = true; + } + } + $config->set('HTML.AllowedElements', $allowed_elements); + $config->set('HTML.AllowedAttributes', $allowed_attributes); + if ($allowed_protocols !== null) { + $config->set('URI.AllowedSchemes', $allowed_protocols); + } + $purifier = new HTMLPurifier($config); + return $purifier->purify($string); +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php new file mode 100644 index 00000000..39b1b653 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php @@ -0,0 +1,11 @@ +config = HTMLPurifier_Config::create($config); + $this->strategy = new HTMLPurifier_Strategy_Core(); + } + + /** + * Adds a filter to process the output. First come first serve + * + * @param HTMLPurifier_Filter $filter HTMLPurifier_Filter object + */ + public function addFilter($filter) + { + trigger_error( + 'HTMLPurifier->addFilter() is deprecated, use configuration directives' . + ' in the Filter namespace or Filter.Custom', + E_USER_WARNING + ); + $this->filters[] = $filter; + } + + /** + * Filters an HTML snippet/document to be XSS-free and standards-compliant. + * + * @param string $html String of HTML to purify + * @param HTMLPurifier_Config $config Config object for this operation, + * if omitted, defaults to the config object specified during this + * object's construction. The parameter can also be any type + * that HTMLPurifier_Config::create() supports. + * + * @return string Purified HTML + */ + public function purify($html, $config = null) + { + // :TODO: make the config merge in, instead of replace + $config = $config ? HTMLPurifier_Config::create($config) : $this->config; + + // implementation is partially environment dependant, partially + // configuration dependant + $lexer = HTMLPurifier_Lexer::create($config); + + $context = new HTMLPurifier_Context(); + + // setup HTML generator + $this->generator = new HTMLPurifier_Generator($config, $context); + $context->register('Generator', $this->generator); + + // set up global context variables + if ($config->get('Core.CollectErrors')) { + // may get moved out if other facilities use it + $language_factory = HTMLPurifier_LanguageFactory::instance(); + $language = $language_factory->create($config, $context); + $context->register('Locale', $language); + + $error_collector = new HTMLPurifier_ErrorCollector($context); + $context->register('ErrorCollector', $error_collector); + } + + // setup id_accumulator context, necessary due to the fact that + // AttrValidator can be called from many places + $id_accumulator = HTMLPurifier_IDAccumulator::build($config, $context); + $context->register('IDAccumulator', $id_accumulator); + + $html = HTMLPurifier_Encoder::convertToUTF8($html, $config, $context); + + // setup filters + $filter_flags = $config->getBatch('Filter'); + $custom_filters = $filter_flags['Custom']; + unset($filter_flags['Custom']); + $filters = array(); + foreach ($filter_flags as $filter => $flag) { + if (!$flag) { + continue; + } + if (strpos($filter, '.') !== false) { + continue; + } + $class = "HTMLPurifier_Filter_$filter"; + $filters[] = new $class; + } + foreach ($custom_filters as $filter) { + // maybe "HTMLPurifier_Filter_$filter", but be consistent with AutoFormat + $filters[] = $filter; + } + $filters = array_merge($filters, $this->filters); + // maybe prepare(), but later + + for ($i = 0, $filter_size = count($filters); $i < $filter_size; $i++) { + $html = $filters[$i]->preFilter($html, $config, $context); + } + + // purified HTML + $html = + $this->generator->generateFromTokens( + // list of tokens + $this->strategy->execute( + // list of un-purified tokens + $lexer->tokenizeHTML( + // un-purified HTML + $html, + $config, + $context + ), + $config, + $context + ) + ); + + for ($i = $filter_size - 1; $i >= 0; $i--) { + $html = $filters[$i]->postFilter($html, $config, $context); + } + + $html = HTMLPurifier_Encoder::convertFromUTF8($html, $config, $context); + $this->context =& $context; + return $html; + } + + /** + * Filters an array of HTML snippets + * + * @param string[] $array_of_html Array of html snippets + * @param HTMLPurifier_Config $config Optional config object for this operation. + * See HTMLPurifier::purify() for more details. + * + * @return string[] Array of purified HTML + */ + public function purifyArray($array_of_html, $config = null) + { + $context_array = array(); + $array = array(); + foreach($array_of_html as $key=>$value){ + if (is_array($value)) { + $array[$key] = $this->purifyArray($value, $config); + } else { + $array[$key] = $this->purify($value, $config); + } + $context_array[$key] = $this->context; + } + $this->context = $context_array; + return $array; + } + + /** + * Singleton for enforcing just one HTML Purifier in your system + * + * @param HTMLPurifier|HTMLPurifier_Config $prototype Optional prototype + * HTMLPurifier instance to overload singleton with, + * or HTMLPurifier_Config instance to configure the + * generated version with. + * + * @return HTMLPurifier + */ + public static function instance($prototype = null) + { + if (!self::$instance || $prototype) { + if ($prototype instanceof HTMLPurifier) { + self::$instance = $prototype; + } elseif ($prototype) { + self::$instance = new HTMLPurifier($prototype); + } else { + self::$instance = new HTMLPurifier(); + } + } + return self::$instance; + } + + /** + * Singleton for enforcing just one HTML Purifier in your system + * + * @param HTMLPurifier|HTMLPurifier_Config $prototype Optional prototype + * HTMLPurifier instance to overload singleton with, + * or HTMLPurifier_Config instance to configure the + * generated version with. + * + * @return HTMLPurifier + * @note Backwards compatibility, see instance() + */ + public static function getInstance($prototype = null) + { + return HTMLPurifier::instance($prototype); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php new file mode 100644 index 00000000..94543f59 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php @@ -0,0 +1,229 @@ +getHTMLDefinition(); + $parent = new HTMLPurifier_Token_Start($definition->info_parent); + $stack = array($parent->toNode()); + foreach ($tokens as $token) { + $token->skip = null; // [MUT] + $token->carryover = null; // [MUT] + if ($token instanceof HTMLPurifier_Token_End) { + $token->start = null; // [MUT] + $r = array_pop($stack); + //assert($r->name === $token->name); + //assert(empty($token->attr)); + $r->endCol = $token->col; + $r->endLine = $token->line; + $r->endArmor = $token->armor; + continue; + } + $node = $token->toNode(); + $stack[count($stack)-1]->children[] = $node; + if ($token instanceof HTMLPurifier_Token_Start) { + $stack[] = $node; + } + } + //assert(count($stack) == 1); + return $stack[0]; + } + + public static function flatten($node, $config, $context) { + $level = 0; + $nodes = array($level => new HTMLPurifier_Queue(array($node))); + $closingTokens = array(); + $tokens = array(); + do { + while (!$nodes[$level]->isEmpty()) { + $node = $nodes[$level]->shift(); // FIFO + list($start, $end) = $node->toTokenPair(); + if ($level > 0) { + $tokens[] = $start; + } + if ($end !== NULL) { + $closingTokens[$level][] = $end; + } + if ($node instanceof HTMLPurifier_Node_Element) { + $level++; + $nodes[$level] = new HTMLPurifier_Queue(); + foreach ($node->children as $childNode) { + $nodes[$level]->push($childNode); + } + } + } + $level--; + if ($level && isset($closingTokens[$level])) { + while ($token = array_pop($closingTokens[$level])) { + $tokens[] = $token; + } + } + } while ($level > 0); + return $tokens; + } +} diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php new file mode 100644 index 00000000..c7b17cf1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php @@ -0,0 +1,148 @@ +doConstruct($attr_types, $modules); + } + + public function doConstruct($attr_types, $modules) + { + // load extensions from the modules + foreach ($modules as $module) { + foreach ($module->attr_collections as $coll_i => $coll) { + if (!isset($this->info[$coll_i])) { + $this->info[$coll_i] = array(); + } + foreach ($coll as $attr_i => $attr) { + if ($attr_i === 0 && isset($this->info[$coll_i][$attr_i])) { + // merge in includes + $this->info[$coll_i][$attr_i] = array_merge( + $this->info[$coll_i][$attr_i], + $attr + ); + continue; + } + $this->info[$coll_i][$attr_i] = $attr; + } + } + } + // perform internal expansions and inclusions + foreach ($this->info as $name => $attr) { + // merge attribute collections that include others + $this->performInclusions($this->info[$name]); + // replace string identifiers with actual attribute objects + $this->expandIdentifiers($this->info[$name], $attr_types); + } + } + + /** + * Takes a reference to an attribute associative array and performs + * all inclusions specified by the zero index. + * @param array &$attr Reference to attribute array + */ + public function performInclusions(&$attr) + { + if (!isset($attr[0])) { + return; + } + $merge = $attr[0]; + $seen = array(); // recursion guard + // loop through all the inclusions + for ($i = 0; isset($merge[$i]); $i++) { + if (isset($seen[$merge[$i]])) { + continue; + } + $seen[$merge[$i]] = true; + // foreach attribute of the inclusion, copy it over + if (!isset($this->info[$merge[$i]])) { + continue; + } + foreach ($this->info[$merge[$i]] as $key => $value) { + if (isset($attr[$key])) { + continue; + } // also catches more inclusions + $attr[$key] = $value; + } + if (isset($this->info[$merge[$i]][0])) { + // recursion + $merge = array_merge($merge, $this->info[$merge[$i]][0]); + } + } + unset($attr[0]); + } + + /** + * Expands all string identifiers in an attribute array by replacing + * them with the appropriate values inside HTMLPurifier_AttrTypes + * @param array &$attr Reference to attribute array + * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes instance + */ + public function expandIdentifiers(&$attr, $attr_types) + { + // because foreach will process new elements we add, make sure we + // skip duplicates + $processed = array(); + + foreach ($attr as $def_i => $def) { + // skip inclusions + if ($def_i === 0) { + continue; + } + + if (isset($processed[$def_i])) { + continue; + } + + // determine whether or not attribute is required + if ($required = (strpos($def_i, '*') !== false)) { + // rename the definition + unset($attr[$def_i]); + $def_i = trim($def_i, '*'); + $attr[$def_i] = $def; + } + + $processed[$def_i] = true; + + // if we've already got a literal object, move on + if (is_object($def)) { + // preserve previous required + $attr[$def_i]->required = ($required || $attr[$def_i]->required); + continue; + } + + if ($def === false) { + unset($attr[$def_i]); + continue; + } + + if ($t = $attr_types->get($def)) { + $attr[$def_i] = $t; + $attr[$def_i]->required = $required; + } else { + unset($attr[$def_i]); + } + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php new file mode 100644 index 00000000..739646fa --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php @@ -0,0 +1,144 @@ + by removing + * leading and trailing whitespace, ignoring line feeds, and replacing + * carriage returns and tabs with spaces. While most useful for HTML + * attributes specified as CDATA, it can also be applied to most CSS + * values. + * + * @note This method is not entirely standards compliant, as trim() removes + * more types of whitespace than specified in the spec. In practice, + * this is rarely a problem, as those extra characters usually have + * already been removed by HTMLPurifier_Encoder. + * + * @warning This processing is inconsistent with XML's whitespace handling + * as specified by section 3.3.3 and referenced XHTML 1.0 section + * 4.7. However, note that we are NOT necessarily + * parsing XML, thus, this behavior may still be correct. We + * assume that newlines have been normalized. + */ + public function parseCDATA($string) + { + $string = trim($string); + $string = str_replace(array("\n", "\t", "\r"), ' ', $string); + return $string; + } + + /** + * Factory method for creating this class from a string. + * @param string $string String construction info + * @return HTMLPurifier_AttrDef Created AttrDef object corresponding to $string + */ + public function make($string) + { + // default implementation, return a flyweight of this object. + // If $string has an effect on the returned object (i.e. you + // need to overload this method), it is best + // to clone or instantiate new copies. (Instantiation is safer.) + return $this; + } + + /** + * Removes spaces from rgb(0, 0, 0) so that shorthand CSS properties work + * properly. THIS IS A HACK! + * @param string $string a CSS colour definition + * @return string + */ + protected function mungeRgb($string) + { + $p = '\s*(\d+(\.\d+)?([%]?))\s*'; + + if (preg_match('/(rgba|hsla)\(/', $string)) { + return preg_replace('/(rgba|hsla)\('.$p.','.$p.','.$p.','.$p.'\)/', '\1(\2,\5,\8,\11)', $string); + } + + return preg_replace('/(rgb|hsl)\('.$p.','.$p.','.$p.'\)/', '\1(\2,\5,\8)', $string); + } + + /** + * Parses a possibly escaped CSS string and returns the "pure" + * version of it. + */ + protected function expandCSSEscape($string) + { + // flexibly parse it + $ret = ''; + for ($i = 0, $c = strlen($string); $i < $c; $i++) { + if ($string[$i] === '\\') { + $i++; + if ($i >= $c) { + $ret .= '\\'; + break; + } + if (ctype_xdigit($string[$i])) { + $code = $string[$i]; + for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) { + if (!ctype_xdigit($string[$i])) { + break; + } + $code .= $string[$i]; + } + // We have to be extremely careful when adding + // new characters, to make sure we're not breaking + // the encoding. + $char = HTMLPurifier_Encoder::unichr(hexdec($code)); + if (HTMLPurifier_Encoder::cleanUTF8($char) === '') { + continue; + } + $ret .= $char; + if ($i < $c && trim($string[$i]) !== '') { + $i--; + } + continue; + } + if ($string[$i] === "\n") { + continue; + } + } + $ret .= $string[$i]; + } + return $ret; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php new file mode 100644 index 00000000..ad2cb90a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php @@ -0,0 +1,136 @@ +parseCDATA($css); + + $definition = $config->getCSSDefinition(); + $allow_duplicates = $config->get("CSS.AllowDuplicates"); + + + // According to the CSS2.1 spec, the places where a + // non-delimiting semicolon can appear are in strings + // escape sequences. So here is some dumb hack to + // handle quotes. + $len = strlen($css); + $accum = ""; + $declarations = array(); + $quoted = false; + for ($i = 0; $i < $len; $i++) { + $c = strcspn($css, ";'\"", $i); + $accum .= substr($css, $i, $c); + $i += $c; + if ($i == $len) break; + $d = $css[$i]; + if ($quoted) { + $accum .= $d; + if ($d == $quoted) { + $quoted = false; + } + } else { + if ($d == ";") { + $declarations[] = $accum; + $accum = ""; + } else { + $accum .= $d; + $quoted = $d; + } + } + } + if ($accum != "") $declarations[] = $accum; + + $propvalues = array(); + $new_declarations = ''; + + /** + * Name of the current CSS property being validated. + */ + $property = false; + $context->register('CurrentCSSProperty', $property); + + foreach ($declarations as $declaration) { + if (!$declaration) { + continue; + } + if (!strpos($declaration, ':')) { + continue; + } + list($property, $value) = explode(':', $declaration, 2); + $property = trim($property); + $value = trim($value); + $ok = false; + do { + if (isset($definition->info[$property])) { + $ok = true; + break; + } + if (ctype_lower($property)) { + break; + } + $property = strtolower($property); + if (isset($definition->info[$property])) { + $ok = true; + break; + } + } while (0); + if (!$ok) { + continue; + } + // inefficient call, since the validator will do this again + if (strtolower(trim($value)) !== 'inherit') { + // inherit works for everything (but only on the base property) + $result = $definition->info[$property]->validate( + $value, + $config, + $context + ); + } else { + $result = 'inherit'; + } + if ($result === false) { + continue; + } + if ($allow_duplicates) { + $new_declarations .= "$property:$result;"; + } else { + $propvalues[$property] = $result; + } + } + + $context->destroy('CurrentCSSProperty'); + + // procedure does not write the new CSS simultaneously, so it's + // slightly inefficient, but it's the only way of getting rid of + // duplicates. Perhaps config to optimize it, but not now. + + foreach ($propvalues as $prop => $value) { + $new_declarations .= "$prop:$value;"; + } + + return $new_declarations ? $new_declarations : false; + + } + +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php new file mode 100644 index 00000000..af2b83df --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php @@ -0,0 +1,34 @@ + 1.0) { + $result = '1'; + } + return $result; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php new file mode 100644 index 00000000..28c49883 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php @@ -0,0 +1,113 @@ +getCSSDefinition(); + $this->info['background-color'] = $def->info['background-color']; + $this->info['background-image'] = $def->info['background-image']; + $this->info['background-repeat'] = $def->info['background-repeat']; + $this->info['background-attachment'] = $def->info['background-attachment']; + $this->info['background-position'] = $def->info['background-position']; + $this->info['background-size'] = $def->info['background-size']; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + // regular pre-processing + $string = $this->parseCDATA($string); + if ($string === '') { + return false; + } + + // munge rgb() decl if necessary + $string = $this->mungeRgb($string); + + // assumes URI doesn't have spaces in it + $bits = explode(' ', $string); // bits to process + + $caught = array(); + $caught['color'] = false; + $caught['image'] = false; + $caught['repeat'] = false; + $caught['attachment'] = false; + $caught['position'] = false; + $caught['size'] = false; + + $i = 0; // number of catches + + foreach ($bits as $bit) { + if ($bit === '') { + continue; + } + foreach ($caught as $key => $status) { + if ($key != 'position') { + if ($status !== false) { + continue; + } + $r = $this->info['background-' . $key]->validate($bit, $config, $context); + } else { + $r = $bit; + } + if ($r === false) { + continue; + } + if ($key == 'position') { + if ($caught[$key] === false) { + $caught[$key] = ''; + } + $caught[$key] .= $r . ' '; + } else { + $caught[$key] = $r; + } + $i++; + break; + } + } + + if (!$i) { + return false; + } + if ($caught['position'] !== false) { + $caught['position'] = $this->info['background-position']-> + validate($caught['position'], $config, $context); + } + + $ret = array(); + foreach ($caught as $value) { + if ($value === false) { + continue; + } + $ret[] = $value; + } + + if (empty($ret)) { + return false; + } + return implode(' ', $ret); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php new file mode 100644 index 00000000..4580ef5a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php @@ -0,0 +1,157 @@ + | | left | center | right + ] + [ + | | top | center | bottom + ]? + ] | + [ // this signifies that the vertical and horizontal adjectives + // can be arbitrarily ordered, however, there can only be two, + // one of each, or none at all + [ + left | center | right + ] || + [ + top | center | bottom + ] + ] + top, left = 0% + center, (none) = 50% + bottom, right = 100% +*/ + +/* QuirksMode says: + keyword + length/percentage must be ordered correctly, as per W3C + + Internet Explorer and Opera, however, support arbitrary ordering. We + should fix it up. + + Minor issue though, not strictly necessary. +*/ + +// control freaks may appreciate the ability to convert these to +// percentages or something, but it's not necessary + +/** + * Validates the value of background-position. + */ +class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef +{ + + /** + * @type HTMLPurifier_AttrDef_CSS_Length + */ + protected $length; + + /** + * @type HTMLPurifier_AttrDef_CSS_Percentage + */ + protected $percentage; + + public function __construct() + { + $this->length = new HTMLPurifier_AttrDef_CSS_Length(); + $this->percentage = new HTMLPurifier_AttrDef_CSS_Percentage(); + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $string = $this->parseCDATA($string); + $bits = explode(' ', $string); + + $keywords = array(); + $keywords['h'] = false; // left, right + $keywords['v'] = false; // top, bottom + $keywords['ch'] = false; // center (first word) + $keywords['cv'] = false; // center (second word) + $measures = array(); + + $i = 0; + + $lookup = array( + 'top' => 'v', + 'bottom' => 'v', + 'left' => 'h', + 'right' => 'h', + 'center' => 'c' + ); + + foreach ($bits as $bit) { + if ($bit === '') { + continue; + } + + // test for keyword + $lbit = ctype_lower($bit) ? $bit : strtolower($bit); + if (isset($lookup[$lbit])) { + $status = $lookup[$lbit]; + if ($status == 'c') { + if ($i == 0) { + $status = 'ch'; + } else { + $status = 'cv'; + } + } + $keywords[$status] = $lbit; + $i++; + } + + // test for length + $r = $this->length->validate($bit, $config, $context); + if ($r !== false) { + $measures[] = $r; + $i++; + } + + // test for percentage + $r = $this->percentage->validate($bit, $config, $context); + if ($r !== false) { + $measures[] = $r; + $i++; + } + } + + if (!$i) { + return false; + } // no valid values were caught + + $ret = array(); + + // first keyword + if ($keywords['h']) { + $ret[] = $keywords['h']; + } elseif ($keywords['ch']) { + $ret[] = $keywords['ch']; + $keywords['cv'] = false; // prevent re-use: center = center center + } elseif (count($measures)) { + $ret[] = array_shift($measures); + } + + if ($keywords['v']) { + $ret[] = $keywords['v']; + } elseif ($keywords['cv']) { + $ret[] = $keywords['cv']; + } elseif (count($measures)) { + $ret[] = array_shift($measures); + } + + if (empty($ret)) { + return false; + } + return implode(' ', $ret); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php new file mode 100644 index 00000000..16243ba1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php @@ -0,0 +1,56 @@ +getCSSDefinition(); + $this->info['border-width'] = $def->info['border-width']; + $this->info['border-style'] = $def->info['border-style']; + $this->info['border-top-color'] = $def->info['border-top-color']; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $string = $this->parseCDATA($string); + $string = $this->mungeRgb($string); + $bits = explode(' ', $string); + $done = array(); // segments we've finished + $ret = ''; // return value + foreach ($bits as $bit) { + foreach ($this->info as $propname => $validator) { + if (isset($done[$propname])) { + continue; + } + $r = $validator->validate($bit, $config, $context); + if ($r !== false) { + $ret .= $r . ' '; + $done[$propname] = true; + break; + } + } + } + return rtrim($ret); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php new file mode 100644 index 00000000..d7287a00 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php @@ -0,0 +1,161 @@ +alpha = new HTMLPurifier_AttrDef_CSS_AlphaValue(); + } + + /** + * @param string $color + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($color, $config, $context) + { + static $colors = null; + if ($colors === null) { + $colors = $config->get('Core.ColorKeywords'); + } + + $color = trim($color); + if ($color === '') { + return false; + } + + $lower = strtolower($color); + if (isset($colors[$lower])) { + return $colors[$lower]; + } + + if (preg_match('#(rgb|rgba|hsl|hsla)\(#', $color, $matches) === 1) { + $length = strlen($color); + if (strpos($color, ')') !== $length - 1) { + return false; + } + + // get used function : rgb, rgba, hsl or hsla + $function = $matches[1]; + + $parameters_size = 3; + $alpha_channel = false; + if (substr($function, -1) === 'a') { + $parameters_size = 4; + $alpha_channel = true; + } + + /* + * Allowed types for values : + * parameter_position => [type => max_value] + */ + $allowed_types = array( + 1 => array('percentage' => 100, 'integer' => 255), + 2 => array('percentage' => 100, 'integer' => 255), + 3 => array('percentage' => 100, 'integer' => 255), + ); + $allow_different_types = false; + + if (strpos($function, 'hsl') !== false) { + $allowed_types = array( + 1 => array('integer' => 360), + 2 => array('percentage' => 100), + 3 => array('percentage' => 100), + ); + $allow_different_types = true; + } + + $values = trim(str_replace($function, '', $color), ' ()'); + + $parts = explode(',', $values); + if (count($parts) !== $parameters_size) { + return false; + } + + $type = false; + $new_parts = array(); + $i = 0; + + foreach ($parts as $part) { + $i++; + $part = trim($part); + + if ($part === '') { + return false; + } + + // different check for alpha channel + if ($alpha_channel === true && $i === count($parts)) { + $result = $this->alpha->validate($part, $config, $context); + + if ($result === false) { + return false; + } + + $new_parts[] = (string)$result; + continue; + } + + if (substr($part, -1) === '%') { + $current_type = 'percentage'; + } else { + $current_type = 'integer'; + } + + if (!array_key_exists($current_type, $allowed_types[$i])) { + return false; + } + + if (!$type) { + $type = $current_type; + } + + if ($allow_different_types === false && $type != $current_type) { + return false; + } + + $max_value = $allowed_types[$i][$current_type]; + + if ($current_type == 'integer') { + // Return value between range 0 -> $max_value + $new_parts[] = (int)max(min($part, $max_value), 0); + } elseif ($current_type == 'percentage') { + $new_parts[] = (float)max(min(rtrim($part, '%'), $max_value), 0) . '%'; + } + } + + $new_values = implode(',', $new_parts); + + $color = $function . '(' . $new_values . ')'; + } else { + // hexadecimal handling + if ($color[0] === '#') { + $hex = substr($color, 1); + } else { + $hex = $color; + $color = '#' . $color; + } + $length = strlen($hex); + if ($length !== 3 && $length !== 6) { + return false; + } + if (!ctype_xdigit($hex)) { + return false; + } + } + return $color; + } + +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php new file mode 100644 index 00000000..9c175055 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php @@ -0,0 +1,48 @@ +defs = $defs; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + foreach ($this->defs as $i => $def) { + $result = $this->defs[$i]->validate($string, $config, $context); + if ($result !== false) { + return $result; + } + } + return false; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php new file mode 100644 index 00000000..9d77cc9a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php @@ -0,0 +1,44 @@ +def = $def; + $this->element = $element; + } + + /** + * Checks if CurrentToken is set and equal to $this->element + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $token = $context->get('CurrentToken', true); + if ($token && $token->name == $this->element) { + return false; + } + return $this->def->validate($string, $config, $context); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php new file mode 100644 index 00000000..bde4c330 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php @@ -0,0 +1,77 @@ +intValidator = new HTMLPurifier_AttrDef_Integer(); + } + + /** + * @param string $value + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($value, $config, $context) + { + $value = $this->parseCDATA($value); + if ($value === 'none') { + return $value; + } + // if we looped this we could support multiple filters + $function_length = strcspn($value, '('); + $function = trim(substr($value, 0, $function_length)); + if ($function !== 'alpha' && + $function !== 'Alpha' && + $function !== 'progid:DXImageTransform.Microsoft.Alpha' + ) { + return false; + } + $cursor = $function_length + 1; + $parameters_length = strcspn($value, ')', $cursor); + $parameters = substr($value, $cursor, $parameters_length); + $params = explode(',', $parameters); + $ret_params = array(); + $lookup = array(); + foreach ($params as $param) { + list($key, $value) = explode('=', $param); + $key = trim($key); + $value = trim($value); + if (isset($lookup[$key])) { + continue; + } + if ($key !== 'opacity') { + continue; + } + $value = $this->intValidator->validate($value, $config, $context); + if ($value === false) { + continue; + } + $int = (int)$value; + if ($int > 100) { + $value = '100'; + } + if ($int < 0) { + $value = '0'; + } + $ret_params[] = "$key=$value"; + $lookup[$key] = true; + } + $ret_parameters = implode(',', $ret_params); + $ret_function = "$function($ret_parameters)"; + return $ret_function; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php new file mode 100644 index 00000000..579b97ef --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php @@ -0,0 +1,176 @@ +getCSSDefinition(); + $this->info['font-style'] = $def->info['font-style']; + $this->info['font-variant'] = $def->info['font-variant']; + $this->info['font-weight'] = $def->info['font-weight']; + $this->info['font-size'] = $def->info['font-size']; + $this->info['line-height'] = $def->info['line-height']; + $this->info['font-family'] = $def->info['font-family']; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + static $system_fonts = array( + 'caption' => true, + 'icon' => true, + 'menu' => true, + 'message-box' => true, + 'small-caption' => true, + 'status-bar' => true + ); + + // regular pre-processing + $string = $this->parseCDATA($string); + if ($string === '') { + return false; + } + + // check if it's one of the keywords + $lowercase_string = strtolower($string); + if (isset($system_fonts[$lowercase_string])) { + return $lowercase_string; + } + + $bits = explode(' ', $string); // bits to process + $stage = 0; // this indicates what we're looking for + $caught = array(); // which stage 0 properties have we caught? + $stage_1 = array('font-style', 'font-variant', 'font-weight'); + $final = ''; // output + + for ($i = 0, $size = count($bits); $i < $size; $i++) { + if ($bits[$i] === '') { + continue; + } + switch ($stage) { + case 0: // attempting to catch font-style, font-variant or font-weight + foreach ($stage_1 as $validator_name) { + if (isset($caught[$validator_name])) { + continue; + } + $r = $this->info[$validator_name]->validate( + $bits[$i], + $config, + $context + ); + if ($r !== false) { + $final .= $r . ' '; + $caught[$validator_name] = true; + break; + } + } + // all three caught, continue on + if (count($caught) >= 3) { + $stage = 1; + } + if ($r !== false) { + break; + } + case 1: // attempting to catch font-size and perhaps line-height + $found_slash = false; + if (strpos($bits[$i], '/') !== false) { + list($font_size, $line_height) = + explode('/', $bits[$i]); + if ($line_height === '') { + // ooh, there's a space after the slash! + $line_height = false; + $found_slash = true; + } + } else { + $font_size = $bits[$i]; + $line_height = false; + } + $r = $this->info['font-size']->validate( + $font_size, + $config, + $context + ); + if ($r !== false) { + $final .= $r; + // attempt to catch line-height + if ($line_height === false) { + // we need to scroll forward + for ($j = $i + 1; $j < $size; $j++) { + if ($bits[$j] === '') { + continue; + } + if ($bits[$j] === '/') { + if ($found_slash) { + return false; + } else { + $found_slash = true; + continue; + } + } + $line_height = $bits[$j]; + break; + } + } else { + // slash already found + $found_slash = true; + $j = $i; + } + if ($found_slash) { + $i = $j; + $r = $this->info['line-height']->validate( + $line_height, + $config, + $context + ); + if ($r !== false) { + $final .= '/' . $r; + } + } + $final .= ' '; + $stage = 2; + break; + } + return false; + case 2: // attempting to catch font-family + $font_family = + implode(' ', array_slice($bits, $i, $size - $i)); + $r = $this->info['font-family']->validate( + $font_family, + $config, + $context + ); + if ($r !== false) { + $final .= $r . ' '; + // processing completed successfully + return rtrim($final); + } + return false; + } + } + return false; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php new file mode 100644 index 00000000..f1ff1163 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php @@ -0,0 +1,217 @@ +mask = array_reduce($c, function ($carry, $value) { + return $carry . $value; + }, '_- '); + + /* + PHP's internal strcspn implementation is + O(length of string * length of mask), making it inefficient + for large masks. However, it's still faster than + preg_match 8) + for (p = s1;;) { + spanp = s2; + do { + if (*spanp == c || p == s1_end) { + return p - s1; + } + } while (spanp++ < (s2_end - 1)); + c = *++p; + } + */ + // possible optimization: invert the mask. + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + static $generic_names = array( + 'serif' => true, + 'sans-serif' => true, + 'monospace' => true, + 'fantasy' => true, + 'cursive' => true + ); + $allowed_fonts = $config->get('CSS.AllowedFonts'); + + // assume that no font names contain commas in them + $fonts = explode(',', $string); + $final = ''; + foreach ($fonts as $font) { + $font = trim($font); + if ($font === '') { + continue; + } + // match a generic name + if (isset($generic_names[$font])) { + if ($allowed_fonts === null || isset($allowed_fonts[$font])) { + $final .= $font . ', '; + } + continue; + } + // match a quoted name + if ($font[0] === '"' || $font[0] === "'") { + $length = strlen($font); + if ($length <= 2) { + continue; + } + $quote = $font[0]; + if ($font[$length - 1] !== $quote) { + continue; + } + $font = substr($font, 1, $length - 2); + } + + $font = $this->expandCSSEscape($font); + + // $font is a pure representation of the font name + + if ($allowed_fonts !== null && !isset($allowed_fonts[$font])) { + continue; + } + + if (ctype_alnum($font) && $font !== '') { + // very simple font, allow it in unharmed + $final .= $font . ', '; + continue; + } + + // bugger out on whitespace. form feed (0C) really + // shouldn't show up regardless + $font = str_replace(array("\n", "\t", "\r", "\x0C"), ' ', $font); + + // Here, there are various classes of characters which need + // to be treated differently: + // - Alphanumeric characters are essentially safe. We + // handled these above. + // - Spaces require quoting, though most parsers will do + // the right thing if there aren't any characters that + // can be misinterpreted + // - Dashes rarely occur, but they fairly unproblematic + // for parsing/rendering purposes. + // The above characters cover the majority of Western font + // names. + // - Arbitrary Unicode characters not in ASCII. Because + // most parsers give little thought to Unicode, treatment + // of these codepoints is basically uniform, even for + // punctuation-like codepoints. These characters can + // show up in non-Western pages and are supported by most + // major browsers, for example: "MS 明朝" is a + // legitimate font-name + // . See + // the CSS3 spec for more examples: + // + // You can see live samples of these on the Internet: + // + // However, most of these fonts have ASCII equivalents: + // for example, 'MS Mincho', and it's considered + // professional to use ASCII font names instead of + // Unicode font names. Thanks Takeshi Terada for + // providing this information. + // The following characters, to my knowledge, have not been + // used to name font names. + // - Single quote. While theoretically you might find a + // font name that has a single quote in its name (serving + // as an apostrophe, e.g. Dave's Scribble), I haven't + // been able to find any actual examples of this. + // Internet Explorer's cssText translation (which I + // believe is invoked by innerHTML) normalizes any + // quoting to single quotes, and fails to escape single + // quotes. (Note that this is not IE's behavior for all + // CSS properties, just some sort of special casing for + // font-family). So a single quote *cannot* be used + // safely in the font-family context if there will be an + // innerHTML/cssText translation. Note that Firefox 3.x + // does this too. + // - Double quote. In IE, these get normalized to + // single-quotes, no matter what the encoding. (Fun + // fact, in IE8, the 'content' CSS property gained + // support, where they special cased to preserve encoded + // double quotes, but still translate unadorned double + // quotes into single quotes.) So, because their + // fixpoint behavior is identical to single quotes, they + // cannot be allowed either. Firefox 3.x displays + // single-quote style behavior. + // - Backslashes are reduced by one (so \\ -> \) every + // iteration, so they cannot be used safely. This shows + // up in IE7, IE8 and FF3 + // - Semicolons, commas and backticks are handled properly. + // - The rest of the ASCII punctuation is handled properly. + // We haven't checked what browsers do to unadorned + // versions, but this is not important as long as the + // browser doesn't /remove/ surrounding quotes (as IE does + // for HTML). + // + // With these results in hand, we conclude that there are + // various levels of safety: + // - Paranoid: alphanumeric, spaces and dashes(?) + // - International: Paranoid + non-ASCII Unicode + // - Edgy: Everything except quotes, backslashes + // - NoJS: Standards compliance, e.g. sod IE. Note that + // with some judicious character escaping (since certain + // types of escaping doesn't work) this is theoretically + // OK as long as innerHTML/cssText is not called. + // We believe that international is a reasonable default + // (that we will implement now), and once we do more + // extensive research, we may feel comfortable with dropping + // it down to edgy. + + // Edgy: alphanumeric, spaces, dashes, underscores and Unicode. Use of + // str(c)spn assumes that the string was already well formed + // Unicode (which of course it is). + if (strspn($font, $this->mask) !== strlen($font)) { + continue; + } + + // Historical: + // In the absence of innerHTML/cssText, these ugly + // transforms don't pose a security risk (as \\ and \" + // might--these escapes are not supported by most browsers). + // We could try to be clever and use single-quote wrapping + // when there is a double quote present, but I have choosen + // not to implement that. (NOTE: you can reduce the amount + // of escapes by one depending on what quoting style you use) + // $font = str_replace('\\', '\\5C ', $font); + // $font = str_replace('"', '\\22 ', $font); + // $font = str_replace("'", '\\27 ', $font); + + // font possibly with spaces, requires quoting + $final .= "'$font', "; + } + $final = rtrim($final, ', '); + if ($final === '') { + return false; + } + return $final; + } + +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php new file mode 100644 index 00000000..973002c1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php @@ -0,0 +1,32 @@ +def = $def; + $this->allow = $allow; + } + + /** + * Intercepts and removes !important if necessary + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + // test for ! and important tokens + $string = trim($string); + $is_important = false; + // :TODO: optimization: test directly for !important and ! important + if (strlen($string) >= 9 && substr($string, -9) === 'important') { + $temp = rtrim(substr($string, 0, -9)); + // use a temp, because we might want to restore important + if (strlen($temp) >= 1 && substr($temp, -1) === '!') { + $string = rtrim(substr($temp, 0, -1)); + $is_important = true; + } + } + $string = $this->def->validate($string, $config, $context); + if ($this->allow && $is_important) { + $string .= ' !important'; + } + return $string; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php new file mode 100644 index 00000000..f12453a0 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php @@ -0,0 +1,77 @@ +min = $min !== null ? HTMLPurifier_Length::make($min) : null; + $this->max = $max !== null ? HTMLPurifier_Length::make($max) : null; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $string = $this->parseCDATA($string); + + // Optimizations + if ($string === '') { + return false; + } + if ($string === '0') { + return '0'; + } + if (strlen($string) === 1) { + return false; + } + + $length = HTMLPurifier_Length::make($string); + if (!$length->isValid()) { + return false; + } + + if ($this->min) { + $c = $length->compareTo($this->min); + if ($c === false) { + return false; + } + if ($c < 0) { + return false; + } + } + if ($this->max) { + $c = $length->compareTo($this->max); + if ($c === false) { + return false; + } + if ($c > 0) { + return false; + } + } + return $length->toString(); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php new file mode 100644 index 00000000..e74d4265 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php @@ -0,0 +1,112 @@ +getCSSDefinition(); + $this->info['list-style-type'] = $def->info['list-style-type']; + $this->info['list-style-position'] = $def->info['list-style-position']; + $this->info['list-style-image'] = $def->info['list-style-image']; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + // regular pre-processing + $string = $this->parseCDATA($string); + if ($string === '') { + return false; + } + + // assumes URI doesn't have spaces in it + $bits = explode(' ', strtolower($string)); // bits to process + + $caught = array(); + $caught['type'] = false; + $caught['position'] = false; + $caught['image'] = false; + + $i = 0; // number of catches + $none = false; + + foreach ($bits as $bit) { + if ($i >= 3) { + return; + } // optimization bit + if ($bit === '') { + continue; + } + foreach ($caught as $key => $status) { + if ($status !== false) { + continue; + } + $r = $this->info['list-style-' . $key]->validate($bit, $config, $context); + if ($r === false) { + continue; + } + if ($r === 'none') { + if ($none) { + continue; + } else { + $none = true; + } + if ($key == 'image') { + continue; + } + } + $caught[$key] = $r; + $i++; + break; + } + } + + if (!$i) { + return false; + } + + $ret = array(); + + // construct type + if ($caught['type']) { + $ret[] = $caught['type']; + } + + // construct image + if ($caught['image']) { + $ret[] = $caught['image']; + } + + // construct position + if ($caught['position']) { + $ret[] = $caught['position']; + } + + if (empty($ret)) { + return false; + } + return implode(' ', $ret); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php new file mode 100644 index 00000000..e707f871 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php @@ -0,0 +1,71 @@ +single = $single; + $this->max = $max; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $string = $this->mungeRgb($this->parseCDATA($string)); + if ($string === '') { + return false; + } + $parts = explode(' ', $string); // parseCDATA replaced \r, \t and \n + $length = count($parts); + $final = ''; + for ($i = 0, $num = 0; $i < $length && $num < $this->max; $i++) { + if (ctype_space($parts[$i])) { + continue; + } + $result = $this->single->validate($parts[$i], $config, $context); + if ($result !== false) { + $final .= $result . ' '; + $num++; + } + } + if ($final === '') { + return false; + } + return rtrim($final); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php new file mode 100644 index 00000000..ef49d20f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php @@ -0,0 +1,90 @@ +non_negative = $non_negative; + } + + /** + * @param string $number + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return string|bool + * @warning Some contexts do not pass $config, $context. These + * variables should not be used without checking HTMLPurifier_Length + */ + public function validate($number, $config, $context) + { + $number = $this->parseCDATA($number); + + if ($number === '') { + return false; + } + if ($number === '0') { + return '0'; + } + + $sign = ''; + switch ($number[0]) { + case '-': + if ($this->non_negative) { + return false; + } + $sign = '-'; + case '+': + $number = substr($number, 1); + } + + if (ctype_digit($number)) { + $number = ltrim($number, '0'); + return $number ? $sign . $number : '0'; + } + + // Period is the only non-numeric character allowed + if (strpos($number, '.') === false) { + return false; + } + + list($left, $right) = explode('.', $number, 2); + + if ($left === '' && $right === '') { + return false; + } + if ($left !== '' && !ctype_digit($left)) { + return false; + } + + // Remove leading zeros until positive number or a zero stays left + if (ltrim($left, '0') != '') { + $left = ltrim($left, '0'); + } else { + $left = '0'; + } + + $right = rtrim($right, '0'); + + if ($right === '') { + return $left ? $sign . $left : '0'; + } elseif (!ctype_digit($right)) { + return false; + } + return $sign . $left . '.' . $right; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php new file mode 100644 index 00000000..f0f25c50 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php @@ -0,0 +1,54 @@ +number_def = new HTMLPurifier_AttrDef_CSS_Number($non_negative); + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $string = $this->parseCDATA($string); + + if ($string === '') { + return false; + } + $length = strlen($string); + if ($length === 1) { + return false; + } + if ($string[$length - 1] !== '%') { + return false; + } + + $number = substr($string, 0, $length - 1); + $number = $this->number_def->validate($number, $config, $context); + + if ($number === false) { + return false; + } + return "$number%"; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php new file mode 100644 index 00000000..5fd4b7f7 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php @@ -0,0 +1,46 @@ + true, + 'overline' => true, + 'underline' => true, + ); + + $string = strtolower($this->parseCDATA($string)); + + if ($string === 'none') { + return $string; + } + + $parts = explode(' ', $string); + $final = ''; + foreach ($parts as $part) { + if (isset($allowed_values[$part])) { + $final .= $part . ' '; + } + } + $final = rtrim($final); + if ($final === '') { + return false; + } + return $final; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php new file mode 100644 index 00000000..6617acac --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php @@ -0,0 +1,77 @@ +parseCDATA($uri_string); + if (strpos($uri_string, 'url(') !== 0) { + return false; + } + $uri_string = substr($uri_string, 4); + if (strlen($uri_string) == 0) { + return false; + } + $new_length = strlen($uri_string) - 1; + if ($uri_string[$new_length] != ')') { + return false; + } + $uri = trim(substr($uri_string, 0, $new_length)); + + if (!empty($uri) && ($uri[0] == "'" || $uri[0] == '"')) { + $quote = $uri[0]; + $new_length = strlen($uri) - 1; + if ($uri[$new_length] !== $quote) { + return false; + } + $uri = substr($uri, 1, $new_length - 1); + } + + $uri = $this->expandCSSEscape($uri); + + $result = parent::validate($uri, $config, $context); + + if ($result === false) { + return false; + } + + // extra sanity check; should have been done by URI + $result = str_replace(array('"', "\\", "\n", "\x0c", "\r"), "", $result); + + // suspicious characters are ()'; we're going to percent encode + // them for safety. + $result = str_replace(array('(', ')', "'"), array('%28', '%29', '%27'), $result); + + // there's an extra bug where ampersands lose their escaping on + // an innerHTML cycle, so a very unlucky query parameter could + // then change the meaning of the URL. Unfortunately, there's + // not much we can do about that... + return "url(\"$result\")"; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php new file mode 100644 index 00000000..6698a00c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php @@ -0,0 +1,44 @@ +clone = $clone; + } + + /** + * @param string $v + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($v, $config, $context) + { + return $this->clone->validate($v, $config, $context); + } + + /** + * @param string $string + * @return HTMLPurifier_AttrDef + */ + public function make($string) + { + return clone $this->clone; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php new file mode 100644 index 00000000..8abda7f6 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php @@ -0,0 +1,73 @@ +valid_values = array_flip($valid_values); + $this->case_sensitive = $case_sensitive; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $string = trim($string); + if (!$this->case_sensitive) { + // we may want to do full case-insensitive libraries + $string = ctype_lower($string) ? $string : strtolower($string); + } + $result = isset($this->valid_values[$string]); + + return $result ? $string : false; + } + + /** + * @param string $string In form of comma-delimited list of case-insensitive + * valid values. Example: "foo,bar,baz". Prepend "s:" to make + * case sensitive + * @return HTMLPurifier_AttrDef_Enum + */ + public function make($string) + { + if (strlen($string) > 2 && $string[0] == 's' && $string[1] == ':') { + $string = substr($string, 2); + $sensitive = true; + } else { + $sensitive = false; + } + $values = explode(',', $string); + return new HTMLPurifier_AttrDef_Enum($values, $sensitive); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php new file mode 100644 index 00000000..be3bbc8d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php @@ -0,0 +1,48 @@ +name = $name; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + return $this->name; + } + + /** + * @param string $string Name of attribute + * @return HTMLPurifier_AttrDef_HTML_Bool + */ + public function make($string) + { + return new HTMLPurifier_AttrDef_HTML_Bool($string); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php new file mode 100644 index 00000000..d5013488 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php @@ -0,0 +1,48 @@ +getDefinition('HTML')->doctype->name; + if ($name == "XHTML 1.1" || $name == "XHTML 2.0") { + return parent::split($string, $config, $context); + } else { + return preg_split('/\s+/', $string); + } + } + + /** + * @param array $tokens + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + protected function filter($tokens, $config, $context) + { + $allowed = $config->get('Attr.AllowedClasses'); + $forbidden = $config->get('Attr.ForbiddenClasses'); + $ret = array(); + foreach ($tokens as $token) { + if (($allowed === null || isset($allowed[$token])) && + !isset($forbidden[$token]) && + // We need this O(n) check because of PHP's array + // implementation that casts -0 to 0. + !in_array($token, $ret, true) + ) { + $ret[] = $token; + } + } + return $ret; + } +} diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php new file mode 100644 index 00000000..946ebb78 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php @@ -0,0 +1,51 @@ +get('Core.ColorKeywords'); + } + + $string = trim($string); + + if (empty($string)) { + return false; + } + $lower = strtolower($string); + if (isset($colors[$lower])) { + return $colors[$lower]; + } + if ($string[0] === '#') { + $hex = substr($string, 1); + } else { + $hex = $string; + } + + $length = strlen($hex); + if ($length !== 3 && $length !== 6) { + return false; + } + if (!ctype_xdigit($hex)) { + return false; + } + if ($length === 3) { + $hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2]; + } + return "#$hex"; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ContentEditable.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ContentEditable.php new file mode 100644 index 00000000..5b03d3e3 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ContentEditable.php @@ -0,0 +1,16 @@ +get('HTML.Trusted')) { + $allowed = array('', 'true', 'false'); + } + + $enum = new HTMLPurifier_AttrDef_Enum($allowed); + + return $enum->validate($string, $config, $context); + } +} diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php new file mode 100644 index 00000000..d79ba12b --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php @@ -0,0 +1,38 @@ +valid_values === false) { + $this->valid_values = $config->get('Attr.AllowedFrameTargets'); + } + return parent::validate($string, $config, $context); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php new file mode 100644 index 00000000..4ba45610 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php @@ -0,0 +1,113 @@ +selector = $selector; + } + + /** + * @param string $id + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($id, $config, $context) + { + if (!$this->selector && !$config->get('Attr.EnableID')) { + return false; + } + + $id = trim($id); // trim it first + + if ($id === '') { + return false; + } + + $prefix = $config->get('Attr.IDPrefix'); + if ($prefix !== '') { + $prefix .= $config->get('Attr.IDPrefixLocal'); + // prevent re-appending the prefix + if (strpos($id, $prefix) !== 0) { + $id = $prefix . $id; + } + } elseif ($config->get('Attr.IDPrefixLocal') !== '') { + trigger_error( + '%Attr.IDPrefixLocal cannot be used unless ' . + '%Attr.IDPrefix is set', + E_USER_WARNING + ); + } + + if (!$this->selector) { + $id_accumulator =& $context->get('IDAccumulator'); + if (isset($id_accumulator->ids[$id])) { + return false; + } + } + + // we purposely avoid using regex, hopefully this is faster + + if ($config->get('Attr.ID.HTML5') === true) { + if (preg_match('/[\t\n\x0b\x0c ]/', $id)) { + return false; + } + } else { + if (ctype_alpha($id)) { + // OK + } else { + if (!ctype_alpha(@$id[0])) { + return false; + } + // primitive style of regexps, I suppose + $trim = trim( + $id, + 'A..Za..z0..9:-._' + ); + if ($trim !== '') { + return false; + } + } + } + + $regexp = $config->get('Attr.IDBlacklistRegexp'); + if ($regexp && preg_match($regexp, $id)) { + return false; + } + + if (!$this->selector) { + $id_accumulator->add($id); + } + + // if no change was made to the ID, return the result + // else, return the new id if stripping whitespace made it + // valid, or return false. + return $id; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php new file mode 100644 index 00000000..1c4006fb --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php @@ -0,0 +1,56 @@ + 100) { + return '100%'; + } + return ((string)$points) . '%'; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php new file mode 100644 index 00000000..63fa04c1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php @@ -0,0 +1,72 @@ + 'AllowedRel', + 'rev' => 'AllowedRev' + ); + if (!isset($configLookup[$name])) { + trigger_error( + 'Unrecognized attribute name for link ' . + 'relationship.', + E_USER_ERROR + ); + return; + } + $this->name = $configLookup[$name]; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $allowed = $config->get('Attr.' . $this->name); + if (empty($allowed)) { + return false; + } + + $string = $this->parseCDATA($string); + $parts = explode(' ', $string); + + // lookup to prevent duplicates + $ret_lookup = array(); + foreach ($parts as $part) { + $part = strtolower(trim($part)); + if (!isset($allowed[$part])) { + continue; + } + $ret_lookup[$part] = true; + } + + if (empty($ret_lookup)) { + return false; + } + $string = implode(' ', array_keys($ret_lookup)); + return $string; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php new file mode 100644 index 00000000..bbb20f2f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php @@ -0,0 +1,60 @@ +split($string, $config, $context); + $tokens = $this->filter($tokens, $config, $context); + if (empty($tokens)) { + return false; + } + return implode(' ', $tokens); + } + + /** + * Splits a space separated list of tokens into its constituent parts. + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + protected function split($string, $config, $context) + { + // OPTIMIZABLE! + // do the preg_match, capture all subpatterns for reformulation + + // we don't support U+00A1 and up codepoints or + // escaping because I don't know how to do that with regexps + // and plus it would complicate optimization efforts (you never + // see that anyway). + $pattern = '/(?:(?<=\s)|\A)' . // look behind for space or string start + '((?:--|-?[A-Za-z_])[A-Za-z_\-0-9]*)' . + '(?:(?=\s)|\z)/'; // look ahead for space or string end + preg_match_all($pattern, $string, $matches); + return $matches[1]; + } + + /** + * Template method for removing certain tokens based on arbitrary criteria. + * @note If we wanted to be really functional, we'd do an array_filter + * with a callback. But... we're not. + * @param array $tokens + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + protected function filter($tokens, $config, $context) + { + return $tokens; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php new file mode 100644 index 00000000..a1d019e0 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php @@ -0,0 +1,76 @@ +max = $max; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $string = trim($string); + if ($string === '0') { + return $string; + } + if ($string === '') { + return false; + } + $length = strlen($string); + if (substr($string, $length - 2) == 'px') { + $string = substr($string, 0, $length - 2); + } + if (!is_numeric($string)) { + return false; + } + $int = (int)$string; + + if ($int < 0) { + return '0'; + } + + // upper-bound value, extremely high values can + // crash operating systems, see + // WARNING, above link WILL crash you if you're using Windows + + if ($this->max !== null && $int > $this->max) { + return (string)$this->max; + } + return (string)$int; + } + + /** + * @param string $string + * @return HTMLPurifier_AttrDef + */ + public function make($string) + { + if ($string === '') { + $max = null; + } else { + $max = (int)$string; + } + $class = get_class($this); + return new $class($max); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php new file mode 100644 index 00000000..400e707d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php @@ -0,0 +1,91 @@ +negative = $negative; + $this->zero = $zero; + $this->positive = $positive; + } + + /** + * @param string $integer + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($integer, $config, $context) + { + $integer = $this->parseCDATA($integer); + if ($integer === '') { + return false; + } + + // we could possibly simply typecast it to integer, but there are + // certain fringe cases that must not return an integer. + + // clip leading sign + if ($this->negative && $integer[0] === '-') { + $digits = substr($integer, 1); + if ($digits === '0') { + $integer = '0'; + } // rm minus sign for zero + } elseif ($this->positive && $integer[0] === '+') { + $digits = $integer = substr($integer, 1); // rm unnecessary plus + } else { + $digits = $integer; + } + + // test if it's numeric + if (!ctype_digit($digits)) { + return false; + } + + // perform scope tests + if (!$this->zero && $integer == 0) { + return false; + } + if (!$this->positive && $integer > 0) { + return false; + } + if (!$this->negative && $integer < 0) { + return false; + } + + return $integer; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php new file mode 100644 index 00000000..2a55cea6 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php @@ -0,0 +1,86 @@ + 8 || !ctype_alnum($subtags[1])) { + return $new_string; + } + if (!ctype_lower($subtags[1])) { + $subtags[1] = strtolower($subtags[1]); + } + + $new_string .= '-' . $subtags[1]; + if ($num_subtags == 2) { + return $new_string; + } + + // process all other subtags, index 2 and up + for ($i = 2; $i < $num_subtags; $i++) { + $length = strlen($subtags[$i]); + if ($length == 0 || $length > 8 || !ctype_alnum($subtags[$i])) { + return $new_string; + } + if (!ctype_lower($subtags[$i])) { + $subtags[$i] = strtolower($subtags[$i]); + } + $new_string .= '-' . $subtags[$i]; + } + return $new_string; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php new file mode 100644 index 00000000..c7eb3199 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php @@ -0,0 +1,53 @@ +tag = $tag; + $this->withTag = $with_tag; + $this->withoutTag = $without_tag; + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $token = $context->get('CurrentToken', true); + if (!$token || $token->name !== $this->tag) { + return $this->withoutTag->validate($string, $config, $context); + } else { + return $this->withTag->validate($string, $config, $context); + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php new file mode 100644 index 00000000..4553a4ea --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php @@ -0,0 +1,21 @@ +parseCDATA($string); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php new file mode 100644 index 00000000..c1cd8977 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php @@ -0,0 +1,111 @@ +parser = new HTMLPurifier_URIParser(); + $this->embedsResource = (bool)$embeds_resource; + } + + /** + * @param string $string + * @return HTMLPurifier_AttrDef_URI + */ + public function make($string) + { + $embeds = ($string === 'embedded'); + return new HTMLPurifier_AttrDef_URI($embeds); + } + + /** + * @param string $uri + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($uri, $config, $context) + { + if ($config->get('URI.Disable')) { + return false; + } + + $uri = $this->parseCDATA($uri); + + // parse the URI + $uri = $this->parser->parse($uri); + if ($uri === false) { + return false; + } + + // add embedded flag to context for validators + $context->register('EmbeddedURI', $this->embedsResource); + + $ok = false; + do { + + // generic validation + $result = $uri->validate($config, $context); + if (!$result) { + break; + } + + // chained filtering + $uri_def = $config->getDefinition('URI'); + $result = $uri_def->filter($uri, $config, $context); + if (!$result) { + break; + } + + // scheme-specific validation + $scheme_obj = $uri->getSchemeObj($config, $context); + if (!$scheme_obj) { + break; + } + if ($this->embedsResource && !$scheme_obj->browsable) { + break; + } + $result = $scheme_obj->validate($uri, $config, $context); + if (!$result) { + break; + } + + // Post chained filtering + $result = $uri_def->postFilter($uri, $config, $context); + if (!$result) { + break; + } + + // survived gauntlet + $ok = true; + + } while (false); + + $context->destroy('EmbeddedURI'); + if (!$ok) { + return false; + } + // back to string + return $uri->toString(); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php new file mode 100644 index 00000000..daf32b76 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php @@ -0,0 +1,20 @@ +" + // that needs more percent encoding to be done + if ($string == '') { + return false; + } + $string = trim($string); + $result = preg_match('/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $string); + return $result ? $string : false; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php new file mode 100644 index 00000000..ddc5dfbe --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php @@ -0,0 +1,142 @@ +ipv4 = new HTMLPurifier_AttrDef_URI_IPv4(); + $this->ipv6 = new HTMLPurifier_AttrDef_URI_IPv6(); + } + + /** + * @param string $string + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool|string + */ + public function validate($string, $config, $context) + { + $length = strlen($string); + // empty hostname is OK; it's usually semantically equivalent: + // the default host as defined by a URI scheme is used: + // + // If the URI scheme defines a default for host, then that + // default applies when the host subcomponent is undefined + // or when the registered name is empty (zero length). + if ($string === '') { + return ''; + } + if ($length > 1 && $string[0] === '[' && $string[$length - 1] === ']') { + //IPv6 + $ip = substr($string, 1, $length - 2); + $valid = $this->ipv6->validate($ip, $config, $context); + if ($valid === false) { + return false; + } + return '[' . $valid . ']'; + } + + // need to do checks on unusual encodings too + $ipv4 = $this->ipv4->validate($string, $config, $context); + if ($ipv4 !== false) { + return $ipv4; + } + + // A regular domain name. + + // This doesn't match I18N domain names, but we don't have proper IRI support, + // so force users to insert Punycode. + + // There is not a good sense in which underscores should be + // allowed, since it's technically not! (And if you go as + // far to allow everything as specified by the DNS spec... + // well, that's literally everything, modulo some space limits + // for the components and the overall name (which, by the way, + // we are NOT checking!). So we (arbitrarily) decide this: + // let's allow underscores wherever we would have allowed + // hyphens, if they are enabled. This is a pretty good match + // for browser behavior, for example, a large number of browsers + // cannot handle foo_.example.com, but foo_bar.example.com is + // fairly well supported. + $underscore = $config->get('Core.AllowHostnameUnderscore') ? '_' : ''; + + // Based off of RFC 1738, but amended so that + // as per RFC 3696, the top label need only not be all numeric. + // The productions describing this are: + $a = '[a-z]'; // alpha + $an = '[a-z0-9]'; // alphanum + $and = "[a-z0-9-$underscore]"; // alphanum | "-" + // domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum + $domainlabel = "$an(?:$and*$an)?"; + // AMENDED as per RFC 3696 + // toplabel = alphanum | alphanum *( alphanum | "-" ) alphanum + // side condition: not all numeric + $toplabel = "$an(?:$and*$an)?"; + // hostname = *( domainlabel "." ) toplabel [ "." ] + if (preg_match("/^(?:$domainlabel\.)*($toplabel)\.?$/i", $string, $matches)) { + if (!ctype_digit($matches[1])) { + return $string; + } + } + + // PHP 5.3 and later support this functionality natively + if (function_exists('idn_to_ascii')) { + if (defined('IDNA_NONTRANSITIONAL_TO_ASCII') && defined('INTL_IDNA_VARIANT_UTS46')) { + $string = idn_to_ascii($string, IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46); + } else { + $string = idn_to_ascii($string); + } + + // If we have Net_IDNA2 support, we can support IRIs by + // punycoding them. (This is the most portable thing to do, + // since otherwise we have to assume browsers support + } elseif ($config->get('Core.EnableIDNA') && class_exists('Net_IDNA2')) { + $idna = new Net_IDNA2(array('encoding' => 'utf8', 'overlong' => false, 'strict' => true)); + // we need to encode each period separately + $parts = explode('.', $string); + try { + $new_parts = array(); + foreach ($parts as $part) { + $encodable = false; + for ($i = 0, $c = strlen($part); $i < $c; $i++) { + if (ord($part[$i]) > 0x7a) { + $encodable = true; + break; + } + } + if (!$encodable) { + $new_parts[] = $part; + } else { + $new_parts[] = $idna->encode($part); + } + } + $string = implode('.', $new_parts); + } catch (Exception $e) { + // XXX error reporting + } + } + // Try again + if (preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string)) { + return $string; + } + return false; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php new file mode 100644 index 00000000..30ac16c9 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php @@ -0,0 +1,45 @@ +ip4) { + $this->_loadRegex(); + } + + if (preg_match('#^' . $this->ip4 . '$#s', $aIP)) { + return $aIP; + } + return false; + } + + /** + * Lazy load function to prevent regex from being stuffed in + * cache. + */ + protected function _loadRegex() + { + $oct = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; // 0-255 + $this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})"; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php new file mode 100644 index 00000000..f243793e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php @@ -0,0 +1,89 @@ +ip4) { + $this->_loadRegex(); + } + + $original = $aIP; + + $hex = '[0-9a-fA-F]'; + $blk = '(?:' . $hex . '{1,4})'; + $pre = '(?:/(?:12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))'; // /0 - /128 + + // prefix check + if (strpos($aIP, '/') !== false) { + if (preg_match('#' . $pre . '$#s', $aIP, $find)) { + $aIP = substr($aIP, 0, 0 - strlen($find[0])); + unset($find); + } else { + return false; + } + } + + // IPv4-compatiblity check + if (preg_match('#(?<=:' . ')' . $this->ip4 . '$#s', $aIP, $find)) { + $aIP = substr($aIP, 0, 0 - strlen($find[0])); + $ip = explode('.', $find[0]); + $ip = array_map('dechex', $ip); + $aIP .= $ip[0] . $ip[1] . ':' . $ip[2] . $ip[3]; + unset($find, $ip); + } + + // compression check + $aIP = explode('::', $aIP); + $c = count($aIP); + if ($c > 2) { + return false; + } elseif ($c == 2) { + list($first, $second) = $aIP; + $first = explode(':', $first); + $second = explode(':', $second); + + if (count($first) + count($second) > 8) { + return false; + } + + while (count($first) < 8) { + array_push($first, '0'); + } + + array_splice($first, 8 - count($second), 8, $second); + $aIP = $first; + unset($first, $second); + } else { + $aIP = explode(':', $aIP[0]); + } + $c = count($aIP); + + if ($c != 8) { + return false; + } + + // All the pieces should be 16-bit hex strings. Are they? + foreach ($aIP as $piece) { + if (!preg_match('#^[0-9a-fA-F]{4}$#s', sprintf('%04s', $piece))) { + return false; + } + } + return $original; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php new file mode 100644 index 00000000..b428331f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php @@ -0,0 +1,60 @@ +confiscateAttr($attr, 'background'); + // some validation should happen here + + $this->prependCSS($attr, "background-image:url($background);"); + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php new file mode 100644 index 00000000..d66c04a5 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php @@ -0,0 +1,27 @@ +get('Attr.DefaultTextDir'); + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php new file mode 100644 index 00000000..0f51fd2c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php @@ -0,0 +1,28 @@ +confiscateAttr($attr, 'bgcolor'); + // some validation should happen here + + $this->prependCSS($attr, "background-color:$bgcolor;"); + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php new file mode 100644 index 00000000..f25cd019 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php @@ -0,0 +1,47 @@ +attr = $attr; + $this->css = $css; + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr[$this->attr])) { + return $attr; + } + unset($attr[$this->attr]); + $this->prependCSS($attr, $this->css); + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php new file mode 100644 index 00000000..057dc017 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php @@ -0,0 +1,26 @@ +confiscateAttr($attr, 'border'); + // some validation should happen here + $this->prependCSS($attr, "border:{$border_width}px solid;"); + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php new file mode 100644 index 00000000..7ccd0e3f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php @@ -0,0 +1,68 @@ +attr = $attr; + $this->enumToCSS = $enum_to_css; + $this->caseSensitive = (bool)$case_sensitive; + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr[$this->attr])) { + return $attr; + } + + $value = trim($attr[$this->attr]); + unset($attr[$this->attr]); + + if (!$this->caseSensitive) { + $value = strtolower($value); + } + + if (!isset($this->enumToCSS[$value])) { + return $attr; + } + $this->prependCSS($attr, $this->enumToCSS[$value]); + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php new file mode 100644 index 00000000..235ebb34 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php @@ -0,0 +1,47 @@ +get('Core.RemoveInvalidImg')) { + return $attr; + } + $attr['src'] = $config->get('Attr.DefaultInvalidImage'); + $src = false; + } + + if (!isset($attr['alt'])) { + if ($src) { + $alt = $config->get('Attr.DefaultImageAlt'); + if ($alt === null) { + $attr['alt'] = basename($attr['src']); + } else { + $attr['alt'] = $alt; + } + } else { + $attr['alt'] = $config->get('Attr.DefaultInvalidImageAlt'); + } + } + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php new file mode 100644 index 00000000..350b3358 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php @@ -0,0 +1,61 @@ + array('left', 'right'), + 'vspace' => array('top', 'bottom') + ); + + /** + * @param string $attr + */ + public function __construct($attr) + { + $this->attr = $attr; + if (!isset($this->css[$attr])) { + trigger_error(htmlspecialchars($attr) . ' is not valid space attribute'); + } + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr[$this->attr])) { + return $attr; + } + + $width = $this->confiscateAttr($attr, $this->attr); + // some validation could happen here + + if (!isset($this->css[$this->attr])) { + return $attr; + } + + $style = ''; + foreach ($this->css[$this->attr] as $suffix) { + $property = "margin-$suffix"; + $style .= "$property:{$width}px;"; + } + $this->prependCSS($attr, $style); + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php new file mode 100644 index 00000000..3ab47ed8 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php @@ -0,0 +1,56 @@ +pixels = new HTMLPurifier_AttrDef_HTML_Pixels(); + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr['type'])) { + $t = 'text'; + } else { + $t = strtolower($attr['type']); + } + if (isset($attr['checked']) && $t !== 'radio' && $t !== 'checkbox') { + unset($attr['checked']); + } + if (isset($attr['maxlength']) && $t !== 'text' && $t !== 'password') { + unset($attr['maxlength']); + } + if (isset($attr['size']) && $t !== 'text' && $t !== 'password') { + $result = $this->pixels->validate($attr['size'], $config, $context); + if ($result === false) { + unset($attr['size']); + } else { + $attr['size'] = $result; + } + } + if (isset($attr['src']) && $t !== 'image') { + unset($attr['src']); + } + if (!isset($attr['value']) && ($t === 'radio' || $t === 'checkbox')) { + $attr['value'] = ''; + } + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php new file mode 100644 index 00000000..5b0aff0e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php @@ -0,0 +1,31 @@ +name = $name; + $this->cssName = $css_name ? $css_name : $name; + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr[$this->name])) { + return $attr; + } + $length = $this->confiscateAttr($attr, $this->name); + if (ctype_digit($length)) { + $length .= 'px'; + } + $this->prependCSS($attr, $this->cssName . ":$length;"); + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php new file mode 100644 index 00000000..63cce683 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php @@ -0,0 +1,33 @@ +get('HTML.Attr.Name.UseCDATA')) { + return $attr; + } + if (!isset($attr['name'])) { + return $attr; + } + $id = $this->confiscateAttr($attr, 'name'); + if (isset($attr['id'])) { + return $attr; + } + $attr['id'] = $id; + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php new file mode 100644 index 00000000..5a1fdbbf --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php @@ -0,0 +1,46 @@ +idDef = new HTMLPurifier_AttrDef_HTML_ID(); + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr['name'])) { + return $attr; + } + $name = $attr['name']; + if (isset($attr['id']) && $attr['id'] === $name) { + return $attr; + } + $result = $this->idDef->validate($name, $config, $context); + if ($result === false) { + unset($attr['name']); + } else { + $attr['name'] = $result; + } + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php new file mode 100644 index 00000000..1057ebee --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php @@ -0,0 +1,52 @@ +parser = new HTMLPurifier_URIParser(); + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr['href'])) { + return $attr; + } + + // XXX Kind of inefficient + $url = $this->parser->parse($attr['href']); + $scheme = $url->getSchemeObj($config, $context); + + if ($scheme->browsable && !$url->isLocal($config, $context)) { + if (isset($attr['rel'])) { + $rels = explode(' ', $attr['rel']); + if (!in_array('nofollow', $rels)) { + $rels[] = 'nofollow'; + } + $attr['rel'] = implode(' ', $rels); + } else { + $attr['rel'] = 'nofollow'; + } + } + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php new file mode 100644 index 00000000..231c81a3 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php @@ -0,0 +1,25 @@ +uri = new HTMLPurifier_AttrDef_URI(true); // embedded + $this->wmode = new HTMLPurifier_AttrDef_Enum(array('window', 'opaque', 'transparent')); + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + // If we add support for other objects, we'll need to alter the + // transforms. + switch ($attr['name']) { + // application/x-shockwave-flash + // Keep this synchronized with Injector/SafeObject.php + case 'allowScriptAccess': + $attr['value'] = 'never'; + break; + case 'allowNetworking': + $attr['value'] = 'internal'; + break; + case 'allowFullScreen': + if ($config->get('HTML.FlashAllowFullScreen')) { + $attr['value'] = ($attr['value'] == 'true') ? 'true' : 'false'; + } else { + $attr['value'] = 'false'; + } + break; + case 'wmode': + $attr['value'] = $this->wmode->validate($attr['value'], $config, $context); + break; + case 'movie': + case 'src': + $attr['name'] = "movie"; + $attr['value'] = $this->uri->validate($attr['value'], $config, $context); + break; + case 'flashvars': + // we're going to allow arbitrary inputs to the SWF, on + // the reasoning that it could only hack the SWF, not us. + break; + // add other cases to support other param name/value pairs + default: + $attr['name'] = $attr['value'] = null; + } + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php new file mode 100644 index 00000000..b7057bbf --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php @@ -0,0 +1,23 @@ + + */ +class HTMLPurifier_AttrTransform_ScriptRequired extends HTMLPurifier_AttrTransform +{ + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr['type'])) { + $attr['type'] = 'text/javascript'; + } + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php new file mode 100644 index 00000000..cc30ab8c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php @@ -0,0 +1,49 @@ +parser = new HTMLPurifier_URIParser(); + } + + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + if (!isset($attr['href'])) { + return $attr; + } + + // XXX Kind of inefficient + $url = $this->parser->parse($attr['href']); + + // Ignore invalid schemes (e.g. `javascript:`) + if (!($scheme = $url->getSchemeObj($config, $context))) { + return $attr; + } + + if ($scheme->browsable && !$url->isBenign($config, $context)) { + $attr['target'] = '_blank'; + } + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php new file mode 100644 index 00000000..1db3c6c0 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php @@ -0,0 +1,37 @@ + + */ +class HTMLPurifier_AttrTransform_Textarea extends HTMLPurifier_AttrTransform +{ + /** + * @param array $attr + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function transform($attr, $config, $context) + { + // Calculated from Firefox + if (!isset($attr['cols'])) { + $attr['cols'] = '22'; + } + if (!isset($attr['rows'])) { + $attr['rows'] = '3'; + } + return $attr; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php new file mode 100644 index 00000000..e4429e86 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php @@ -0,0 +1,97 @@ +info['Enum'] = new HTMLPurifier_AttrDef_Enum(); + $this->info['Bool'] = new HTMLPurifier_AttrDef_HTML_Bool(); + + $this->info['CDATA'] = new HTMLPurifier_AttrDef_Text(); + $this->info['ID'] = new HTMLPurifier_AttrDef_HTML_ID(); + $this->info['Length'] = new HTMLPurifier_AttrDef_HTML_Length(); + $this->info['MultiLength'] = new HTMLPurifier_AttrDef_HTML_MultiLength(); + $this->info['NMTOKENS'] = new HTMLPurifier_AttrDef_HTML_Nmtokens(); + $this->info['Pixels'] = new HTMLPurifier_AttrDef_HTML_Pixels(); + $this->info['Text'] = new HTMLPurifier_AttrDef_Text(); + $this->info['URI'] = new HTMLPurifier_AttrDef_URI(); + $this->info['LanguageCode'] = new HTMLPurifier_AttrDef_Lang(); + $this->info['Color'] = new HTMLPurifier_AttrDef_HTML_Color(); + $this->info['IAlign'] = self::makeEnum('top,middle,bottom,left,right'); + $this->info['LAlign'] = self::makeEnum('top,bottom,left,right'); + $this->info['FrameTarget'] = new HTMLPurifier_AttrDef_HTML_FrameTarget(); + $this->info['ContentEditable'] = new HTMLPurifier_AttrDef_HTML_ContentEditable(); + + // unimplemented aliases + $this->info['ContentType'] = new HTMLPurifier_AttrDef_Text(); + $this->info['ContentTypes'] = new HTMLPurifier_AttrDef_Text(); + $this->info['Charsets'] = new HTMLPurifier_AttrDef_Text(); + $this->info['Character'] = new HTMLPurifier_AttrDef_Text(); + + // "proprietary" types + $this->info['Class'] = new HTMLPurifier_AttrDef_HTML_Class(); + + // number is really a positive integer (one or more digits) + // FIXME: ^^ not always, see start and value of list items + $this->info['Number'] = new HTMLPurifier_AttrDef_Integer(false, false, true); + } + + private static function makeEnum($in) + { + return new HTMLPurifier_AttrDef_Clone(new HTMLPurifier_AttrDef_Enum(explode(',', $in))); + } + + /** + * Retrieves a type + * @param string $type String type name + * @return HTMLPurifier_AttrDef Object AttrDef for type + */ + public function get($type) + { + // determine if there is any extra info tacked on + if (strpos($type, '#') !== false) { + list($type, $string) = explode('#', $type, 2); + } else { + $string = ''; + } + + if (!isset($this->info[$type])) { + trigger_error('Cannot retrieve undefined attribute type ' . $type, E_USER_ERROR); + return; + } + return $this->info[$type]->make($string); + } + + /** + * Sets a new implementation for a type + * @param string $type String type name + * @param HTMLPurifier_AttrDef $impl Object AttrDef for type + */ + public function set($type, $impl) + { + $this->info[$type] = $impl; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php new file mode 100644 index 00000000..f97dc93e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php @@ -0,0 +1,178 @@ +getHTMLDefinition(); + $e =& $context->get('ErrorCollector', true); + + // initialize IDAccumulator if necessary + $ok =& $context->get('IDAccumulator', true); + if (!$ok) { + $id_accumulator = HTMLPurifier_IDAccumulator::build($config, $context); + $context->register('IDAccumulator', $id_accumulator); + } + + // initialize CurrentToken if necessary + $current_token =& $context->get('CurrentToken', true); + if (!$current_token) { + $context->register('CurrentToken', $token); + } + + if (!$token instanceof HTMLPurifier_Token_Start && + !$token instanceof HTMLPurifier_Token_Empty + ) { + return; + } + + // create alias to global definition array, see also $defs + // DEFINITION CALL + $d_defs = $definition->info_global_attr; + + // don't update token until the very end, to ensure an atomic update + $attr = $token->attr; + + // do global transformations (pre) + // nothing currently utilizes this + foreach ($definition->info_attr_transform_pre as $transform) { + $attr = $transform->transform($o = $attr, $config, $context); + if ($e) { + if ($attr != $o) { + $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr); + } + } + } + + // do local transformations only applicable to this element (pre) + // ex.

to

+ foreach ($definition->info[$token->name]->attr_transform_pre as $transform) { + $attr = $transform->transform($o = $attr, $config, $context); + if ($e) { + if ($attr != $o) { + $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr); + } + } + } + + // create alias to this element's attribute definition array, see + // also $d_defs (global attribute definition array) + // DEFINITION CALL + $defs = $definition->info[$token->name]->attr; + + $attr_key = false; + $context->register('CurrentAttr', $attr_key); + + // iterate through all the attribute keypairs + // Watch out for name collisions: $key has previously been used + foreach ($attr as $attr_key => $value) { + + // call the definition + if (isset($defs[$attr_key])) { + // there is a local definition defined + if ($defs[$attr_key] === false) { + // We've explicitly been told not to allow this element. + // This is usually when there's a global definition + // that must be overridden. + // Theoretically speaking, we could have a + // AttrDef_DenyAll, but this is faster! + $result = false; + } else { + // validate according to the element's definition + $result = $defs[$attr_key]->validate( + $value, + $config, + $context + ); + } + } elseif (isset($d_defs[$attr_key])) { + // there is a global definition defined, validate according + // to the global definition + $result = $d_defs[$attr_key]->validate( + $value, + $config, + $context + ); + } else { + // system never heard of the attribute? DELETE! + $result = false; + } + + // put the results into effect + if ($result === false || $result === null) { + // this is a generic error message that should replaced + // with more specific ones when possible + if ($e) { + $e->send(E_ERROR, 'AttrValidator: Attribute removed'); + } + + // remove the attribute + unset($attr[$attr_key]); + } elseif (is_string($result)) { + // generally, if a substitution is happening, there + // was some sort of implicit correction going on. We'll + // delegate it to the attribute classes to say exactly what. + + // simple substitution + $attr[$attr_key] = $result; + } else { + // nothing happens + } + + // we'd also want slightly more complicated substitution + // involving an array as the return value, + // although we're not sure how colliding attributes would + // resolve (certain ones would be completely overriden, + // others would prepend themselves). + } + + $context->destroy('CurrentAttr'); + + // post transforms + + // global (error reporting untested) + foreach ($definition->info_attr_transform_post as $transform) { + $attr = $transform->transform($o = $attr, $config, $context); + if ($e) { + if ($attr != $o) { + $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr); + } + } + } + + // local (error reporting untested) + foreach ($definition->info[$token->name]->attr_transform_post as $transform) { + $attr = $transform->transform($o = $attr, $config, $context); + if ($e) { + if ($attr != $o) { + $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr); + } + } + } + + $token->attr = $attr; + + // destroy CurrentToken if we made it ourselves + if (!$current_token) { + $context->destroy('CurrentToken'); + } + + } + + +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php new file mode 100644 index 00000000..bd8f9984 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php @@ -0,0 +1,91 @@ + +if (!defined('PHP_EOL')) { + switch (strtoupper(substr(PHP_OS, 0, 3))) { + case 'WIN': + define('PHP_EOL', "\r\n"); + break; + case 'DAR': + define('PHP_EOL', "\r"); + break; + default: + define('PHP_EOL', "\n"); + } +} + +/** + * Bootstrap class that contains meta-functionality for HTML Purifier such as + * the autoload function. + * + * @note + * This class may be used without any other files from HTML Purifier. + */ +class HTMLPurifier_Bootstrap +{ + + /** + * Autoload function for HTML Purifier + * @param string $class Class to load + * @return bool + */ + public static function autoload($class) + { + $file = HTMLPurifier_Bootstrap::getPath($class); + if (!$file) { + return false; + } + // Technically speaking, it should be ok and more efficient to + // just do 'require', but Antonio Parraga reports that with + // Zend extensions such as Zend debugger and APC, this invariant + // may be broken. Since we have efficient alternatives, pay + // the cost here and avoid the bug. + require_once HTMLPURIFIER_PREFIX . '/' . $file; + return true; + } + + /** + * Returns the path for a specific class. + * @param string $class Class path to get + * @return string + */ + public static function getPath($class) + { + if (strncmp('HTMLPurifier', $class, 12) !== 0) { + return false; + } + // Custom implementations + if (strncmp('HTMLPurifier_Language_', $class, 22) === 0) { + $code = str_replace('_', '-', substr($class, 22)); + $file = 'HTMLPurifier/Language/classes/' . $code . '.php'; + } else { + $file = str_replace('_', '/', $class) . '.php'; + } + if (!file_exists(HTMLPURIFIER_PREFIX . '/' . $file)) { + return false; + } + return $file; + } + + /** + * "Pre-registers" our autoloader on the SPL stack. + */ + public static function registerAutoload() + { + $autoload = array('HTMLPurifier_Bootstrap', 'autoload'); + if (spl_autoload_functions() === false) { + spl_autoload_register($autoload); + } else { + // prepend flag exists, no need for shenanigans + spl_autoload_register($autoload, true, true); + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php new file mode 100644 index 00000000..1bc419c5 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php @@ -0,0 +1,566 @@ +info['text-align'] = new HTMLPurifier_AttrDef_Enum( + ['left', 'right', 'center', 'justify'], + false + ); + + $border_style = + $this->info['border-bottom-style'] = + $this->info['border-right-style'] = + $this->info['border-left-style'] = + $this->info['border-top-style'] = new HTMLPurifier_AttrDef_Enum( + [ + 'none', + 'hidden', + 'dotted', + 'dashed', + 'solid', + 'double', + 'groove', + 'ridge', + 'inset', + 'outset' + ], + false + ); + + $this->info['border-style'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_style); + + $this->info['clear'] = new HTMLPurifier_AttrDef_Enum( + ['none', 'left', 'right', 'both'], + false + ); + $this->info['float'] = new HTMLPurifier_AttrDef_Enum( + ['none', 'left', 'right'], + false + ); + $this->info['font-style'] = new HTMLPurifier_AttrDef_Enum( + ['normal', 'italic', 'oblique'], + false + ); + $this->info['font-variant'] = new HTMLPurifier_AttrDef_Enum( + ['normal', 'small-caps'], + false + ); + + $uri_or_none = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum(['none']), + new HTMLPurifier_AttrDef_CSS_URI() + ] + ); + + $this->info['list-style-position'] = new HTMLPurifier_AttrDef_Enum( + ['inside', 'outside'], + false + ); + $this->info['list-style-type'] = new HTMLPurifier_AttrDef_Enum( + [ + 'disc', + 'circle', + 'square', + 'decimal', + 'lower-roman', + 'upper-roman', + 'lower-alpha', + 'upper-alpha', + 'none' + ], + false + ); + $this->info['list-style-image'] = $uri_or_none; + + $this->info['list-style'] = new HTMLPurifier_AttrDef_CSS_ListStyle($config); + + $this->info['text-transform'] = new HTMLPurifier_AttrDef_Enum( + ['capitalize', 'uppercase', 'lowercase', 'none'], + false + ); + $this->info['color'] = new HTMLPurifier_AttrDef_CSS_Color(); + + $this->info['background-image'] = $uri_or_none; + $this->info['background-repeat'] = new HTMLPurifier_AttrDef_Enum( + ['repeat', 'repeat-x', 'repeat-y', 'no-repeat'] + ); + $this->info['background-attachment'] = new HTMLPurifier_AttrDef_Enum( + ['scroll', 'fixed'] + ); + $this->info['background-position'] = new HTMLPurifier_AttrDef_CSS_BackgroundPosition(); + + $this->info['background-size'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum( + [ + 'auto', + 'cover', + 'contain', + 'initial', + 'inherit', + ] + ), + new HTMLPurifier_AttrDef_CSS_Percentage(), + new HTMLPurifier_AttrDef_CSS_Length() + ] + ); + + $border_color = + $this->info['border-top-color'] = + $this->info['border-bottom-color'] = + $this->info['border-left-color'] = + $this->info['border-right-color'] = + $this->info['background-color'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum(['transparent']), + new HTMLPurifier_AttrDef_CSS_Color() + ] + ); + + $this->info['background'] = new HTMLPurifier_AttrDef_CSS_Background($config); + + $this->info['border-color'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_color); + + $border_width = + $this->info['border-top-width'] = + $this->info['border-bottom-width'] = + $this->info['border-left-width'] = + $this->info['border-right-width'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum(['thin', 'medium', 'thick']), + new HTMLPurifier_AttrDef_CSS_Length('0') //disallow negative + ] + ); + + $this->info['border-width'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_width); + + $this->info['letter-spacing'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum(['normal']), + new HTMLPurifier_AttrDef_CSS_Length() + ] + ); + + $this->info['word-spacing'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum(['normal']), + new HTMLPurifier_AttrDef_CSS_Length() + ] + ); + + $this->info['font-size'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum( + [ + 'xx-small', + 'x-small', + 'small', + 'medium', + 'large', + 'x-large', + 'xx-large', + 'larger', + 'smaller' + ] + ), + new HTMLPurifier_AttrDef_CSS_Percentage(), + new HTMLPurifier_AttrDef_CSS_Length() + ] + ); + + $this->info['line-height'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum(['normal']), + new HTMLPurifier_AttrDef_CSS_Number(true), // no negatives + new HTMLPurifier_AttrDef_CSS_Length('0'), + new HTMLPurifier_AttrDef_CSS_Percentage(true) + ] + ); + + $margin = + $this->info['margin-top'] = + $this->info['margin-bottom'] = + $this->info['margin-left'] = + $this->info['margin-right'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length(), + new HTMLPurifier_AttrDef_CSS_Percentage(), + new HTMLPurifier_AttrDef_Enum(['auto']) + ] + ); + + $this->info['margin'] = new HTMLPurifier_AttrDef_CSS_Multiple($margin); + + // non-negative + $padding = + $this->info['padding-top'] = + $this->info['padding-bottom'] = + $this->info['padding-left'] = + $this->info['padding-right'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length('0'), + new HTMLPurifier_AttrDef_CSS_Percentage(true) + ] + ); + + $this->info['padding'] = new HTMLPurifier_AttrDef_CSS_Multiple($padding); + + $this->info['text-indent'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length(), + new HTMLPurifier_AttrDef_CSS_Percentage() + ] + ); + + $trusted_wh = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length('0'), + new HTMLPurifier_AttrDef_CSS_Percentage(true), + new HTMLPurifier_AttrDef_Enum(['auto', 'initial', 'inherit']) + ] + ); + $trusted_min_wh = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length('0'), + new HTMLPurifier_AttrDef_CSS_Percentage(true), + new HTMLPurifier_AttrDef_Enum(['initial', 'inherit']) + ] + ); + $trusted_max_wh = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length('0'), + new HTMLPurifier_AttrDef_CSS_Percentage(true), + new HTMLPurifier_AttrDef_Enum(['none', 'initial', 'inherit']) + ] + ); + $max = $config->get('CSS.MaxImgLength'); + + $this->info['width'] = + $this->info['height'] = + $max === null ? + $trusted_wh : + new HTMLPurifier_AttrDef_Switch( + 'img', + // For img tags: + new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length('0', $max), + new HTMLPurifier_AttrDef_Enum(['auto']) + ] + ), + // For everyone else: + $trusted_wh + ); + $this->info['min-width'] = + $this->info['min-height'] = + $max === null ? + $trusted_min_wh : + new HTMLPurifier_AttrDef_Switch( + 'img', + // For img tags: + new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length('0', $max), + new HTMLPurifier_AttrDef_Enum(['initial', 'inherit']) + ] + ), + // For everyone else: + $trusted_min_wh + ); + $this->info['max-width'] = + $this->info['max-height'] = + $max === null ? + $trusted_max_wh : + new HTMLPurifier_AttrDef_Switch( + 'img', + // For img tags: + new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length('0', $max), + new HTMLPurifier_AttrDef_Enum(['none', 'initial', 'inherit']) + ] + ), + // For everyone else: + $trusted_max_wh + ); + + // text-decoration and related shorthands + $this->info['text-decoration'] = new HTMLPurifier_AttrDef_CSS_TextDecoration(); + + $this->info['text-decoration-line'] = new HTMLPurifier_AttrDef_Enum( + ['none', 'underline', 'overline', 'line-through', 'initial', 'inherit'] + ); + + $this->info['text-decoration-style'] = new HTMLPurifier_AttrDef_Enum( + ['solid', 'double', 'dotted', 'dashed', 'wavy', 'initial', 'inherit'] + ); + + $this->info['text-decoration-color'] = new HTMLPurifier_AttrDef_CSS_Color(); + + $this->info['text-decoration-thickness'] = new HTMLPurifier_AttrDef_CSS_Composite([ + new HTMLPurifier_AttrDef_CSS_Length(), + new HTMLPurifier_AttrDef_CSS_Percentage(), + new HTMLPurifier_AttrDef_Enum(['auto', 'from-font', 'initial', 'inherit']) + ]); + + $this->info['font-family'] = new HTMLPurifier_AttrDef_CSS_FontFamily(); + + // this could use specialized code + $this->info['font-weight'] = new HTMLPurifier_AttrDef_Enum( + [ + 'normal', + 'bold', + 'bolder', + 'lighter', + '100', + '200', + '300', + '400', + '500', + '600', + '700', + '800', + '900' + ], + false + ); + + // MUST be called after other font properties, as it references + // a CSSDefinition object + $this->info['font'] = new HTMLPurifier_AttrDef_CSS_Font($config); + + // same here + $this->info['border'] = + $this->info['border-bottom'] = + $this->info['border-top'] = + $this->info['border-left'] = + $this->info['border-right'] = new HTMLPurifier_AttrDef_CSS_Border($config); + + $this->info['border-collapse'] = new HTMLPurifier_AttrDef_Enum( + ['collapse', 'separate'] + ); + + $this->info['caption-side'] = new HTMLPurifier_AttrDef_Enum( + ['top', 'bottom'] + ); + + $this->info['table-layout'] = new HTMLPurifier_AttrDef_Enum( + ['auto', 'fixed'] + ); + + $this->info['vertical-align'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Enum( + [ + 'baseline', + 'sub', + 'super', + 'top', + 'text-top', + 'middle', + 'bottom', + 'text-bottom' + ] + ), + new HTMLPurifier_AttrDef_CSS_Length(), + new HTMLPurifier_AttrDef_CSS_Percentage() + ] + ); + + $this->info['border-spacing'] = new HTMLPurifier_AttrDef_CSS_Multiple(new HTMLPurifier_AttrDef_CSS_Length(), 2); + + // These CSS properties don't work on many browsers, but we live + // in THE FUTURE! + $this->info['white-space'] = new HTMLPurifier_AttrDef_Enum( + ['nowrap', 'normal', 'pre', 'pre-wrap', 'pre-line'] + ); + + if ($config->get('CSS.Proprietary')) { + $this->doSetupProprietary($config); + } + + if ($config->get('CSS.AllowTricky')) { + $this->doSetupTricky($config); + } + + if ($config->get('CSS.Trusted')) { + $this->doSetupTrusted($config); + } + + $allow_important = $config->get('CSS.AllowImportant'); + // wrap all attr-defs with decorator that handles !important + foreach ($this->info as $k => $v) { + $this->info[$k] = new HTMLPurifier_AttrDef_CSS_ImportantDecorator($v, $allow_important); + } + + $this->setupConfigStuff($config); + } + + /** + * @param HTMLPurifier_Config $config + */ + protected function doSetupProprietary($config) + { + // Internet Explorer only scrollbar colors + $this->info['scrollbar-arrow-color'] = new HTMLPurifier_AttrDef_CSS_Color(); + $this->info['scrollbar-base-color'] = new HTMLPurifier_AttrDef_CSS_Color(); + $this->info['scrollbar-darkshadow-color'] = new HTMLPurifier_AttrDef_CSS_Color(); + $this->info['scrollbar-face-color'] = new HTMLPurifier_AttrDef_CSS_Color(); + $this->info['scrollbar-highlight-color'] = new HTMLPurifier_AttrDef_CSS_Color(); + $this->info['scrollbar-shadow-color'] = new HTMLPurifier_AttrDef_CSS_Color(); + + // vendor specific prefixes of opacity + $this->info['-moz-opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue(); + $this->info['-khtml-opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue(); + + // only opacity, for now + $this->info['filter'] = new HTMLPurifier_AttrDef_CSS_Filter(); + + // more CSS3 + $this->info['page-break-after'] = + $this->info['page-break-before'] = new HTMLPurifier_AttrDef_Enum( + [ + 'auto', + 'always', + 'avoid', + 'left', + 'right' + ] + ); + $this->info['page-break-inside'] = new HTMLPurifier_AttrDef_Enum(['auto', 'avoid']); + + $border_radius = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Percentage(true), // disallow negative + new HTMLPurifier_AttrDef_CSS_Length('0') // disallow negative + ]); + + $this->info['border-top-left-radius'] = + $this->info['border-top-right-radius'] = + $this->info['border-bottom-right-radius'] = + $this->info['border-bottom-left-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius, 2); + // TODO: support SLASH syntax + $this->info['border-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius, 4); + + } + + /** + * @param HTMLPurifier_Config $config + */ + protected function doSetupTricky($config) + { + $this->info['display'] = new HTMLPurifier_AttrDef_Enum( + [ + 'inline', + 'block', + 'list-item', + 'run-in', + 'compact', + 'marker', + 'table', + 'inline-block', + 'inline-table', + 'table-row-group', + 'table-header-group', + 'table-footer-group', + 'table-row', + 'table-column-group', + 'table-column', + 'table-cell', + 'table-caption', + 'none' + ] + ); + $this->info['visibility'] = new HTMLPurifier_AttrDef_Enum( + ['visible', 'hidden', 'collapse'] + ); + $this->info['overflow'] = new HTMLPurifier_AttrDef_Enum(['visible', 'hidden', 'auto', 'scroll']); + $this->info['opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue(); + } + + /** + * @param HTMLPurifier_Config $config + */ + protected function doSetupTrusted($config) + { + $this->info['position'] = new HTMLPurifier_AttrDef_Enum( + ['static', 'relative', 'absolute', 'fixed'] + ); + $this->info['top'] = + $this->info['left'] = + $this->info['right'] = + $this->info['bottom'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_CSS_Length(), + new HTMLPurifier_AttrDef_CSS_Percentage(), + new HTMLPurifier_AttrDef_Enum(['auto']), + ] + ); + $this->info['z-index'] = new HTMLPurifier_AttrDef_CSS_Composite( + [ + new HTMLPurifier_AttrDef_Integer(), + new HTMLPurifier_AttrDef_Enum(['auto']), + ] + ); + } + + /** + * Performs extra config-based processing. Based off of + * HTMLPurifier_HTMLDefinition. + * @param HTMLPurifier_Config $config + * @todo Refactor duplicate elements into common class (probably using + * composition, not inheritance). + */ + protected function setupConfigStuff($config) + { + // setup allowed elements + $support = "(for information on implementing this, see the " . + "support forums) "; + $allowed_properties = $config->get('CSS.AllowedProperties'); + if ($allowed_properties !== null) { + foreach ($this->info as $name => $d) { + if (!isset($allowed_properties[$name])) { + unset($this->info[$name]); + } + unset($allowed_properties[$name]); + } + // emit errors + foreach ($allowed_properties as $name => $d) { + // :TODO: Is this htmlspecialchars() call really necessary? + $name = htmlspecialchars($name); + trigger_error("Style attribute '$name' is not supported $support", E_USER_WARNING); + } + } + + $forbidden_properties = $config->get('CSS.ForbiddenProperties'); + if ($forbidden_properties !== null) { + foreach ($this->info as $name => $d) { + if (isset($forbidden_properties[$name])) { + unset($this->info[$name]); + } + } + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php new file mode 100644 index 00000000..8eb17b82 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php @@ -0,0 +1,52 @@ +elements; + } + + /** + * Validates nodes according to definition and returns modification. + * + * @param HTMLPurifier_Node[] $children Array of HTMLPurifier_Node + * @param HTMLPurifier_Config $config HTMLPurifier_Config object + * @param HTMLPurifier_Context $context HTMLPurifier_Context object + * @return bool|array true to leave nodes as is, false to remove parent node, array of replacement children + */ + abstract public function validateChildren($children, $config, $context); +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php new file mode 100644 index 00000000..7439be26 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php @@ -0,0 +1,67 @@ +inline = new HTMLPurifier_ChildDef_Optional($inline); + $this->block = new HTMLPurifier_ChildDef_Optional($block); + $this->elements = $this->block->elements; + } + + /** + * @param HTMLPurifier_Node[] $children + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool + */ + public function validateChildren($children, $config, $context) + { + if ($context->get('IsInline') === false) { + return $this->block->validateChildren( + $children, + $config, + $context + ); + } else { + return $this->inline->validateChildren( + $children, + $config, + $context + ); + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php new file mode 100644 index 00000000..f515888a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php @@ -0,0 +1,102 @@ +dtd_regex = $dtd_regex; + $this->_compileRegex(); + } + + /** + * Compiles the PCRE regex from a DTD regex ($dtd_regex to $_pcre_regex) + */ + protected function _compileRegex() + { + $raw = str_replace(' ', '', $this->dtd_regex); + if ($raw[0] != '(') { + $raw = "($raw)"; + } + $el = '[#a-zA-Z0-9_.-]+'; + $reg = $raw; + + // COMPLICATED! AND MIGHT BE BUGGY! I HAVE NO CLUE WHAT I'M + // DOING! Seriously: if there's problems, please report them. + + // collect all elements into the $elements array + preg_match_all("/$el/", $reg, $matches); + foreach ($matches[0] as $match) { + $this->elements[$match] = true; + } + + // setup all elements as parentheticals with leading commas + $reg = preg_replace("/$el/", '(,\\0)', $reg); + + // remove commas when they were not solicited + $reg = preg_replace("/([^,(|]\(+),/", '\\1', $reg); + + // remove all non-paranthetical commas: they are handled by first regex + $reg = preg_replace("/,\(/", '(', $reg); + + $this->_pcre_regex = $reg; + } + + /** + * @param HTMLPurifier_Node[] $children + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return bool + */ + public function validateChildren($children, $config, $context) + { + $list_of_children = ''; + $nesting = 0; // depth into the nest + foreach ($children as $node) { + if (!empty($node->is_whitespace)) { + continue; + } + $list_of_children .= $node->name . ','; + } + // add leading comma to deal with stray comma declarations + $list_of_children = ',' . rtrim($list_of_children, ','); + $okay = + preg_match( + '/^,?' . $this->_pcre_regex . '$/', + $list_of_children + ); + return (bool)$okay; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php new file mode 100644 index 00000000..a8a6cbdd --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php @@ -0,0 +1,38 @@ + true, 'ul' => true, 'ol' => true); + + public $whitespace; + + /** + * @param array $children + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function validateChildren($children, $config, $context) + { + // Flag for subclasses + $this->whitespace = false; + + // if there are no tokens, delete parent node + if (empty($children)) { + return false; + } + + // if li is not allowed, delete parent node + if (!isset($config->getHTMLDefinition()->info['li'])) { + trigger_error("Cannot allow ul/ol without allowing li", E_USER_WARNING); + return false; + } + + // the new set of children + $result = array(); + + // a little sanity check to make sure it's not ALL whitespace + $all_whitespace = true; + + $current_li = null; + + foreach ($children as $node) { + if (!empty($node->is_whitespace)) { + $result[] = $node; + continue; + } + $all_whitespace = false; // phew, we're not talking about whitespace + + if ($node->name === 'li') { + // good + $current_li = $node; + $result[] = $node; + } else { + // we want to tuck this into the previous li + // Invariant: we expect the node to be ol/ul + // ToDo: Make this more robust in the case of not ol/ul + // by distinguishing between existing li and li created + // to handle non-list elements; non-list elements should + // not be appended to an existing li; only li created + // for non-list. This distinction is not currently made. + if ($current_li === null) { + $current_li = new HTMLPurifier_Node_Element('li'); + $result[] = $current_li; + } + $current_li->children[] = $node; + $current_li->empty = false; // XXX fascinating! Check for this error elsewhere ToDo + } + } + if (empty($result)) { + return false; + } + if ($all_whitespace) { + return false; + } + return $result; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php new file mode 100644 index 00000000..b9468063 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php @@ -0,0 +1,45 @@ +whitespace) { + return $children; + } else { + return array(); + } + } + return $result; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php new file mode 100644 index 00000000..0d1c8f5f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php @@ -0,0 +1,118 @@ + $x) { + $elements[$i] = true; + if (empty($i)) { + unset($elements[$i]); + } // remove blank + } + } + $this->elements = $elements; + } + + /** + * @type bool + */ + public $allow_empty = false; + + /** + * @type string + */ + public $type = 'required'; + + /** + * @param array $children + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function validateChildren($children, $config, $context) + { + // Flag for subclasses + $this->whitespace = false; + + // if there are no tokens, delete parent node + if (empty($children)) { + return false; + } + + // the new set of children + $result = array(); + + // whether or not parsed character data is allowed + // this controls whether or not we silently drop a tag + // or generate escaped HTML from it + $pcdata_allowed = isset($this->elements['#PCDATA']); + + // a little sanity check to make sure it's not ALL whitespace + $all_whitespace = true; + + $stack = array_reverse($children); + while (!empty($stack)) { + $node = array_pop($stack); + if (!empty($node->is_whitespace)) { + $result[] = $node; + continue; + } + $all_whitespace = false; // phew, we're not talking about whitespace + + if (!isset($this->elements[$node->name])) { + // special case text + // XXX One of these ought to be redundant or something + if ($pcdata_allowed && $node instanceof HTMLPurifier_Node_Text) { + $result[] = $node; + continue; + } + // spill the child contents in + // ToDo: Make configurable + if ($node instanceof HTMLPurifier_Node_Element) { + for ($i = count($node->children) - 1; $i >= 0; $i--) { + $stack[] = $node->children[$i]; + } + continue; + } + continue; + } + $result[] = $node; + } + if (empty($result)) { + return false; + } + if ($all_whitespace) { + $this->whitespace = true; + return false; + } + return $result; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php new file mode 100644 index 00000000..3270a46e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php @@ -0,0 +1,110 @@ +init($config); + return $this->fake_elements; + } + + /** + * @param array $children + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function validateChildren($children, $config, $context) + { + $this->init($config); + + // trick the parent class into thinking it allows more + $this->elements = $this->fake_elements; + $result = parent::validateChildren($children, $config, $context); + $this->elements = $this->real_elements; + + if ($result === false) { + return array(); + } + if ($result === true) { + $result = $children; + } + + $def = $config->getHTMLDefinition(); + $block_wrap_name = $def->info_block_wrapper; + $block_wrap = false; + $ret = array(); + + foreach ($result as $node) { + if ($block_wrap === false) { + if (($node instanceof HTMLPurifier_Node_Text && !$node->is_whitespace) || + ($node instanceof HTMLPurifier_Node_Element && !isset($this->elements[$node->name]))) { + $block_wrap = new HTMLPurifier_Node_Element($def->info_block_wrapper); + $ret[] = $block_wrap; + } + } else { + if ($node instanceof HTMLPurifier_Node_Element && isset($this->elements[$node->name])) { + $block_wrap = false; + + } + } + if ($block_wrap) { + $block_wrap->children[] = $node; + } else { + $ret[] = $node; + } + } + return $ret; + } + + /** + * @param HTMLPurifier_Config $config + */ + private function init($config) + { + if (!$this->init) { + $def = $config->getHTMLDefinition(); + // allow all inline elements + $this->real_elements = $this->elements; + $this->fake_elements = $def->info_content_sets['Flow']; + $this->fake_elements['#PCDATA'] = true; + $this->init = true; + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php new file mode 100644 index 00000000..67c7e953 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php @@ -0,0 +1,224 @@ + true, + 'tbody' => true, + 'thead' => true, + 'tfoot' => true, + 'caption' => true, + 'colgroup' => true, + 'col' => true + ); + + public function __construct() + { + } + + /** + * @param array $children + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array + */ + public function validateChildren($children, $config, $context) + { + if (empty($children)) { + return false; + } + + // only one of these elements is allowed in a table + $caption = false; + $thead = false; + $tfoot = false; + + // whitespace + $initial_ws = array(); + $after_caption_ws = array(); + $after_thead_ws = array(); + $after_tfoot_ws = array(); + + // as many of these as you want + $cols = array(); + $content = array(); + + $tbody_mode = false; // if true, then we need to wrap any stray + // s with a . + + $ws_accum =& $initial_ws; + + foreach ($children as $node) { + if ($node instanceof HTMLPurifier_Node_Comment) { + $ws_accum[] = $node; + continue; + } + switch ($node->name) { + case 'tbody': + $tbody_mode = true; + // fall through + case 'tr': + $content[] = $node; + $ws_accum =& $content; + break; + case 'caption': + // there can only be one caption! + if ($caption !== false) break; + $caption = $node; + $ws_accum =& $after_caption_ws; + break; + case 'thead': + $tbody_mode = true; + // XXX This breaks rendering properties with + // Firefox, which never floats a to + // the top. Ever. (Our scheme will float the + // first to the top.) So maybe + // s that are not first should be + // turned into ? Very tricky, indeed. + if ($thead === false) { + $thead = $node; + $ws_accum =& $after_thead_ws; + } else { + // Oops, there's a second one! What + // should we do? Current behavior is to + // transmutate the first and last entries into + // tbody tags, and then put into content. + // Maybe a better idea is to *attach + // it* to the existing thead or tfoot? + // We don't do this, because Firefox + // doesn't float an extra tfoot to the + // bottom like it does for the first one. + $node->name = 'tbody'; + $content[] = $node; + $ws_accum =& $content; + } + break; + case 'tfoot': + // see above for some aveats + $tbody_mode = true; + if ($tfoot === false) { + $tfoot = $node; + $ws_accum =& $after_tfoot_ws; + } else { + $node->name = 'tbody'; + $content[] = $node; + $ws_accum =& $content; + } + break; + case 'colgroup': + case 'col': + $cols[] = $node; + $ws_accum =& $cols; + break; + case '#PCDATA': + // How is whitespace handled? We treat is as sticky to + // the *end* of the previous element. So all of the + // nonsense we have worked on is to keep things + // together. + if (!empty($node->is_whitespace)) { + $ws_accum[] = $node; + } + break; + } + } + + if (empty($content) && $thead === false && $tfoot === false) { + return false; + } + + $ret = $initial_ws; + if ($caption !== false) { + $ret[] = $caption; + $ret = array_merge($ret, $after_caption_ws); + } + if ($cols !== false) { + $ret = array_merge($ret, $cols); + } + if ($thead !== false) { + $ret[] = $thead; + $ret = array_merge($ret, $after_thead_ws); + } + if ($tfoot !== false) { + $ret[] = $tfoot; + $ret = array_merge($ret, $after_tfoot_ws); + } + + if ($tbody_mode) { + // we have to shuffle tr into tbody + $current_tr_tbody = null; + + foreach($content as $node) { + switch ($node->name) { + case 'tbody': + $current_tr_tbody = null; + $ret[] = $node; + break; + case 'tr': + if ($current_tr_tbody === null) { + $current_tr_tbody = new HTMLPurifier_Node_Element('tbody'); + $ret[] = $current_tr_tbody; + } + $current_tr_tbody->children[] = $node; + break; + case '#PCDATA': + //assert($node->is_whitespace); + if ($current_tr_tbody === null) { + $ret[] = $node; + } else { + $current_tr_tbody->children[] = $node; + } + break; + } + } + } else { + $ret = array_merge($ret, $content); + } + + return $ret; + + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php new file mode 100644 index 00000000..f7511ca4 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php @@ -0,0 +1,920 @@ +defaultPlist; + $this->plist = new HTMLPurifier_PropertyList($parent); + $this->def = $definition; // keep a copy around for checking + $this->parser = new HTMLPurifier_VarParser_Flexible(); + } + + /** + * Convenience constructor that creates a config object based on a mixed var + * @param mixed $config Variable that defines the state of the config + * object. Can be: a HTMLPurifier_Config() object, + * an array of directives based on loadArray(), + * or a string filename of an ini file. + * @param HTMLPurifier_ConfigSchema $schema Schema object + * @return HTMLPurifier_Config Configured object + */ + public static function create($config, $schema = null) + { + if ($config instanceof HTMLPurifier_Config) { + // pass-through + return $config; + } + if (!$schema) { + $ret = HTMLPurifier_Config::createDefault(); + } else { + $ret = new HTMLPurifier_Config($schema); + } + if (is_string($config)) { + $ret->loadIni($config); + } elseif (is_array($config)) $ret->loadArray($config); + return $ret; + } + + /** + * Creates a new config object that inherits from a previous one. + * @param HTMLPurifier_Config $config Configuration object to inherit from. + * @return HTMLPurifier_Config object with $config as its parent. + */ + public static function inherit(HTMLPurifier_Config $config) + { + return new HTMLPurifier_Config($config->def, $config->plist); + } + + /** + * Convenience constructor that creates a default configuration object. + * @return HTMLPurifier_Config default object. + */ + public static function createDefault() + { + $definition = HTMLPurifier_ConfigSchema::instance(); + $config = new HTMLPurifier_Config($definition); + return $config; + } + + /** + * Retrieves a value from the configuration. + * + * @param string $key String key + * @param mixed $a + * + * @return mixed + */ + public function get($key, $a = null) + { + if ($a !== null) { + $this->triggerError( + "Using deprecated API: use \$config->get('$key.$a') instead", + E_USER_WARNING + ); + $key = "$key.$a"; + } + if (!$this->finalized) { + $this->autoFinalize(); + } + if (!isset($this->def->info[$key])) { + // can't add % due to SimpleTest bug + $this->triggerError( + 'Cannot retrieve value of undefined directive ' . htmlspecialchars($key), + E_USER_WARNING + ); + return; + } + if (isset($this->def->info[$key]->isAlias)) { + $d = $this->def->info[$key]; + $this->triggerError( + 'Cannot get value from aliased directive, use real name ' . $d->key, + E_USER_ERROR + ); + return; + } + if ($this->lock) { + list($ns) = explode('.', $key); + if ($ns !== $this->lock) { + $this->triggerError( + 'Cannot get value of namespace ' . $ns . ' when lock for ' . + $this->lock . + ' is active, this probably indicates a Definition setup method ' . + 'is accessing directives that are not within its namespace', + E_USER_ERROR + ); + return; + } + } + return $this->plist->get($key); + } + + /** + * Retrieves an array of directives to values from a given namespace + * + * @param string $namespace String namespace + * + * @return array + */ + public function getBatch($namespace) + { + if (!$this->finalized) { + $this->autoFinalize(); + } + $full = $this->getAll(); + if (!isset($full[$namespace])) { + $this->triggerError( + 'Cannot retrieve undefined namespace ' . + htmlspecialchars($namespace), + E_USER_WARNING + ); + return; + } + return $full[$namespace]; + } + + /** + * Returns a SHA-1 signature of a segment of the configuration object + * that uniquely identifies that particular configuration + * + * @param string $namespace Namespace to get serial for + * + * @return string + * @note Revision is handled specially and is removed from the batch + * before processing! + */ + public function getBatchSerial($namespace) + { + if (empty($this->serials[$namespace])) { + $batch = $this->getBatch($namespace); + unset($batch['DefinitionRev']); + $this->serials[$namespace] = sha1(serialize($batch)); + } + return $this->serials[$namespace]; + } + + /** + * Returns a SHA-1 signature for the entire configuration object + * that uniquely identifies that particular configuration + * + * @return string + */ + public function getSerial() + { + if (empty($this->serial)) { + $this->serial = sha1(serialize($this->getAll())); + } + return $this->serial; + } + + /** + * Retrieves all directives, organized by namespace + * + * @warning This is a pretty inefficient function, avoid if you can + */ + public function getAll() + { + if (!$this->finalized) { + $this->autoFinalize(); + } + $ret = array(); + foreach ($this->plist->squash() as $name => $value) { + list($ns, $key) = explode('.', $name, 2); + $ret[$ns][$key] = $value; + } + return $ret; + } + + /** + * Sets a value to configuration. + * + * @param string $key key + * @param mixed $value value + * @param mixed $a + */ + public function set($key, $value, $a = null) + { + if (strpos($key, '.') === false) { + $namespace = $key; + $directive = $value; + $value = $a; + $key = "$key.$directive"; + $this->triggerError("Using deprecated API: use \$config->set('$key', ...) instead", E_USER_NOTICE); + } else { + list($namespace) = explode('.', $key); + } + if ($this->isFinalized('Cannot set directive after finalization')) { + return; + } + if (!isset($this->def->info[$key])) { + $this->triggerError( + 'Cannot set undefined directive ' . htmlspecialchars($key) . ' to value', + E_USER_WARNING + ); + return; + } + $def = $this->def->info[$key]; + + if (isset($def->isAlias)) { + if ($this->aliasMode) { + $this->triggerError( + 'Double-aliases not allowed, please fix '. + 'ConfigSchema bug with' . $key, + E_USER_ERROR + ); + return; + } + $this->aliasMode = true; + $this->set($def->key, $value); + $this->aliasMode = false; + $this->triggerError("$key is an alias, preferred directive name is {$def->key}", E_USER_NOTICE); + return; + } + + // Raw type might be negative when using the fully optimized form + // of stdClass, which indicates allow_null == true + $rtype = is_int($def) ? $def : $def->type; + if ($rtype < 0) { + $type = -$rtype; + $allow_null = true; + } else { + $type = $rtype; + $allow_null = isset($def->allow_null); + } + + try { + $value = $this->parser->parse($value, $type, $allow_null); + } catch (HTMLPurifier_VarParserException $e) { + $this->triggerError( + 'Value for ' . $key . ' is of invalid type, should be ' . + HTMLPurifier_VarParser::getTypeName($type), + E_USER_WARNING + ); + return; + } + if (is_string($value) && is_object($def)) { + // resolve value alias if defined + if (isset($def->aliases[$value])) { + $value = $def->aliases[$value]; + } + // check to see if the value is allowed + if (isset($def->allowed) && !isset($def->allowed[$value])) { + $this->triggerError( + 'Value not supported, valid values are: ' . + $this->_listify($def->allowed), + E_USER_WARNING + ); + return; + } + } + $this->plist->set($key, $value); + + // reset definitions if the directives they depend on changed + // this is a very costly process, so it's discouraged + // with finalization + if ($namespace == 'HTML' || $namespace == 'CSS' || $namespace == 'URI') { + $this->definitions[$namespace] = null; + } + + $this->serials[$namespace] = false; + } + + /** + * Convenience function for error reporting + * + * @param array $lookup + * + * @return string + */ + private function _listify($lookup) + { + $list = array(); + foreach ($lookup as $name => $b) { + $list[] = $name; + } + return implode(', ', $list); + } + + /** + * Retrieves object reference to the HTML definition. + * + * @param bool $raw Return a copy that has not been setup yet. Must be + * called before it's been setup, otherwise won't work. + * @param bool $optimized If true, this method may return null, to + * indicate that a cached version of the modified + * definition object is available and no further edits + * are necessary. Consider using + * maybeGetRawHTMLDefinition, which is more explicitly + * named, instead. + * + * @return HTMLPurifier_HTMLDefinition|null + */ + public function getHTMLDefinition($raw = false, $optimized = false) + { + return $this->getDefinition('HTML', $raw, $optimized); + } + + /** + * Retrieves object reference to the CSS definition + * + * @param bool $raw Return a copy that has not been setup yet. Must be + * called before it's been setup, otherwise won't work. + * @param bool $optimized If true, this method may return null, to + * indicate that a cached version of the modified + * definition object is available and no further edits + * are necessary. Consider using + * maybeGetRawCSSDefinition, which is more explicitly + * named, instead. + * + * @return HTMLPurifier_CSSDefinition|null + */ + public function getCSSDefinition($raw = false, $optimized = false) + { + return $this->getDefinition('CSS', $raw, $optimized); + } + + /** + * Retrieves object reference to the URI definition + * + * @param bool $raw Return a copy that has not been setup yet. Must be + * called before it's been setup, otherwise won't work. + * @param bool $optimized If true, this method may return null, to + * indicate that a cached version of the modified + * definition object is available and no further edits + * are necessary. Consider using + * maybeGetRawURIDefinition, which is more explicitly + * named, instead. + * + * @return HTMLPurifier_URIDefinition|null + */ + public function getURIDefinition($raw = false, $optimized = false) + { + return $this->getDefinition('URI', $raw, $optimized); + } + + /** + * Retrieves a definition + * + * @param string $type Type of definition: HTML, CSS, etc + * @param bool $raw Whether or not definition should be returned raw + * @param bool $optimized Only has an effect when $raw is true. Whether + * or not to return null if the result is already present in + * the cache. This is off by default for backwards + * compatibility reasons, but you need to do things this + * way in order to ensure that caching is done properly. + * Check out enduser-customize.html for more details. + * We probably won't ever change this default, as much as the + * maybe semantics is the "right thing to do." + * + * @throws HTMLPurifier_Exception + * @return HTMLPurifier_Definition|null + */ + public function getDefinition($type, $raw = false, $optimized = false) + { + if ($optimized && !$raw) { + throw new HTMLPurifier_Exception("Cannot set optimized = true when raw = false"); + } + if (!$this->finalized) { + $this->autoFinalize(); + } + // temporarily suspend locks, so we can handle recursive definition calls + $lock = $this->lock; + $this->lock = null; + $factory = HTMLPurifier_DefinitionCacheFactory::instance(); + $cache = $factory->create($type, $this); + $this->lock = $lock; + if (!$raw) { + // full definition + // --------------- + // check if definition is in memory + if (!empty($this->definitions[$type])) { + $def = $this->definitions[$type]; + // check if the definition is setup + if ($def->setup) { + return $def; + } else { + $def->setup($this); + if ($def->optimized) { + $cache->add($def, $this); + } + return $def; + } + } + // check if definition is in cache + $def = $cache->get($this); + if ($def) { + // definition in cache, save to memory and return it + $this->definitions[$type] = $def; + return $def; + } + // initialize it + $def = $this->initDefinition($type); + // set it up + $this->lock = $type; + $def->setup($this); + $this->lock = null; + // save in cache + $cache->add($def, $this); + // return it + return $def; + } else { + // raw definition + // -------------- + // check preconditions + $def = null; + if ($optimized) { + if (is_null($this->get($type . '.DefinitionID'))) { + // fatally error out if definition ID not set + throw new HTMLPurifier_Exception( + "Cannot retrieve raw version without specifying %$type.DefinitionID" + ); + } + } + if (!empty($this->definitions[$type])) { + $def = $this->definitions[$type]; + if ($def->setup && !$optimized) { + $extra = $this->chatty ? + " (try moving this code block earlier in your initialization)" : + ""; + throw new HTMLPurifier_Exception( + "Cannot retrieve raw definition after it has already been setup" . + $extra + ); + } + if ($def->optimized === null) { + $extra = $this->chatty ? " (try flushing your cache)" : ""; + throw new HTMLPurifier_Exception( + "Optimization status of definition is unknown" . $extra + ); + } + if ($def->optimized !== $optimized) { + $msg = $optimized ? "optimized" : "unoptimized"; + $extra = $this->chatty ? + " (this backtrace is for the first inconsistent call, which was for a $msg raw definition)" + : ""; + throw new HTMLPurifier_Exception( + "Inconsistent use of optimized and unoptimized raw definition retrievals" . $extra + ); + } + } + // check if definition was in memory + if ($def) { + if ($def->setup) { + // invariant: $optimized === true (checked above) + return null; + } else { + return $def; + } + } + // if optimized, check if definition was in cache + // (because we do the memory check first, this formulation + // is prone to cache slamming, but I think + // guaranteeing that either /all/ of the raw + // setup code or /none/ of it is run is more important.) + if ($optimized) { + // This code path only gets run once; once we put + // something in $definitions (which is guaranteed by the + // trailing code), we always short-circuit above. + $def = $cache->get($this); + if ($def) { + // save the full definition for later, but don't + // return it yet + $this->definitions[$type] = $def; + return null; + } + } + // check invariants for creation + if (!$optimized) { + if (!is_null($this->get($type . '.DefinitionID'))) { + if ($this->chatty) { + $this->triggerError( + 'Due to a documentation error in previous version of HTML Purifier, your ' . + 'definitions are not being cached. If this is OK, you can remove the ' . + '%$type.DefinitionRev and %$type.DefinitionID declaration. Otherwise, ' . + 'modify your code to use maybeGetRawDefinition, and test if the returned ' . + 'value is null before making any edits (if it is null, that means that a ' . + 'cached version is available, and no raw operations are necessary). See ' . + '' . + 'Customize for more details', + E_USER_WARNING + ); + } else { + $this->triggerError( + "Useless DefinitionID declaration", + E_USER_WARNING + ); + } + } + } + // initialize it + $def = $this->initDefinition($type); + $def->optimized = $optimized; + return $def; + } + throw new HTMLPurifier_Exception("The impossible happened!"); + } + + /** + * Initialise definition + * + * @param string $type What type of definition to create + * + * @return HTMLPurifier_CSSDefinition|HTMLPurifier_HTMLDefinition|HTMLPurifier_URIDefinition + * @throws HTMLPurifier_Exception + */ + private function initDefinition($type) + { + // quick checks failed, let's create the object + if ($type == 'HTML') { + $def = new HTMLPurifier_HTMLDefinition(); + } elseif ($type == 'CSS') { + $def = new HTMLPurifier_CSSDefinition(); + } elseif ($type == 'URI') { + $def = new HTMLPurifier_URIDefinition(); + } else { + throw new HTMLPurifier_Exception( + "Definition of $type type not supported" + ); + } + $this->definitions[$type] = $def; + return $def; + } + + public function maybeGetRawDefinition($name) + { + return $this->getDefinition($name, true, true); + } + + /** + * @return HTMLPurifier_HTMLDefinition|null + */ + public function maybeGetRawHTMLDefinition() + { + return $this->getDefinition('HTML', true, true); + } + + /** + * @return HTMLPurifier_CSSDefinition|null + */ + public function maybeGetRawCSSDefinition() + { + return $this->getDefinition('CSS', true, true); + } + + /** + * @return HTMLPurifier_URIDefinition|null + */ + public function maybeGetRawURIDefinition() + { + return $this->getDefinition('URI', true, true); + } + + /** + * Loads configuration values from an array with the following structure: + * Namespace.Directive => Value + * + * @param array $config_array Configuration associative array + */ + public function loadArray($config_array) + { + if ($this->isFinalized('Cannot load directives after finalization')) { + return; + } + foreach ($config_array as $key => $value) { + $key = str_replace('_', '.', $key); + if (strpos($key, '.') !== false) { + $this->set($key, $value); + } else { + $namespace = $key; + $namespace_values = $value; + foreach ($namespace_values as $directive => $value2) { + $this->set($namespace .'.'. $directive, $value2); + } + } + } + } + + /** + * Returns a list of array(namespace, directive) for all directives + * that are allowed in a web-form context as per an allowed + * namespaces/directives list. + * + * @param array $allowed List of allowed namespaces/directives + * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy + * + * @return array + */ + public static function getAllowedDirectivesForForm($allowed, $schema = null) + { + if (!$schema) { + $schema = HTMLPurifier_ConfigSchema::instance(); + } + if ($allowed !== true) { + if (is_string($allowed)) { + $allowed = array($allowed); + } + $allowed_ns = array(); + $allowed_directives = array(); + $blacklisted_directives = array(); + foreach ($allowed as $ns_or_directive) { + if (strpos($ns_or_directive, '.') !== false) { + // directive + if ($ns_or_directive[0] == '-') { + $blacklisted_directives[substr($ns_or_directive, 1)] = true; + } else { + $allowed_directives[$ns_or_directive] = true; + } + } else { + // namespace + $allowed_ns[$ns_or_directive] = true; + } + } + } + $ret = array(); + foreach ($schema->info as $key => $def) { + list($ns, $directive) = explode('.', $key, 2); + if ($allowed !== true) { + if (isset($blacklisted_directives["$ns.$directive"])) { + continue; + } + if (!isset($allowed_directives["$ns.$directive"]) && !isset($allowed_ns[$ns])) { + continue; + } + } + if (isset($def->isAlias)) { + continue; + } + if ($directive == 'DefinitionID' || $directive == 'DefinitionRev') { + continue; + } + $ret[] = array($ns, $directive); + } + return $ret; + } + + /** + * Loads configuration values from $_GET/$_POST that were posted + * via ConfigForm + * + * @param array $array $_GET or $_POST array to import + * @param string|bool $index Index/name that the config variables are in + * @param array|bool $allowed List of allowed namespaces/directives + * @param bool $mq_fix Boolean whether or not to enable magic quotes fix + * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy + * + * @return mixed + */ + public static function loadArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true, $schema = null) + { + $ret = HTMLPurifier_Config::prepareArrayFromForm($array, $index, $allowed, $mq_fix, $schema); + $config = HTMLPurifier_Config::create($ret, $schema); + return $config; + } + + /** + * Merges in configuration values from $_GET/$_POST to object. NOT STATIC. + * + * @param array $array $_GET or $_POST array to import + * @param string|bool $index Index/name that the config variables are in + * @param array|bool $allowed List of allowed namespaces/directives + * @param bool $mq_fix Boolean whether or not to enable magic quotes fix + */ + public function mergeArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true) + { + $ret = HTMLPurifier_Config::prepareArrayFromForm($array, $index, $allowed, $mq_fix, $this->def); + $this->loadArray($ret); + } + + /** + * Prepares an array from a form into something usable for the more + * strict parts of HTMLPurifier_Config + * + * @param array $array $_GET or $_POST array to import + * @param string|bool $index Index/name that the config variables are in + * @param array|bool $allowed List of allowed namespaces/directives + * @param bool $mq_fix Boolean whether or not to enable magic quotes fix + * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy + * + * @return array + */ + public static function prepareArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true, $schema = null) + { + if ($index !== false) { + $array = (isset($array[$index]) && is_array($array[$index])) ? $array[$index] : array(); + } + $mq = $mq_fix && version_compare(PHP_VERSION, '7.4.0', '<') && function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc(); + + $allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed, $schema); + $ret = array(); + foreach ($allowed as $key) { + list($ns, $directive) = $key; + $skey = "$ns.$directive"; + if (!empty($array["Null_$skey"])) { + $ret[$ns][$directive] = null; + continue; + } + if (!isset($array[$skey])) { + continue; + } + $value = $mq ? stripslashes($array[$skey]) : $array[$skey]; + $ret[$ns][$directive] = $value; + } + return $ret; + } + + /** + * Loads configuration values from an ini file + * + * @param string $filename Name of ini file + */ + public function loadIni($filename) + { + if ($this->isFinalized('Cannot load directives after finalization')) { + return; + } + $array = parse_ini_file($filename, true); + $this->loadArray($array); + } + + /** + * Checks whether or not the configuration object is finalized. + * + * @param string|bool $error String error message, or false for no error + * + * @return bool + */ + public function isFinalized($error = false) + { + if ($this->finalized && $error) { + $this->triggerError($error, E_USER_ERROR); + } + return $this->finalized; + } + + /** + * Finalizes configuration only if auto finalize is on and not + * already finalized + */ + public function autoFinalize() + { + if ($this->autoFinalize) { + $this->finalize(); + } else { + $this->plist->squash(true); + } + } + + /** + * Finalizes a configuration object, prohibiting further change + */ + public function finalize() + { + $this->finalized = true; + $this->parser = null; + } + + /** + * Produces a nicely formatted error message by supplying the + * stack frame information OUTSIDE of HTMLPurifier_Config. + * + * @param string $msg An error message + * @param int $no An error number + */ + protected function triggerError($msg, $no) + { + // determine previous stack frame + $extra = ''; + if ($this->chatty) { + $trace = debug_backtrace(); + // zip(tail(trace), trace) -- but PHP is not Haskell har har + for ($i = 0, $c = count($trace); $i < $c - 1; $i++) { + // XXX this is not correct on some versions of HTML Purifier + if (isset($trace[$i + 1]['class']) && $trace[$i + 1]['class'] === 'HTMLPurifier_Config') { + continue; + } + $frame = $trace[$i]; + $extra = " invoked on line {$frame['line']} in file {$frame['file']}"; + break; + } + } + trigger_error($msg . $extra, $no); + } + + /** + * Returns a serialized form of the configuration object that can + * be reconstituted. + * + * @return string + */ + public function serialize() + { + $this->getDefinition('HTML'); + $this->getDefinition('CSS'); + $this->getDefinition('URI'); + return serialize($this); + } + +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php new file mode 100644 index 00000000..c3fe8cd4 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php @@ -0,0 +1,176 @@ + array( + * 'Directive' => new stdClass(), + * ) + * ) + * + * The stdClass may have the following properties: + * + * - If isAlias isn't set: + * - type: Integer type of directive, see HTMLPurifier_VarParser for definitions + * - allow_null: If set, this directive allows null values + * - aliases: If set, an associative array of value aliases to real values + * - allowed: If set, a lookup array of allowed (string) values + * - If isAlias is set: + * - namespace: Namespace this directive aliases to + * - name: Directive name this directive aliases to + * + * In certain degenerate cases, stdClass will actually be an integer. In + * that case, the value is equivalent to an stdClass with the type + * property set to the integer. If the integer is negative, type is + * equal to the absolute value of integer, and allow_null is true. + * + * This class is friendly with HTMLPurifier_Config. If you need introspection + * about the schema, you're better of using the ConfigSchema_Interchange, + * which uses more memory but has much richer information. + * @type array + */ + public $info = array(); + + /** + * Application-wide singleton + * @type HTMLPurifier_ConfigSchema + */ + protected static $singleton; + + public function __construct() + { + $this->defaultPlist = new HTMLPurifier_PropertyList(); + } + + /** + * Unserializes the default ConfigSchema. + * @return HTMLPurifier_ConfigSchema + */ + public static function makeFromSerial() + { + $contents = file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/ConfigSchema/schema.ser'); + $r = unserialize($contents); + if (!$r) { + $hash = sha1($contents); + trigger_error("Unserialization of configuration schema failed, sha1 of file was $hash", E_USER_ERROR); + } + return $r; + } + + /** + * Retrieves an instance of the application-wide configuration definition. + * @param HTMLPurifier_ConfigSchema $prototype + * @return HTMLPurifier_ConfigSchema + */ + public static function instance($prototype = null) + { + if ($prototype !== null) { + HTMLPurifier_ConfigSchema::$singleton = $prototype; + } elseif (HTMLPurifier_ConfigSchema::$singleton === null || $prototype === true) { + HTMLPurifier_ConfigSchema::$singleton = HTMLPurifier_ConfigSchema::makeFromSerial(); + } + return HTMLPurifier_ConfigSchema::$singleton; + } + + /** + * Defines a directive for configuration + * @warning Will fail of directive's namespace is defined. + * @warning This method's signature is slightly different from the legacy + * define() static method! Beware! + * @param string $key Name of directive + * @param mixed $default Default value of directive + * @param string $type Allowed type of the directive. See + * HTMLPurifier_VarParser::$types for allowed values + * @param bool $allow_null Whether or not to allow null values + */ + public function add($key, $default, $type, $allow_null) + { + $obj = new stdClass(); + $obj->type = is_int($type) ? $type : HTMLPurifier_VarParser::$types[$type]; + if ($allow_null) { + $obj->allow_null = true; + } + $this->info[$key] = $obj; + $this->defaults[$key] = $default; + $this->defaultPlist->set($key, $default); + } + + /** + * Defines a directive value alias. + * + * Directive value aliases are convenient for developers because it lets + * them set a directive to several values and get the same result. + * @param string $key Name of Directive + * @param array $aliases Hash of aliased values to the real alias + */ + public function addValueAliases($key, $aliases) + { + if (!isset($this->info[$key]->aliases)) { + $this->info[$key]->aliases = array(); + } + foreach ($aliases as $alias => $real) { + $this->info[$key]->aliases[$alias] = $real; + } + } + + /** + * Defines a set of allowed values for a directive. + * @warning This is slightly different from the corresponding static + * method definition. + * @param string $key Name of directive + * @param array $allowed Lookup array of allowed values + */ + public function addAllowedValues($key, $allowed) + { + $this->info[$key]->allowed = $allowed; + } + + /** + * Defines a directive alias for backwards compatibility + * @param string $key Directive that will be aliased + * @param string $new_key Directive that the alias will be to + */ + public function addAlias($key, $new_key) + { + $obj = new stdClass; + $obj->key = $new_key; + $obj->isAlias = true; + $this->info[$key] = $obj; + } + + /** + * Replaces any stdClass that only has the type property with type integer. + */ + public function postProcess() + { + foreach ($this->info as $key => $v) { + if (count((array) $v) == 1) { + $this->info[$key] = $v->type; + } elseif (count((array) $v) == 2 && isset($v->allow_null)) { + $this->info[$key] = -$v->type; + } + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php new file mode 100644 index 00000000..d5906cd4 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php @@ -0,0 +1,48 @@ +directives as $d) { + $schema->add( + $d->id->key, + $d->default, + $d->type, + $d->typeAllowsNull + ); + if ($d->allowed !== null) { + $schema->addAllowedValues( + $d->id->key, + $d->allowed + ); + } + foreach ($d->aliases as $alias) { + $schema->addAlias( + $alias->key, + $d->id->key + ); + } + if ($d->valueAliases !== null) { + $schema->addValueAliases( + $d->id->key, + $d->valueAliases + ); + } + } + $schema->postProcess(); + return $schema; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php new file mode 100644 index 00000000..5fa56f7d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php @@ -0,0 +1,144 @@ +startElement('div'); + + $purifier = HTMLPurifier::getInstance(); + $html = $purifier->purify($html); + $this->writeAttribute('xmlns', 'http://www.w3.org/1999/xhtml'); + $this->writeRaw($html); + + $this->endElement(); // div + } + + /** + * @param mixed $var + * @return string + */ + protected function export($var) + { + if ($var === array()) { + return 'array()'; + } + return var_export($var, true); + } + + /** + * @param HTMLPurifier_ConfigSchema_Interchange $interchange + */ + public function build($interchange) + { + // global access, only use as last resort + $this->interchange = $interchange; + + $this->setIndent(true); + $this->startDocument('1.0', 'UTF-8'); + $this->startElement('configdoc'); + $this->writeElement('title', $interchange->name); + + foreach ($interchange->directives as $directive) { + $this->buildDirective($directive); + } + + if ($this->namespace) { + $this->endElement(); + } // namespace + + $this->endElement(); // configdoc + $this->flush(); + } + + /** + * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive + */ + public function buildDirective($directive) + { + // Kludge, although I suppose having a notion of a "root namespace" + // certainly makes things look nicer when documentation is built. + // Depends on things being sorted. + if (!$this->namespace || $this->namespace !== $directive->id->getRootNamespace()) { + if ($this->namespace) { + $this->endElement(); + } // namespace + $this->namespace = $directive->id->getRootNamespace(); + $this->startElement('namespace'); + $this->writeAttribute('id', $this->namespace); + $this->writeElement('name', $this->namespace); + } + + $this->startElement('directive'); + $this->writeAttribute('id', $directive->id->toString()); + + $this->writeElement('name', $directive->id->getDirective()); + + $this->startElement('aliases'); + foreach ($directive->aliases as $alias) { + $this->writeElement('alias', $alias->toString()); + } + $this->endElement(); // aliases + + $this->startElement('constraints'); + if ($directive->version) { + $this->writeElement('version', $directive->version); + } + $this->startElement('type'); + if ($directive->typeAllowsNull) { + $this->writeAttribute('allow-null', 'yes'); + } + $this->text($directive->type); + $this->endElement(); // type + if ($directive->allowed) { + $this->startElement('allowed'); + foreach ($directive->allowed as $value => $x) { + $this->writeElement('value', $value); + } + $this->endElement(); // allowed + } + $this->writeElement('default', $this->export($directive->default)); + $this->writeAttribute('xml:space', 'preserve'); + if ($directive->external) { + $this->startElement('external'); + foreach ($directive->external as $project) { + $this->writeElement('project', $project); + } + $this->endElement(); + } + $this->endElement(); // constraints + + if ($directive->deprecatedVersion) { + $this->startElement('deprecated'); + $this->writeElement('version', $directive->deprecatedVersion); + $this->writeElement('use', $directive->deprecatedUse->toString()); + $this->endElement(); // deprecated + } + + $this->startElement('description'); + $this->writeHTMLDiv($directive->description); + $this->endElement(); // description + + $this->endElement(); // directive + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php new file mode 100644 index 00000000..2671516c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php @@ -0,0 +1,11 @@ + array(directive info) + * @type HTMLPurifier_ConfigSchema_Interchange_Directive[] + */ + public $directives = array(); + + /** + * Adds a directive array to $directives + * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive + * @throws HTMLPurifier_ConfigSchema_Exception + */ + public function addDirective($directive) + { + if (isset($this->directives[$i = $directive->id->toString()])) { + throw new HTMLPurifier_ConfigSchema_Exception("Cannot redefine directive '$i'"); + } + $this->directives[$i] = $directive; + } + + /** + * Convenience function to perform standard validation. Throws exception + * on failed validation. + */ + public function validate() + { + $validator = new HTMLPurifier_ConfigSchema_Validator(); + return $validator->validate($this); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php new file mode 100644 index 00000000..127a39a6 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php @@ -0,0 +1,89 @@ + true). + * Null if all values are allowed. + * @type array + */ + public $allowed; + + /** + * List of aliases for the directive. + * e.g. array(new HTMLPurifier_ConfigSchema_Interchange_Id('Ns', 'Dir'))). + * @type HTMLPurifier_ConfigSchema_Interchange_Id[] + */ + public $aliases = array(); + + /** + * Hash of value aliases, e.g. array('alt' => 'real'). Null if value + * aliasing is disabled (necessary for non-scalar types). + * @type array + */ + public $valueAliases; + + /** + * Version of HTML Purifier the directive was introduced, e.g. '1.3.1'. + * Null if the directive has always existed. + * @type string + */ + public $version; + + /** + * ID of directive that supercedes this old directive. + * Null if not deprecated. + * @type HTMLPurifier_ConfigSchema_Interchange_Id + */ + public $deprecatedUse; + + /** + * Version of HTML Purifier this directive was deprecated. Null if not + * deprecated. + * @type string + */ + public $deprecatedVersion; + + /** + * List of external projects this directive depends on, e.g. array('CSSTidy'). + * @type array + */ + public $external = array(); +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php new file mode 100644 index 00000000..126f09d9 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php @@ -0,0 +1,58 @@ +key = $key; + } + + /** + * @return string + * @warning This is NOT magic, to ensure that people don't abuse SPL and + * cause problems for PHP 5.0 support. + */ + public function toString() + { + return $this->key; + } + + /** + * @return string + */ + public function getRootNamespace() + { + return substr($this->key, 0, strpos($this->key, ".")); + } + + /** + * @return string + */ + public function getDirective() + { + return substr($this->key, strpos($this->key, ".") + 1); + } + + /** + * @param string $id + * @return HTMLPurifier_ConfigSchema_Interchange_Id + */ + public static function make($id) + { + return new HTMLPurifier_ConfigSchema_Interchange_Id($id); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php new file mode 100644 index 00000000..655e6dd1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php @@ -0,0 +1,226 @@ +varParser = $varParser ? $varParser : new HTMLPurifier_VarParser_Native(); + } + + /** + * @param string $dir + * @return HTMLPurifier_ConfigSchema_Interchange + */ + public static function buildFromDirectory($dir = null) + { + $builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder(); + $interchange = new HTMLPurifier_ConfigSchema_Interchange(); + return $builder->buildDir($interchange, $dir); + } + + /** + * @param HTMLPurifier_ConfigSchema_Interchange $interchange + * @param string $dir + * @return HTMLPurifier_ConfigSchema_Interchange + */ + public function buildDir($interchange, $dir = null) + { + if (!$dir) { + $dir = HTMLPURIFIER_PREFIX . '/HTMLPurifier/ConfigSchema/schema'; + } + if (file_exists($dir . '/info.ini')) { + $info = parse_ini_file($dir . '/info.ini'); + $interchange->name = $info['name']; + } + + $files = array(); + $dh = opendir($dir); + while (false !== ($file = readdir($dh))) { + if (!$file || $file[0] == '.' || strrchr($file, '.') !== '.txt') { + continue; + } + $files[] = $file; + } + closedir($dh); + + sort($files); + foreach ($files as $file) { + $this->buildFile($interchange, $dir . '/' . $file); + } + return $interchange; + } + + /** + * @param HTMLPurifier_ConfigSchema_Interchange $interchange + * @param string $file + */ + public function buildFile($interchange, $file) + { + $parser = new HTMLPurifier_StringHashParser(); + $this->build( + $interchange, + new HTMLPurifier_StringHash($parser->parseFile($file)) + ); + } + + /** + * Builds an interchange object based on a hash. + * @param HTMLPurifier_ConfigSchema_Interchange $interchange HTMLPurifier_ConfigSchema_Interchange object to build + * @param HTMLPurifier_StringHash $hash source data + * @throws HTMLPurifier_ConfigSchema_Exception + */ + public function build($interchange, $hash) + { + if (!$hash instanceof HTMLPurifier_StringHash) { + $hash = new HTMLPurifier_StringHash($hash); + } + if (!isset($hash['ID'])) { + throw new HTMLPurifier_ConfigSchema_Exception('Hash does not have any ID'); + } + if (strpos($hash['ID'], '.') === false) { + if (count($hash) == 2 && isset($hash['DESCRIPTION'])) { + $hash->offsetGet('DESCRIPTION'); // prevent complaining + } else { + throw new HTMLPurifier_ConfigSchema_Exception('All directives must have a namespace'); + } + } else { + $this->buildDirective($interchange, $hash); + } + $this->_findUnused($hash); + } + + /** + * @param HTMLPurifier_ConfigSchema_Interchange $interchange + * @param HTMLPurifier_StringHash $hash + * @throws HTMLPurifier_ConfigSchema_Exception + */ + public function buildDirective($interchange, $hash) + { + $directive = new HTMLPurifier_ConfigSchema_Interchange_Directive(); + + // These are required elements: + $directive->id = $this->id($hash->offsetGet('ID')); + $id = $directive->id->toString(); // convenience + + if (isset($hash['TYPE'])) { + $type = explode('/', $hash->offsetGet('TYPE')); + if (isset($type[1])) { + $directive->typeAllowsNull = true; + } + $directive->type = $type[0]; + } else { + throw new HTMLPurifier_ConfigSchema_Exception("TYPE in directive hash '$id' not defined"); + } + + if (isset($hash['DEFAULT'])) { + try { + $directive->default = $this->varParser->parse( + $hash->offsetGet('DEFAULT'), + $directive->type, + $directive->typeAllowsNull + ); + } catch (HTMLPurifier_VarParserException $e) { + throw new HTMLPurifier_ConfigSchema_Exception($e->getMessage() . " in DEFAULT in directive hash '$id'"); + } + } + + if (isset($hash['DESCRIPTION'])) { + $directive->description = $hash->offsetGet('DESCRIPTION'); + } + + if (isset($hash['ALLOWED'])) { + $directive->allowed = $this->lookup($this->evalArray($hash->offsetGet('ALLOWED'))); + } + + if (isset($hash['VALUE-ALIASES'])) { + $directive->valueAliases = $this->evalArray($hash->offsetGet('VALUE-ALIASES')); + } + + if (isset($hash['ALIASES'])) { + $raw_aliases = trim($hash->offsetGet('ALIASES')); + $aliases = preg_split('/\s*,\s*/', $raw_aliases); + foreach ($aliases as $alias) { + $directive->aliases[] = $this->id($alias); + } + } + + if (isset($hash['VERSION'])) { + $directive->version = $hash->offsetGet('VERSION'); + } + + if (isset($hash['DEPRECATED-USE'])) { + $directive->deprecatedUse = $this->id($hash->offsetGet('DEPRECATED-USE')); + } + + if (isset($hash['DEPRECATED-VERSION'])) { + $directive->deprecatedVersion = $hash->offsetGet('DEPRECATED-VERSION'); + } + + if (isset($hash['EXTERNAL'])) { + $directive->external = preg_split('/\s*,\s*/', trim($hash->offsetGet('EXTERNAL'))); + } + + $interchange->addDirective($directive); + } + + /** + * Evaluates an array PHP code string without array() wrapper + * @param string $contents + */ + protected function evalArray($contents) + { + return eval('return array(' . $contents . ');'); + } + + /** + * Converts an array list into a lookup array. + * @param array $array + * @return array + */ + protected function lookup($array) + { + $ret = array(); + foreach ($array as $val) { + $ret[$val] = true; + } + return $ret; + } + + /** + * Convenience function that creates an HTMLPurifier_ConfigSchema_Interchange_Id + * object based on a string Id. + * @param string $id + * @return HTMLPurifier_ConfigSchema_Interchange_Id + */ + protected function id($id) + { + return HTMLPurifier_ConfigSchema_Interchange_Id::make($id); + } + + /** + * Triggers errors for any unused keys passed in the hash; such keys + * may indicate typos, missing values, etc. + * @param HTMLPurifier_StringHash $hash Hash to check. + */ + protected function _findUnused($hash) + { + $accessed = $hash->getAccessed(); + foreach ($hash as $k => $v) { + if (!isset($accessed[$k])) { + trigger_error("String hash key '$k' not used by builder", E_USER_NOTICE); + } + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php new file mode 100644 index 00000000..fb312778 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php @@ -0,0 +1,248 @@ +parser = new HTMLPurifier_VarParser(); + } + + /** + * Validates a fully-formed interchange object. + * @param HTMLPurifier_ConfigSchema_Interchange $interchange + * @return bool + */ + public function validate($interchange) + { + $this->interchange = $interchange; + $this->aliases = array(); + // PHP is a bit lax with integer <=> string conversions in + // arrays, so we don't use the identical !== comparison + foreach ($interchange->directives as $i => $directive) { + $id = $directive->id->toString(); + if ($i != $id) { + $this->error(false, "Integrity violation: key '$i' does not match internal id '$id'"); + } + $this->validateDirective($directive); + } + return true; + } + + /** + * Validates a HTMLPurifier_ConfigSchema_Interchange_Id object. + * @param HTMLPurifier_ConfigSchema_Interchange_Id $id + */ + public function validateId($id) + { + $id_string = $id->toString(); + $this->context[] = "id '$id_string'"; + if (!$id instanceof HTMLPurifier_ConfigSchema_Interchange_Id) { + // handled by InterchangeBuilder + $this->error(false, 'is not an instance of HTMLPurifier_ConfigSchema_Interchange_Id'); + } + // keys are now unconstrained (we might want to narrow down to A-Za-z0-9.) + // we probably should check that it has at least one namespace + $this->with($id, 'key') + ->assertNotEmpty() + ->assertIsString(); // implicit assertIsString handled by InterchangeBuilder + array_pop($this->context); + } + + /** + * Validates a HTMLPurifier_ConfigSchema_Interchange_Directive object. + * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d + */ + public function validateDirective($d) + { + $id = $d->id->toString(); + $this->context[] = "directive '$id'"; + $this->validateId($d->id); + + $this->with($d, 'description') + ->assertNotEmpty(); + + // BEGIN - handled by InterchangeBuilder + $this->with($d, 'type') + ->assertNotEmpty(); + $this->with($d, 'typeAllowsNull') + ->assertIsBool(); + try { + // This also tests validity of $d->type + $this->parser->parse($d->default, $d->type, $d->typeAllowsNull); + } catch (HTMLPurifier_VarParserException $e) { + $this->error('default', 'had error: ' . $e->getMessage()); + } + // END - handled by InterchangeBuilder + + if (!is_null($d->allowed) || !empty($d->valueAliases)) { + // allowed and valueAliases require that we be dealing with + // strings, so check for that early. + $d_int = HTMLPurifier_VarParser::$types[$d->type]; + if (!isset(HTMLPurifier_VarParser::$stringTypes[$d_int])) { + $this->error('type', 'must be a string type when used with allowed or value aliases'); + } + } + + $this->validateDirectiveAllowed($d); + $this->validateDirectiveValueAliases($d); + $this->validateDirectiveAliases($d); + + array_pop($this->context); + } + + /** + * Extra validation if $allowed member variable of + * HTMLPurifier_ConfigSchema_Interchange_Directive is defined. + * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d + */ + public function validateDirectiveAllowed($d) + { + if (is_null($d->allowed)) { + return; + } + $this->with($d, 'allowed') + ->assertNotEmpty() + ->assertIsLookup(); // handled by InterchangeBuilder + if (is_string($d->default) && !isset($d->allowed[$d->default])) { + $this->error('default', 'must be an allowed value'); + } + $this->context[] = 'allowed'; + foreach ($d->allowed as $val => $x) { + if (!is_string($val)) { + $this->error("value $val", 'must be a string'); + } + } + array_pop($this->context); + } + + /** + * Extra validation if $valueAliases member variable of + * HTMLPurifier_ConfigSchema_Interchange_Directive is defined. + * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d + */ + public function validateDirectiveValueAliases($d) + { + if (is_null($d->valueAliases)) { + return; + } + $this->with($d, 'valueAliases') + ->assertIsArray(); // handled by InterchangeBuilder + $this->context[] = 'valueAliases'; + foreach ($d->valueAliases as $alias => $real) { + if (!is_string($alias)) { + $this->error("alias $alias", 'must be a string'); + } + if (!is_string($real)) { + $this->error("alias target $real from alias '$alias'", 'must be a string'); + } + if ($alias === $real) { + $this->error("alias '$alias'", "must not be an alias to itself"); + } + } + if (!is_null($d->allowed)) { + foreach ($d->valueAliases as $alias => $real) { + if (isset($d->allowed[$alias])) { + $this->error("alias '$alias'", 'must not be an allowed value'); + } elseif (!isset($d->allowed[$real])) { + $this->error("alias '$alias'", 'must be an alias to an allowed value'); + } + } + } + array_pop($this->context); + } + + /** + * Extra validation if $aliases member variable of + * HTMLPurifier_ConfigSchema_Interchange_Directive is defined. + * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d + */ + public function validateDirectiveAliases($d) + { + $this->with($d, 'aliases') + ->assertIsArray(); // handled by InterchangeBuilder + $this->context[] = 'aliases'; + foreach ($d->aliases as $alias) { + $this->validateId($alias); + $s = $alias->toString(); + if (isset($this->interchange->directives[$s])) { + $this->error("alias '$s'", 'collides with another directive'); + } + if (isset($this->aliases[$s])) { + $other_directive = $this->aliases[$s]; + $this->error("alias '$s'", "collides with alias for directive '$other_directive'"); + } + $this->aliases[$s] = $d->id->toString(); + } + array_pop($this->context); + } + + // protected helper functions + + /** + * Convenience function for generating HTMLPurifier_ConfigSchema_ValidatorAtom + * for validating simple member variables of objects. + * @param $obj + * @param $member + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + protected function with($obj, $member) + { + return new HTMLPurifier_ConfigSchema_ValidatorAtom($this->getFormattedContext(), $obj, $member); + } + + /** + * Emits an error, providing helpful context. + * @throws HTMLPurifier_ConfigSchema_Exception + */ + protected function error($target, $msg) + { + if ($target !== false) { + $prefix = ucfirst($target) . ' in ' . $this->getFormattedContext(); + } else { + $prefix = ucfirst($this->getFormattedContext()); + } + throw new HTMLPurifier_ConfigSchema_Exception(trim($prefix . ' ' . $msg)); + } + + /** + * Returns a formatted context string. + * @return string + */ + protected function getFormattedContext() + { + return implode(' in ', array_reverse($this->context)); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php new file mode 100644 index 00000000..c9aa3644 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php @@ -0,0 +1,130 @@ +context = $context; + $this->obj = $obj; + $this->member = $member; + $this->contents =& $obj->$member; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertIsString() + { + if (!is_string($this->contents)) { + $this->error('must be a string'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertIsBool() + { + if (!is_bool($this->contents)) { + $this->error('must be a boolean'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertIsArray() + { + if (!is_array($this->contents)) { + $this->error('must be an array'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertNotNull() + { + if ($this->contents === null) { + $this->error('must not be null'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertAlnum() + { + $this->assertIsString(); + if (!ctype_alnum($this->contents)) { + $this->error('must be alphanumeric'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertNotEmpty() + { + if (empty($this->contents)) { + $this->error('must not be empty'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertIsLookup() + { + $this->assertIsArray(); + foreach ($this->contents as $v) { + if ($v !== true) { + $this->error('must be a lookup array'); + } + } + return $this; + } + + /** + * @param string $msg + * @throws HTMLPurifier_ConfigSchema_Exception + */ + protected function error($msg) + { + throw new HTMLPurifier_ConfigSchema_Exception(ucfirst($this->member) . ' in ' . $this->context . ' ' . $msg); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema.ser b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema.ser new file mode 100644 index 00000000..a5426c73 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema.ser @@ -0,0 +1 @@ +O:25:"HTMLPurifier_ConfigSchema":3:{s:8:"defaults";a:127:{s:19:"Attr.AllowedClasses";N;s:24:"Attr.AllowedFrameTargets";a:0:{}s:15:"Attr.AllowedRel";a:0:{}s:15:"Attr.AllowedRev";a:0:{}s:18:"Attr.ClassUseCDATA";N;s:20:"Attr.DefaultImageAlt";N;s:24:"Attr.DefaultInvalidImage";s:0:"";s:27:"Attr.DefaultInvalidImageAlt";s:13:"Invalid image";s:19:"Attr.DefaultTextDir";s:3:"ltr";s:13:"Attr.EnableID";b:0;s:21:"Attr.ForbiddenClasses";a:0:{}s:13:"Attr.ID.HTML5";N;s:16:"Attr.IDBlacklist";a:0:{}s:22:"Attr.IDBlacklistRegexp";N;s:13:"Attr.IDPrefix";s:0:"";s:18:"Attr.IDPrefixLocal";s:0:"";s:24:"AutoFormat.AutoParagraph";b:0;s:17:"AutoFormat.Custom";a:0:{}s:25:"AutoFormat.DisplayLinkURI";b:0;s:18:"AutoFormat.Linkify";b:0;s:33:"AutoFormat.PurifierLinkify.DocURL";s:3:"#%s";s:26:"AutoFormat.PurifierLinkify";b:0;s:32:"AutoFormat.RemoveEmpty.Predicate";a:4:{s:8:"colgroup";a:0:{}s:2:"th";a:0:{}s:2:"td";a:0:{}s:6:"iframe";a:1:{i:0;s:3:"src";}}s:44:"AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions";a:2:{s:2:"td";b:1;s:2:"th";b:1;}s:33:"AutoFormat.RemoveEmpty.RemoveNbsp";b:0;s:22:"AutoFormat.RemoveEmpty";b:0;s:39:"AutoFormat.RemoveSpansWithoutAttributes";b:0;s:19:"CSS.AllowDuplicates";b:0;s:18:"CSS.AllowImportant";b:0;s:15:"CSS.AllowTricky";b:0;s:16:"CSS.AllowedFonts";N;s:21:"CSS.AllowedProperties";N;s:17:"CSS.DefinitionRev";i:1;s:23:"CSS.ForbiddenProperties";a:0:{}s:16:"CSS.MaxImgLength";s:6:"1200px";s:15:"CSS.Proprietary";b:0;s:11:"CSS.Trusted";b:0;s:20:"Cache.DefinitionImpl";s:10:"Serializer";s:20:"Cache.SerializerPath";N;s:27:"Cache.SerializerPermissions";i:493;s:22:"Core.AggressivelyFixLt";b:1;s:29:"Core.AggressivelyRemoveScript";b:1;s:28:"Core.AllowHostnameUnderscore";b:0;s:23:"Core.AllowParseManyTags";b:0;s:18:"Core.CollectErrors";b:0;s:18:"Core.ColorKeywords";a:148:{s:9:"aliceblue";s:7:"#F0F8FF";s:12:"antiquewhite";s:7:"#FAEBD7";s:4:"aqua";s:7:"#00FFFF";s:10:"aquamarine";s:7:"#7FFFD4";s:5:"azure";s:7:"#F0FFFF";s:5:"beige";s:7:"#F5F5DC";s:6:"bisque";s:7:"#FFE4C4";s:5:"black";s:7:"#000000";s:14:"blanchedalmond";s:7:"#FFEBCD";s:4:"blue";s:7:"#0000FF";s:10:"blueviolet";s:7:"#8A2BE2";s:5:"brown";s:7:"#A52A2A";s:9:"burlywood";s:7:"#DEB887";s:9:"cadetblue";s:7:"#5F9EA0";s:10:"chartreuse";s:7:"#7FFF00";s:9:"chocolate";s:7:"#D2691E";s:5:"coral";s:7:"#FF7F50";s:14:"cornflowerblue";s:7:"#6495ED";s:8:"cornsilk";s:7:"#FFF8DC";s:7:"crimson";s:7:"#DC143C";s:4:"cyan";s:7:"#00FFFF";s:8:"darkblue";s:7:"#00008B";s:8:"darkcyan";s:7:"#008B8B";s:13:"darkgoldenrod";s:7:"#B8860B";s:8:"darkgray";s:7:"#A9A9A9";s:8:"darkgrey";s:7:"#A9A9A9";s:9:"darkgreen";s:7:"#006400";s:9:"darkkhaki";s:7:"#BDB76B";s:11:"darkmagenta";s:7:"#8B008B";s:14:"darkolivegreen";s:7:"#556B2F";s:10:"darkorange";s:7:"#FF8C00";s:10:"darkorchid";s:7:"#9932CC";s:7:"darkred";s:7:"#8B0000";s:10:"darksalmon";s:7:"#E9967A";s:12:"darkseagreen";s:7:"#8FBC8F";s:13:"darkslateblue";s:7:"#483D8B";s:13:"darkslategray";s:7:"#2F4F4F";s:13:"darkslategrey";s:7:"#2F4F4F";s:13:"darkturquoise";s:7:"#00CED1";s:10:"darkviolet";s:7:"#9400D3";s:8:"deeppink";s:7:"#FF1493";s:11:"deepskyblue";s:7:"#00BFFF";s:7:"dimgray";s:7:"#696969";s:7:"dimgrey";s:7:"#696969";s:10:"dodgerblue";s:7:"#1E90FF";s:9:"firebrick";s:7:"#B22222";s:11:"floralwhite";s:7:"#FFFAF0";s:11:"forestgreen";s:7:"#228B22";s:7:"fuchsia";s:7:"#FF00FF";s:9:"gainsboro";s:7:"#DCDCDC";s:10:"ghostwhite";s:7:"#F8F8FF";s:4:"gold";s:7:"#FFD700";s:9:"goldenrod";s:7:"#DAA520";s:4:"gray";s:7:"#808080";s:4:"grey";s:7:"#808080";s:5:"green";s:7:"#008000";s:11:"greenyellow";s:7:"#ADFF2F";s:8:"honeydew";s:7:"#F0FFF0";s:7:"hotpink";s:7:"#FF69B4";s:9:"indianred";s:7:"#CD5C5C";s:6:"indigo";s:7:"#4B0082";s:5:"ivory";s:7:"#FFFFF0";s:5:"khaki";s:7:"#F0E68C";s:8:"lavender";s:7:"#E6E6FA";s:13:"lavenderblush";s:7:"#FFF0F5";s:9:"lawngreen";s:7:"#7CFC00";s:12:"lemonchiffon";s:7:"#FFFACD";s:9:"lightblue";s:7:"#ADD8E6";s:10:"lightcoral";s:7:"#F08080";s:9:"lightcyan";s:7:"#E0FFFF";s:20:"lightgoldenrodyellow";s:7:"#FAFAD2";s:9:"lightgray";s:7:"#D3D3D3";s:9:"lightgrey";s:7:"#D3D3D3";s:10:"lightgreen";s:7:"#90EE90";s:9:"lightpink";s:7:"#FFB6C1";s:11:"lightsalmon";s:7:"#FFA07A";s:13:"lightseagreen";s:7:"#20B2AA";s:12:"lightskyblue";s:7:"#87CEFA";s:14:"lightslategray";s:7:"#778899";s:14:"lightslategrey";s:7:"#778899";s:14:"lightsteelblue";s:7:"#B0C4DE";s:11:"lightyellow";s:7:"#FFFFE0";s:4:"lime";s:7:"#00FF00";s:9:"limegreen";s:7:"#32CD32";s:5:"linen";s:7:"#FAF0E6";s:7:"magenta";s:7:"#FF00FF";s:6:"maroon";s:7:"#800000";s:16:"mediumaquamarine";s:7:"#66CDAA";s:10:"mediumblue";s:7:"#0000CD";s:12:"mediumorchid";s:7:"#BA55D3";s:12:"mediumpurple";s:7:"#9370DB";s:14:"mediumseagreen";s:7:"#3CB371";s:15:"mediumslateblue";s:7:"#7B68EE";s:17:"mediumspringgreen";s:7:"#00FA9A";s:15:"mediumturquoise";s:7:"#48D1CC";s:15:"mediumvioletred";s:7:"#C71585";s:12:"midnightblue";s:7:"#191970";s:9:"mintcream";s:7:"#F5FFFA";s:9:"mistyrose";s:7:"#FFE4E1";s:8:"moccasin";s:7:"#FFE4B5";s:11:"navajowhite";s:7:"#FFDEAD";s:4:"navy";s:7:"#000080";s:7:"oldlace";s:7:"#FDF5E6";s:5:"olive";s:7:"#808000";s:9:"olivedrab";s:7:"#6B8E23";s:6:"orange";s:7:"#FFA500";s:9:"orangered";s:7:"#FF4500";s:6:"orchid";s:7:"#DA70D6";s:13:"palegoldenrod";s:7:"#EEE8AA";s:9:"palegreen";s:7:"#98FB98";s:13:"paleturquoise";s:7:"#AFEEEE";s:13:"palevioletred";s:7:"#DB7093";s:10:"papayawhip";s:7:"#FFEFD5";s:9:"peachpuff";s:7:"#FFDAB9";s:4:"peru";s:7:"#CD853F";s:4:"pink";s:7:"#FFC0CB";s:4:"plum";s:7:"#DDA0DD";s:10:"powderblue";s:7:"#B0E0E6";s:6:"purple";s:7:"#800080";s:13:"rebeccapurple";s:7:"#663399";s:3:"red";s:7:"#FF0000";s:9:"rosybrown";s:7:"#BC8F8F";s:9:"royalblue";s:7:"#4169E1";s:11:"saddlebrown";s:7:"#8B4513";s:6:"salmon";s:7:"#FA8072";s:10:"sandybrown";s:7:"#F4A460";s:8:"seagreen";s:7:"#2E8B57";s:8:"seashell";s:7:"#FFF5EE";s:6:"sienna";s:7:"#A0522D";s:6:"silver";s:7:"#C0C0C0";s:7:"skyblue";s:7:"#87CEEB";s:9:"slateblue";s:7:"#6A5ACD";s:9:"slategray";s:7:"#708090";s:9:"slategrey";s:7:"#708090";s:4:"snow";s:7:"#FFFAFA";s:11:"springgreen";s:7:"#00FF7F";s:9:"steelblue";s:7:"#4682B4";s:3:"tan";s:7:"#D2B48C";s:4:"teal";s:7:"#008080";s:7:"thistle";s:7:"#D8BFD8";s:6:"tomato";s:7:"#FF6347";s:9:"turquoise";s:7:"#40E0D0";s:6:"violet";s:7:"#EE82EE";s:5:"wheat";s:7:"#F5DEB3";s:5:"white";s:7:"#FFFFFF";s:10:"whitesmoke";s:7:"#F5F5F5";s:6:"yellow";s:7:"#FFFF00";s:11:"yellowgreen";s:7:"#9ACD32";}s:30:"Core.ConvertDocumentToFragment";b:1;s:36:"Core.DirectLexLineNumberSyncInterval";i:0;s:20:"Core.DisableExcludes";b:0;s:15:"Core.EnableIDNA";b:0;s:13:"Core.Encoding";s:5:"utf-8";s:26:"Core.EscapeInvalidChildren";b:0;s:22:"Core.EscapeInvalidTags";b:0;s:29:"Core.EscapeNonASCIICharacters";b:0;s:19:"Core.HiddenElements";a:2:{s:6:"script";b:1;s:5:"style";b:1;}s:13:"Core.Language";s:2:"en";s:24:"Core.LegacyEntityDecoder";b:0;s:14:"Core.LexerImpl";N;s:24:"Core.MaintainLineNumbers";N;s:22:"Core.NormalizeNewlines";b:1;s:21:"Core.RemoveInvalidImg";b:1;s:33:"Core.RemoveProcessingInstructions";b:0;s:25:"Core.RemoveScriptContents";N;s:13:"Filter.Custom";a:0:{}s:34:"Filter.ExtractStyleBlocks.Escaping";b:1;s:31:"Filter.ExtractStyleBlocks.Scope";N;s:34:"Filter.ExtractStyleBlocks.TidyImpl";N;s:25:"Filter.ExtractStyleBlocks";b:0;s:14:"Filter.YouTube";b:0;s:12:"HTML.Allowed";N;s:22:"HTML.AllowedAttributes";N;s:20:"HTML.AllowedComments";a:0:{}s:26:"HTML.AllowedCommentsRegexp";N;s:20:"HTML.AllowedElements";N;s:19:"HTML.AllowedModules";N;s:23:"HTML.Attr.Name.UseCDATA";b:0;s:17:"HTML.BlockWrapper";s:1:"p";s:16:"HTML.CoreModules";a:7:{s:9:"Structure";b:1;s:4:"Text";b:1;s:9:"Hypertext";b:1;s:4:"List";b:1;s:22:"NonXMLCommonAttributes";b:1;s:19:"XMLCommonAttributes";b:1;s:16:"CommonAttributes";b:1;}s:18:"HTML.CustomDoctype";N;s:17:"HTML.DefinitionID";N;s:18:"HTML.DefinitionRev";i:1;s:12:"HTML.Doctype";N;s:25:"HTML.FlashAllowFullScreen";b:0;s:24:"HTML.ForbiddenAttributes";a:0:{}s:22:"HTML.ForbiddenElements";a:0:{}s:10:"HTML.Forms";b:0;s:17:"HTML.MaxImgLength";i:1200;s:13:"HTML.Nofollow";b:0;s:11:"HTML.Parent";s:3:"div";s:16:"HTML.Proprietary";b:0;s:14:"HTML.SafeEmbed";b:0;s:15:"HTML.SafeIframe";b:0;s:15:"HTML.SafeObject";b:0;s:18:"HTML.SafeScripting";a:0:{}s:11:"HTML.Strict";b:0;s:16:"HTML.TargetBlank";b:0;s:19:"HTML.TargetNoopener";b:1;s:21:"HTML.TargetNoreferrer";b:1;s:12:"HTML.TidyAdd";a:0:{}s:14:"HTML.TidyLevel";s:6:"medium";s:15:"HTML.TidyRemove";a:0:{}s:12:"HTML.Trusted";b:0;s:10:"HTML.XHTML";b:1;s:28:"Output.CommentScriptContents";b:1;s:19:"Output.FixInnerHTML";b:1;s:18:"Output.FlashCompat";b:0;s:14:"Output.Newline";N;s:15:"Output.SortAttr";b:0;s:17:"Output.TidyFormat";b:0;s:17:"Test.ForceNoIconv";b:0;s:18:"URI.AllowedSchemes";a:7:{s:4:"http";b:1;s:5:"https";b:1;s:6:"mailto";b:1;s:3:"ftp";b:1;s:4:"nntp";b:1;s:4:"news";b:1;s:3:"tel";b:1;}s:8:"URI.Base";N;s:17:"URI.DefaultScheme";s:4:"http";s:16:"URI.DefinitionID";N;s:17:"URI.DefinitionRev";i:1;s:11:"URI.Disable";b:0;s:19:"URI.DisableExternal";b:0;s:28:"URI.DisableExternalResources";b:0;s:20:"URI.DisableResources";b:0;s:8:"URI.Host";N;s:17:"URI.HostBlacklist";a:0:{}s:16:"URI.MakeAbsolute";b:0;s:9:"URI.Munge";N;s:18:"URI.MungeResources";b:0;s:18:"URI.MungeSecretKey";N;s:26:"URI.OverrideAllowedSchemes";b:1;s:20:"URI.SafeIframeRegexp";N;}s:12:"defaultPlist";O:25:"HTMLPurifier_PropertyList":3:{s:7:"*data";a:127:{s:19:"Attr.AllowedClasses";N;s:24:"Attr.AllowedFrameTargets";a:0:{}s:15:"Attr.AllowedRel";a:0:{}s:15:"Attr.AllowedRev";a:0:{}s:18:"Attr.ClassUseCDATA";N;s:20:"Attr.DefaultImageAlt";N;s:24:"Attr.DefaultInvalidImage";s:0:"";s:27:"Attr.DefaultInvalidImageAlt";s:13:"Invalid image";s:19:"Attr.DefaultTextDir";s:3:"ltr";s:13:"Attr.EnableID";b:0;s:21:"Attr.ForbiddenClasses";a:0:{}s:13:"Attr.ID.HTML5";N;s:16:"Attr.IDBlacklist";a:0:{}s:22:"Attr.IDBlacklistRegexp";N;s:13:"Attr.IDPrefix";s:0:"";s:18:"Attr.IDPrefixLocal";s:0:"";s:24:"AutoFormat.AutoParagraph";b:0;s:17:"AutoFormat.Custom";a:0:{}s:25:"AutoFormat.DisplayLinkURI";b:0;s:18:"AutoFormat.Linkify";b:0;s:33:"AutoFormat.PurifierLinkify.DocURL";s:3:"#%s";s:26:"AutoFormat.PurifierLinkify";b:0;s:32:"AutoFormat.RemoveEmpty.Predicate";a:4:{s:8:"colgroup";a:0:{}s:2:"th";a:0:{}s:2:"td";a:0:{}s:6:"iframe";a:1:{i:0;s:3:"src";}}s:44:"AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions";a:2:{s:2:"td";b:1;s:2:"th";b:1;}s:33:"AutoFormat.RemoveEmpty.RemoveNbsp";b:0;s:22:"AutoFormat.RemoveEmpty";b:0;s:39:"AutoFormat.RemoveSpansWithoutAttributes";b:0;s:19:"CSS.AllowDuplicates";b:0;s:18:"CSS.AllowImportant";b:0;s:15:"CSS.AllowTricky";b:0;s:16:"CSS.AllowedFonts";N;s:21:"CSS.AllowedProperties";N;s:17:"CSS.DefinitionRev";i:1;s:23:"CSS.ForbiddenProperties";a:0:{}s:16:"CSS.MaxImgLength";s:6:"1200px";s:15:"CSS.Proprietary";b:0;s:11:"CSS.Trusted";b:0;s:20:"Cache.DefinitionImpl";s:10:"Serializer";s:20:"Cache.SerializerPath";N;s:27:"Cache.SerializerPermissions";i:493;s:22:"Core.AggressivelyFixLt";b:1;s:29:"Core.AggressivelyRemoveScript";b:1;s:28:"Core.AllowHostnameUnderscore";b:0;s:23:"Core.AllowParseManyTags";b:0;s:18:"Core.CollectErrors";b:0;s:18:"Core.ColorKeywords";a:148:{s:9:"aliceblue";s:7:"#F0F8FF";s:12:"antiquewhite";s:7:"#FAEBD7";s:4:"aqua";s:7:"#00FFFF";s:10:"aquamarine";s:7:"#7FFFD4";s:5:"azure";s:7:"#F0FFFF";s:5:"beige";s:7:"#F5F5DC";s:6:"bisque";s:7:"#FFE4C4";s:5:"black";s:7:"#000000";s:14:"blanchedalmond";s:7:"#FFEBCD";s:4:"blue";s:7:"#0000FF";s:10:"blueviolet";s:7:"#8A2BE2";s:5:"brown";s:7:"#A52A2A";s:9:"burlywood";s:7:"#DEB887";s:9:"cadetblue";s:7:"#5F9EA0";s:10:"chartreuse";s:7:"#7FFF00";s:9:"chocolate";s:7:"#D2691E";s:5:"coral";s:7:"#FF7F50";s:14:"cornflowerblue";s:7:"#6495ED";s:8:"cornsilk";s:7:"#FFF8DC";s:7:"crimson";s:7:"#DC143C";s:4:"cyan";s:7:"#00FFFF";s:8:"darkblue";s:7:"#00008B";s:8:"darkcyan";s:7:"#008B8B";s:13:"darkgoldenrod";s:7:"#B8860B";s:8:"darkgray";s:7:"#A9A9A9";s:8:"darkgrey";s:7:"#A9A9A9";s:9:"darkgreen";s:7:"#006400";s:9:"darkkhaki";s:7:"#BDB76B";s:11:"darkmagenta";s:7:"#8B008B";s:14:"darkolivegreen";s:7:"#556B2F";s:10:"darkorange";s:7:"#FF8C00";s:10:"darkorchid";s:7:"#9932CC";s:7:"darkred";s:7:"#8B0000";s:10:"darksalmon";s:7:"#E9967A";s:12:"darkseagreen";s:7:"#8FBC8F";s:13:"darkslateblue";s:7:"#483D8B";s:13:"darkslategray";s:7:"#2F4F4F";s:13:"darkslategrey";s:7:"#2F4F4F";s:13:"darkturquoise";s:7:"#00CED1";s:10:"darkviolet";s:7:"#9400D3";s:8:"deeppink";s:7:"#FF1493";s:11:"deepskyblue";s:7:"#00BFFF";s:7:"dimgray";s:7:"#696969";s:7:"dimgrey";s:7:"#696969";s:10:"dodgerblue";s:7:"#1E90FF";s:9:"firebrick";s:7:"#B22222";s:11:"floralwhite";s:7:"#FFFAF0";s:11:"forestgreen";s:7:"#228B22";s:7:"fuchsia";s:7:"#FF00FF";s:9:"gainsboro";s:7:"#DCDCDC";s:10:"ghostwhite";s:7:"#F8F8FF";s:4:"gold";s:7:"#FFD700";s:9:"goldenrod";s:7:"#DAA520";s:4:"gray";s:7:"#808080";s:4:"grey";s:7:"#808080";s:5:"green";s:7:"#008000";s:11:"greenyellow";s:7:"#ADFF2F";s:8:"honeydew";s:7:"#F0FFF0";s:7:"hotpink";s:7:"#FF69B4";s:9:"indianred";s:7:"#CD5C5C";s:6:"indigo";s:7:"#4B0082";s:5:"ivory";s:7:"#FFFFF0";s:5:"khaki";s:7:"#F0E68C";s:8:"lavender";s:7:"#E6E6FA";s:13:"lavenderblush";s:7:"#FFF0F5";s:9:"lawngreen";s:7:"#7CFC00";s:12:"lemonchiffon";s:7:"#FFFACD";s:9:"lightblue";s:7:"#ADD8E6";s:10:"lightcoral";s:7:"#F08080";s:9:"lightcyan";s:7:"#E0FFFF";s:20:"lightgoldenrodyellow";s:7:"#FAFAD2";s:9:"lightgray";s:7:"#D3D3D3";s:9:"lightgrey";s:7:"#D3D3D3";s:10:"lightgreen";s:7:"#90EE90";s:9:"lightpink";s:7:"#FFB6C1";s:11:"lightsalmon";s:7:"#FFA07A";s:13:"lightseagreen";s:7:"#20B2AA";s:12:"lightskyblue";s:7:"#87CEFA";s:14:"lightslategray";s:7:"#778899";s:14:"lightslategrey";s:7:"#778899";s:14:"lightsteelblue";s:7:"#B0C4DE";s:11:"lightyellow";s:7:"#FFFFE0";s:4:"lime";s:7:"#00FF00";s:9:"limegreen";s:7:"#32CD32";s:5:"linen";s:7:"#FAF0E6";s:7:"magenta";s:7:"#FF00FF";s:6:"maroon";s:7:"#800000";s:16:"mediumaquamarine";s:7:"#66CDAA";s:10:"mediumblue";s:7:"#0000CD";s:12:"mediumorchid";s:7:"#BA55D3";s:12:"mediumpurple";s:7:"#9370DB";s:14:"mediumseagreen";s:7:"#3CB371";s:15:"mediumslateblue";s:7:"#7B68EE";s:17:"mediumspringgreen";s:7:"#00FA9A";s:15:"mediumturquoise";s:7:"#48D1CC";s:15:"mediumvioletred";s:7:"#C71585";s:12:"midnightblue";s:7:"#191970";s:9:"mintcream";s:7:"#F5FFFA";s:9:"mistyrose";s:7:"#FFE4E1";s:8:"moccasin";s:7:"#FFE4B5";s:11:"navajowhite";s:7:"#FFDEAD";s:4:"navy";s:7:"#000080";s:7:"oldlace";s:7:"#FDF5E6";s:5:"olive";s:7:"#808000";s:9:"olivedrab";s:7:"#6B8E23";s:6:"orange";s:7:"#FFA500";s:9:"orangered";s:7:"#FF4500";s:6:"orchid";s:7:"#DA70D6";s:13:"palegoldenrod";s:7:"#EEE8AA";s:9:"palegreen";s:7:"#98FB98";s:13:"paleturquoise";s:7:"#AFEEEE";s:13:"palevioletred";s:7:"#DB7093";s:10:"papayawhip";s:7:"#FFEFD5";s:9:"peachpuff";s:7:"#FFDAB9";s:4:"peru";s:7:"#CD853F";s:4:"pink";s:7:"#FFC0CB";s:4:"plum";s:7:"#DDA0DD";s:10:"powderblue";s:7:"#B0E0E6";s:6:"purple";s:7:"#800080";s:13:"rebeccapurple";s:7:"#663399";s:3:"red";s:7:"#FF0000";s:9:"rosybrown";s:7:"#BC8F8F";s:9:"royalblue";s:7:"#4169E1";s:11:"saddlebrown";s:7:"#8B4513";s:6:"salmon";s:7:"#FA8072";s:10:"sandybrown";s:7:"#F4A460";s:8:"seagreen";s:7:"#2E8B57";s:8:"seashell";s:7:"#FFF5EE";s:6:"sienna";s:7:"#A0522D";s:6:"silver";s:7:"#C0C0C0";s:7:"skyblue";s:7:"#87CEEB";s:9:"slateblue";s:7:"#6A5ACD";s:9:"slategray";s:7:"#708090";s:9:"slategrey";s:7:"#708090";s:4:"snow";s:7:"#FFFAFA";s:11:"springgreen";s:7:"#00FF7F";s:9:"steelblue";s:7:"#4682B4";s:3:"tan";s:7:"#D2B48C";s:4:"teal";s:7:"#008080";s:7:"thistle";s:7:"#D8BFD8";s:6:"tomato";s:7:"#FF6347";s:9:"turquoise";s:7:"#40E0D0";s:6:"violet";s:7:"#EE82EE";s:5:"wheat";s:7:"#F5DEB3";s:5:"white";s:7:"#FFFFFF";s:10:"whitesmoke";s:7:"#F5F5F5";s:6:"yellow";s:7:"#FFFF00";s:11:"yellowgreen";s:7:"#9ACD32";}s:30:"Core.ConvertDocumentToFragment";b:1;s:36:"Core.DirectLexLineNumberSyncInterval";i:0;s:20:"Core.DisableExcludes";b:0;s:15:"Core.EnableIDNA";b:0;s:13:"Core.Encoding";s:5:"utf-8";s:26:"Core.EscapeInvalidChildren";b:0;s:22:"Core.EscapeInvalidTags";b:0;s:29:"Core.EscapeNonASCIICharacters";b:0;s:19:"Core.HiddenElements";a:2:{s:6:"script";b:1;s:5:"style";b:1;}s:13:"Core.Language";s:2:"en";s:24:"Core.LegacyEntityDecoder";b:0;s:14:"Core.LexerImpl";N;s:24:"Core.MaintainLineNumbers";N;s:22:"Core.NormalizeNewlines";b:1;s:21:"Core.RemoveInvalidImg";b:1;s:33:"Core.RemoveProcessingInstructions";b:0;s:25:"Core.RemoveScriptContents";N;s:13:"Filter.Custom";a:0:{}s:34:"Filter.ExtractStyleBlocks.Escaping";b:1;s:31:"Filter.ExtractStyleBlocks.Scope";N;s:34:"Filter.ExtractStyleBlocks.TidyImpl";N;s:25:"Filter.ExtractStyleBlocks";b:0;s:14:"Filter.YouTube";b:0;s:12:"HTML.Allowed";N;s:22:"HTML.AllowedAttributes";N;s:20:"HTML.AllowedComments";a:0:{}s:26:"HTML.AllowedCommentsRegexp";N;s:20:"HTML.AllowedElements";N;s:19:"HTML.AllowedModules";N;s:23:"HTML.Attr.Name.UseCDATA";b:0;s:17:"HTML.BlockWrapper";s:1:"p";s:16:"HTML.CoreModules";a:7:{s:9:"Structure";b:1;s:4:"Text";b:1;s:9:"Hypertext";b:1;s:4:"List";b:1;s:22:"NonXMLCommonAttributes";b:1;s:19:"XMLCommonAttributes";b:1;s:16:"CommonAttributes";b:1;}s:18:"HTML.CustomDoctype";N;s:17:"HTML.DefinitionID";N;s:18:"HTML.DefinitionRev";i:1;s:12:"HTML.Doctype";N;s:25:"HTML.FlashAllowFullScreen";b:0;s:24:"HTML.ForbiddenAttributes";a:0:{}s:22:"HTML.ForbiddenElements";a:0:{}s:10:"HTML.Forms";b:0;s:17:"HTML.MaxImgLength";i:1200;s:13:"HTML.Nofollow";b:0;s:11:"HTML.Parent";s:3:"div";s:16:"HTML.Proprietary";b:0;s:14:"HTML.SafeEmbed";b:0;s:15:"HTML.SafeIframe";b:0;s:15:"HTML.SafeObject";b:0;s:18:"HTML.SafeScripting";a:0:{}s:11:"HTML.Strict";b:0;s:16:"HTML.TargetBlank";b:0;s:19:"HTML.TargetNoopener";b:1;s:21:"HTML.TargetNoreferrer";b:1;s:12:"HTML.TidyAdd";a:0:{}s:14:"HTML.TidyLevel";s:6:"medium";s:15:"HTML.TidyRemove";a:0:{}s:12:"HTML.Trusted";b:0;s:10:"HTML.XHTML";b:1;s:28:"Output.CommentScriptContents";b:1;s:19:"Output.FixInnerHTML";b:1;s:18:"Output.FlashCompat";b:0;s:14:"Output.Newline";N;s:15:"Output.SortAttr";b:0;s:17:"Output.TidyFormat";b:0;s:17:"Test.ForceNoIconv";b:0;s:18:"URI.AllowedSchemes";a:7:{s:4:"http";b:1;s:5:"https";b:1;s:6:"mailto";b:1;s:3:"ftp";b:1;s:4:"nntp";b:1;s:4:"news";b:1;s:3:"tel";b:1;}s:8:"URI.Base";N;s:17:"URI.DefaultScheme";s:4:"http";s:16:"URI.DefinitionID";N;s:17:"URI.DefinitionRev";i:1;s:11:"URI.Disable";b:0;s:19:"URI.DisableExternal";b:0;s:28:"URI.DisableExternalResources";b:0;s:20:"URI.DisableResources";b:0;s:8:"URI.Host";N;s:17:"URI.HostBlacklist";a:0:{}s:16:"URI.MakeAbsolute";b:0;s:9:"URI.Munge";N;s:18:"URI.MungeResources";b:0;s:18:"URI.MungeSecretKey";N;s:26:"URI.OverrideAllowedSchemes";b:1;s:20:"URI.SafeIframeRegexp";N;}s:9:"*parent";N;s:8:"*cache";N;}s:4:"info";a:140:{s:19:"Attr.AllowedClasses";i:-8;s:24:"Attr.AllowedFrameTargets";i:8;s:15:"Attr.AllowedRel";i:8;s:15:"Attr.AllowedRev";i:8;s:18:"Attr.ClassUseCDATA";i:-7;s:20:"Attr.DefaultImageAlt";i:-1;s:24:"Attr.DefaultInvalidImage";i:1;s:27:"Attr.DefaultInvalidImageAlt";i:1;s:19:"Attr.DefaultTextDir";O:8:"stdClass":2:{s:4:"type";i:1;s:7:"allowed";a:2:{s:3:"ltr";b:1;s:3:"rtl";b:1;}}s:13:"Attr.EnableID";i:7;s:17:"HTML.EnableAttrID";O:8:"stdClass":2:{s:3:"key";s:13:"Attr.EnableID";s:7:"isAlias";b:1;}s:21:"Attr.ForbiddenClasses";i:8;s:13:"Attr.ID.HTML5";i:-7;s:16:"Attr.IDBlacklist";i:9;s:22:"Attr.IDBlacklistRegexp";i:-1;s:13:"Attr.IDPrefix";i:1;s:18:"Attr.IDPrefixLocal";i:1;s:24:"AutoFormat.AutoParagraph";i:7;s:17:"AutoFormat.Custom";i:9;s:25:"AutoFormat.DisplayLinkURI";i:7;s:18:"AutoFormat.Linkify";i:7;s:33:"AutoFormat.PurifierLinkify.DocURL";i:1;s:37:"AutoFormatParam.PurifierLinkifyDocURL";O:8:"stdClass":2:{s:3:"key";s:33:"AutoFormat.PurifierLinkify.DocURL";s:7:"isAlias";b:1;}s:26:"AutoFormat.PurifierLinkify";i:7;s:32:"AutoFormat.RemoveEmpty.Predicate";i:10;s:44:"AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions";i:8;s:33:"AutoFormat.RemoveEmpty.RemoveNbsp";i:7;s:22:"AutoFormat.RemoveEmpty";i:7;s:39:"AutoFormat.RemoveSpansWithoutAttributes";i:7;s:19:"CSS.AllowDuplicates";i:7;s:18:"CSS.AllowImportant";i:7;s:15:"CSS.AllowTricky";i:7;s:16:"CSS.AllowedFonts";i:-8;s:21:"CSS.AllowedProperties";i:-8;s:17:"CSS.DefinitionRev";i:5;s:23:"CSS.ForbiddenProperties";i:8;s:16:"CSS.MaxImgLength";i:-1;s:15:"CSS.Proprietary";i:7;s:11:"CSS.Trusted";i:7;s:20:"Cache.DefinitionImpl";i:-1;s:20:"Core.DefinitionCache";O:8:"stdClass":2:{s:3:"key";s:20:"Cache.DefinitionImpl";s:7:"isAlias";b:1;}s:20:"Cache.SerializerPath";i:-1;s:27:"Cache.SerializerPermissions";i:-5;s:22:"Core.AggressivelyFixLt";i:7;s:29:"Core.AggressivelyRemoveScript";i:7;s:28:"Core.AllowHostnameUnderscore";i:7;s:23:"Core.AllowParseManyTags";i:7;s:18:"Core.CollectErrors";i:7;s:18:"Core.ColorKeywords";i:10;s:30:"Core.ConvertDocumentToFragment";i:7;s:24:"Core.AcceptFullDocuments";O:8:"stdClass":2:{s:3:"key";s:30:"Core.ConvertDocumentToFragment";s:7:"isAlias";b:1;}s:36:"Core.DirectLexLineNumberSyncInterval";i:5;s:20:"Core.DisableExcludes";i:7;s:15:"Core.EnableIDNA";i:7;s:13:"Core.Encoding";i:2;s:26:"Core.EscapeInvalidChildren";i:7;s:22:"Core.EscapeInvalidTags";i:7;s:29:"Core.EscapeNonASCIICharacters";i:7;s:19:"Core.HiddenElements";i:8;s:13:"Core.Language";i:1;s:24:"Core.LegacyEntityDecoder";i:7;s:14:"Core.LexerImpl";i:-11;s:24:"Core.MaintainLineNumbers";i:-7;s:22:"Core.NormalizeNewlines";i:7;s:21:"Core.RemoveInvalidImg";i:7;s:33:"Core.RemoveProcessingInstructions";i:7;s:25:"Core.RemoveScriptContents";i:-7;s:13:"Filter.Custom";i:9;s:34:"Filter.ExtractStyleBlocks.Escaping";i:7;s:33:"Filter.ExtractStyleBlocksEscaping";O:8:"stdClass":2:{s:3:"key";s:34:"Filter.ExtractStyleBlocks.Escaping";s:7:"isAlias";b:1;}s:38:"FilterParam.ExtractStyleBlocksEscaping";O:8:"stdClass":2:{s:3:"key";s:34:"Filter.ExtractStyleBlocks.Escaping";s:7:"isAlias";b:1;}s:31:"Filter.ExtractStyleBlocks.Scope";i:-1;s:30:"Filter.ExtractStyleBlocksScope";O:8:"stdClass":2:{s:3:"key";s:31:"Filter.ExtractStyleBlocks.Scope";s:7:"isAlias";b:1;}s:35:"FilterParam.ExtractStyleBlocksScope";O:8:"stdClass":2:{s:3:"key";s:31:"Filter.ExtractStyleBlocks.Scope";s:7:"isAlias";b:1;}s:34:"Filter.ExtractStyleBlocks.TidyImpl";i:-11;s:38:"FilterParam.ExtractStyleBlocksTidyImpl";O:8:"stdClass":2:{s:3:"key";s:34:"Filter.ExtractStyleBlocks.TidyImpl";s:7:"isAlias";b:1;}s:25:"Filter.ExtractStyleBlocks";i:7;s:14:"Filter.YouTube";i:7;s:12:"HTML.Allowed";i:-4;s:22:"HTML.AllowedAttributes";i:-8;s:20:"HTML.AllowedComments";i:8;s:26:"HTML.AllowedCommentsRegexp";i:-1;s:20:"HTML.AllowedElements";i:-8;s:19:"HTML.AllowedModules";i:-8;s:23:"HTML.Attr.Name.UseCDATA";i:7;s:17:"HTML.BlockWrapper";i:1;s:16:"HTML.CoreModules";i:8;s:18:"HTML.CustomDoctype";i:-1;s:17:"HTML.DefinitionID";i:-1;s:18:"HTML.DefinitionRev";i:5;s:12:"HTML.Doctype";O:8:"stdClass":3:{s:4:"type";i:1;s:10:"allow_null";b:1;s:7:"allowed";a:5:{s:22:"HTML 4.01 Transitional";b:1;s:16:"HTML 4.01 Strict";b:1;s:22:"XHTML 1.0 Transitional";b:1;s:16:"XHTML 1.0 Strict";b:1;s:9:"XHTML 1.1";b:1;}}s:25:"HTML.FlashAllowFullScreen";i:7;s:24:"HTML.ForbiddenAttributes";i:8;s:22:"HTML.ForbiddenElements";i:8;s:10:"HTML.Forms";i:7;s:17:"HTML.MaxImgLength";i:-5;s:13:"HTML.Nofollow";i:7;s:11:"HTML.Parent";i:1;s:16:"HTML.Proprietary";i:7;s:14:"HTML.SafeEmbed";i:7;s:15:"HTML.SafeIframe";i:7;s:15:"HTML.SafeObject";i:7;s:18:"HTML.SafeScripting";i:8;s:11:"HTML.Strict";i:7;s:16:"HTML.TargetBlank";i:7;s:19:"HTML.TargetNoopener";i:7;s:21:"HTML.TargetNoreferrer";i:7;s:12:"HTML.TidyAdd";i:8;s:14:"HTML.TidyLevel";O:8:"stdClass":2:{s:4:"type";i:1;s:7:"allowed";a:4:{s:4:"none";b:1;s:5:"light";b:1;s:6:"medium";b:1;s:5:"heavy";b:1;}}s:15:"HTML.TidyRemove";i:8;s:12:"HTML.Trusted";i:7;s:10:"HTML.XHTML";i:7;s:10:"Core.XHTML";O:8:"stdClass":2:{s:3:"key";s:10:"HTML.XHTML";s:7:"isAlias";b:1;}s:28:"Output.CommentScriptContents";i:7;s:26:"Core.CommentScriptContents";O:8:"stdClass":2:{s:3:"key";s:28:"Output.CommentScriptContents";s:7:"isAlias";b:1;}s:19:"Output.FixInnerHTML";i:7;s:18:"Output.FlashCompat";i:7;s:14:"Output.Newline";i:-1;s:15:"Output.SortAttr";i:7;s:17:"Output.TidyFormat";i:7;s:15:"Core.TidyFormat";O:8:"stdClass":2:{s:3:"key";s:17:"Output.TidyFormat";s:7:"isAlias";b:1;}s:17:"Test.ForceNoIconv";i:7;s:18:"URI.AllowedSchemes";i:8;s:8:"URI.Base";i:-1;s:17:"URI.DefaultScheme";i:-1;s:16:"URI.DefinitionID";i:-1;s:17:"URI.DefinitionRev";i:5;s:11:"URI.Disable";i:7;s:15:"Attr.DisableURI";O:8:"stdClass":2:{s:3:"key";s:11:"URI.Disable";s:7:"isAlias";b:1;}s:19:"URI.DisableExternal";i:7;s:28:"URI.DisableExternalResources";i:7;s:20:"URI.DisableResources";i:7;s:8:"URI.Host";i:-1;s:17:"URI.HostBlacklist";i:9;s:16:"URI.MakeAbsolute";i:7;s:9:"URI.Munge";i:-1;s:18:"URI.MungeResources";i:7;s:18:"URI.MungeSecretKey";i:-1;s:26:"URI.OverrideAllowedSchemes";i:7;s:20:"URI.SafeIframeRegexp";i:-1;}} \ No newline at end of file diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt new file mode 100644 index 00000000..0517fed0 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt @@ -0,0 +1,8 @@ +Attr.AllowedClasses +TYPE: lookup/null +VERSION: 4.0.0 +DEFAULT: null +--DESCRIPTION-- +List of allowed class values in the class attribute. By default, this is null, +which means all classes are allowed. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt new file mode 100644 index 00000000..249edd64 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt @@ -0,0 +1,12 @@ +Attr.AllowedFrameTargets +TYPE: lookup +DEFAULT: array() +--DESCRIPTION-- +Lookup table of all allowed link frame targets. Some commonly used link +targets include _blank, _self, _parent and _top. Values should be +lowercase, as validation will be done in a case-sensitive manner despite +W3C's recommendation. XHTML 1.0 Strict does not permit the target attribute +so this directive will have no effect in that doctype. XHTML 1.1 does not +enable the Target module by default, you will have to manually enable it +(see the module documentation for more details.) +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt new file mode 100644 index 00000000..9a8fa6a2 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt @@ -0,0 +1,9 @@ +Attr.AllowedRel +TYPE: lookup +VERSION: 1.6.0 +DEFAULT: array() +--DESCRIPTION-- +List of allowed forward document relationships in the rel attribute. Common +values may be nofollow or print. By default, this is empty, meaning that no +document relationships are allowed. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt new file mode 100644 index 00000000..b0178834 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt @@ -0,0 +1,9 @@ +Attr.AllowedRev +TYPE: lookup +VERSION: 1.6.0 +DEFAULT: array() +--DESCRIPTION-- +List of allowed reverse document relationships in the rev attribute. This +attribute is a bit of an edge-case; if you don't know what it is for, stay +away. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt new file mode 100644 index 00000000..e774b823 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt @@ -0,0 +1,19 @@ +Attr.ClassUseCDATA +TYPE: bool/null +DEFAULT: null +VERSION: 4.0.0 +--DESCRIPTION-- +If null, class will auto-detect the doctype and, if matching XHTML 1.1 or +XHTML 2.0, will use the restrictive NMTOKENS specification of class. Otherwise, +it will use a relaxed CDATA definition. If true, the relaxed CDATA definition +is forced; if false, the NMTOKENS definition is forced. To get behavior +of HTML Purifier prior to 4.0.0, set this directive to false. + +Some rational behind the auto-detection: +in previous versions of HTML Purifier, it was assumed that the form of +class was NMTOKENS, as specified by the XHTML Modularization (representing +XHTML 1.1 and XHTML 2.0). The DTDs for HTML 4.01 and XHTML 1.0, however +specify class as CDATA. HTML 5 effectively defines it as CDATA, but +with the additional constraint that each name should be unique (this is not +explicitly outlined in previous specifications). +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt new file mode 100644 index 00000000..533165e1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt @@ -0,0 +1,11 @@ +Attr.DefaultImageAlt +TYPE: string/null +DEFAULT: null +VERSION: 3.2.0 +--DESCRIPTION-- +This is the content of the alt tag of an image if the user had not +previously specified an alt attribute. This applies to all images without +a valid alt attribute, as opposed to %Attr.DefaultInvalidImageAlt, which +only applies to invalid images, and overrides in the case of an invalid image. +Default behavior with null is to use the basename of the src tag for the alt. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt new file mode 100644 index 00000000..9eb7e384 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt @@ -0,0 +1,9 @@ +Attr.DefaultInvalidImage +TYPE: string +DEFAULT: '' +--DESCRIPTION-- +This is the default image an img tag will be pointed to if it does not have +a valid src attribute. In future versions, we may allow the image tag to +be removed completely, but due to design issues, this is not possible right +now. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt new file mode 100644 index 00000000..2f17bf47 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt @@ -0,0 +1,8 @@ +Attr.DefaultInvalidImageAlt +TYPE: string +DEFAULT: 'Invalid image' +--DESCRIPTION-- +This is the content of the alt tag of an invalid image if the user had not +previously specified an alt attribute. It has no effect when the image is +valid but there was no alt attribute present. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt new file mode 100644 index 00000000..52654b53 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt @@ -0,0 +1,10 @@ +Attr.DefaultTextDir +TYPE: string +DEFAULT: 'ltr' +--DESCRIPTION-- +Defines the default text direction (ltr or rtl) of the document being +parsed. This generally is the same as the value of the dir attribute in +HTML, or ltr if that is not specified. +--ALLOWED-- +'ltr', 'rtl' +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt new file mode 100644 index 00000000..6440d210 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt @@ -0,0 +1,16 @@ +Attr.EnableID +TYPE: bool +DEFAULT: false +VERSION: 1.2.0 +--DESCRIPTION-- +Allows the ID attribute in HTML. This is disabled by default due to the +fact that without proper configuration user input can easily break the +validation of a webpage by specifying an ID that is already on the +surrounding HTML. If you don't mind throwing caution to the wind, enable +this directive, but I strongly recommend you also consider blacklisting IDs +you use (%Attr.IDBlacklist) or prefixing all user supplied IDs +(%Attr.IDPrefix). When set to true HTML Purifier reverts to the behavior of +pre-1.2.0 versions. +--ALIASES-- +HTML.EnableAttrID +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt new file mode 100644 index 00000000..f31d226f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt @@ -0,0 +1,8 @@ +Attr.ForbiddenClasses +TYPE: lookup +VERSION: 4.0.0 +DEFAULT: array() +--DESCRIPTION-- +List of forbidden class values in the class attribute. By default, this is +empty, which means that no classes are forbidden. See also %Attr.AllowedClasses. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt new file mode 100644 index 00000000..735d4b7a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt @@ -0,0 +1,10 @@ +Attr.ID.HTML5 +TYPE: bool/null +DEFAULT: null +VERSION: 4.8.0 +--DESCRIPTION-- +In HTML5, restrictions on the format of the id attribute have been significantly +relaxed, such that any string is valid so long as it contains no spaces and +is at least one character. In lieu of a general HTML5 compatibility flag, +set this configuration directive to true to use the relaxed rules. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt new file mode 100644 index 00000000..5f2b5e3d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt @@ -0,0 +1,5 @@ +Attr.IDBlacklist +TYPE: list +DEFAULT: array() +DESCRIPTION: Array of IDs not allowed in the document. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt new file mode 100644 index 00000000..6f582458 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt @@ -0,0 +1,9 @@ +Attr.IDBlacklistRegexp +TYPE: string/null +VERSION: 1.6.0 +DEFAULT: NULL +--DESCRIPTION-- +PCRE regular expression to be matched against all IDs. If the expression is +matches, the ID is rejected. Use this with care: may cause significant +degradation. ID matching is done after all other validation. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt new file mode 100644 index 00000000..cc49d43f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt @@ -0,0 +1,12 @@ +Attr.IDPrefix +TYPE: string +VERSION: 1.2.0 +DEFAULT: '' +--DESCRIPTION-- +String to prefix to IDs. If you have no idea what IDs your pages may use, +you may opt to simply add a prefix to all user-submitted ID attributes so +that they are still usable, but will not conflict with core page IDs. +Example: setting the directive to 'user_' will result in a user submitted +'foo' to become 'user_foo' Be sure to set %HTML.EnableAttrID to true +before using this. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt new file mode 100644 index 00000000..2c5924a7 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt @@ -0,0 +1,14 @@ +Attr.IDPrefixLocal +TYPE: string +VERSION: 1.2.0 +DEFAULT: '' +--DESCRIPTION-- +Temporary prefix for IDs used in conjunction with %Attr.IDPrefix. If you +need to allow multiple sets of user content on web page, you may need to +have a seperate prefix that changes with each iteration. This way, +seperately submitted user content displayed on the same page doesn't +clobber each other. Ideal values are unique identifiers for the content it +represents (i.e. the id of the row in the database). Be sure to add a +seperator (like an underscore) at the end. Warning: this directive will +not work unless %Attr.IDPrefix is set to a non-empty value! +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt new file mode 100644 index 00000000..d5caa1bb --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt @@ -0,0 +1,31 @@ +AutoFormat.AutoParagraph +TYPE: bool +VERSION: 2.0.1 +DEFAULT: false +--DESCRIPTION-- + +

+ This directive turns on auto-paragraphing, where double newlines are + converted in to paragraphs whenever possible. Auto-paragraphing: +

+
    +
  • Always applies to inline elements or text in the root node,
  • +
  • Applies to inline elements or text with double newlines in nodes + that allow paragraph tags,
  • +
  • Applies to double newlines in paragraph tags
  • +
+

+ p tags must be allowed for this directive to take effect. + We do not use br tags for paragraphing, as that is + semantically incorrect. +

+

+ To prevent auto-paragraphing as a content-producer, refrain from using + double-newlines except to specify a new paragraph or in contexts where + it has special meaning (whitespace usually has no meaning except in + tags like pre, so this should not be difficult.) To prevent + the paragraphing of inline text adjacent to block elements, wrap them + in div tags (the behavior is slightly different outside of + the root node.) +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt new file mode 100644 index 00000000..2a476481 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt @@ -0,0 +1,12 @@ +AutoFormat.Custom +TYPE: list +VERSION: 2.0.1 +DEFAULT: array() +--DESCRIPTION-- + +

+ This directive can be used to add custom auto-format injectors. + Specify an array of injector names (class name minus the prefix) + or concrete implementations. Injector class must exist. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt new file mode 100644 index 00000000..663064a3 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt @@ -0,0 +1,11 @@ +AutoFormat.DisplayLinkURI +TYPE: bool +VERSION: 3.2.0 +DEFAULT: false +--DESCRIPTION-- +

+ This directive turns on the in-text display of URIs in <a> tags, and disables + those links. For example, example becomes + example (http://example.com). +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt new file mode 100644 index 00000000..3a48ba96 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt @@ -0,0 +1,12 @@ +AutoFormat.Linkify +TYPE: bool +VERSION: 2.0.1 +DEFAULT: false +--DESCRIPTION-- + +

+ This directive turns on linkification, auto-linking http, ftp and + https URLs. a tags with the href attribute + must be allowed. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt new file mode 100644 index 00000000..db58b134 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt @@ -0,0 +1,12 @@ +AutoFormat.PurifierLinkify.DocURL +TYPE: string +VERSION: 2.0.1 +DEFAULT: '#%s' +ALIASES: AutoFormatParam.PurifierLinkifyDocURL +--DESCRIPTION-- +

+ Location of configuration documentation to link to, let %s substitute + into the configuration's namespace and directive names sans the percent + sign. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt new file mode 100644 index 00000000..7996488b --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt @@ -0,0 +1,12 @@ +AutoFormat.PurifierLinkify +TYPE: bool +VERSION: 2.0.1 +DEFAULT: false +--DESCRIPTION-- + +

+ Internal auto-formatter that converts configuration directives in + syntax %Namespace.Directive to links. a tags + with the href attribute must be allowed. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt new file mode 100644 index 00000000..6367fe23 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt @@ -0,0 +1,14 @@ +AutoFormat.RemoveEmpty.Predicate +TYPE: hash +VERSION: 4.7.0 +DEFAULT: array('colgroup' => array(), 'th' => array(), 'td' => array(), 'iframe' => array('src')) +--DESCRIPTION-- +

+ Given that an element has no contents, it will be removed by default, unless + this predicate dictates otherwise. The predicate can either be an associative + map from tag name to list of attributes that must be present for the element + to be considered preserved: thus, the default always preserves colgroup, + th and td, and also iframe if it + has a src. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt new file mode 100644 index 00000000..35c393b4 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt @@ -0,0 +1,11 @@ +AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions +TYPE: lookup +VERSION: 4.0.0 +DEFAULT: array('td' => true, 'th' => true) +--DESCRIPTION-- +

+ When %AutoFormat.RemoveEmpty and %AutoFormat.RemoveEmpty.RemoveNbsp + are enabled, this directive defines what HTML elements should not be + removede if they have only a non-breaking space in them. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt new file mode 100644 index 00000000..9228dee2 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt @@ -0,0 +1,15 @@ +AutoFormat.RemoveEmpty.RemoveNbsp +TYPE: bool +VERSION: 4.0.0 +DEFAULT: false +--DESCRIPTION-- +

+ When enabled, HTML Purifier will treat any elements that contain only + non-breaking spaces as well as regular whitespace as empty, and remove + them when %AutoFormat.RemoveEmpty is enabled. +

+

+ See %AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions for a list of elements + that don't have this behavior applied to them. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt new file mode 100644 index 00000000..34657ba4 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt @@ -0,0 +1,46 @@ +AutoFormat.RemoveEmpty +TYPE: bool +VERSION: 3.2.0 +DEFAULT: false +--DESCRIPTION-- +

+ When enabled, HTML Purifier will attempt to remove empty elements that + contribute no semantic information to the document. The following types + of nodes will be removed: +

+
  • + Tags with no attributes and no content, and that are not empty + elements (remove <a></a> but not + <br />), and +
  • +
  • + Tags with no content, except for:
      +
    • The colgroup element, or
    • +
    • + Elements with the id or name attribute, + when those attributes are permitted on those elements. +
    • +
  • +
+

+ Please be very careful when using this functionality; while it may not + seem that empty elements contain useful information, they can alter the + layout of a document given appropriate styling. This directive is most + useful when you are processing machine-generated HTML, please avoid using + it on regular user HTML. +

+

+ Elements that contain only whitespace will be treated as empty. Non-breaking + spaces, however, do not count as whitespace. See + %AutoFormat.RemoveEmpty.RemoveNbsp for alternate behavior. +

+

+ This algorithm is not perfect; you may still notice some empty tags, + particularly if a node had elements, but those elements were later removed + because they were not permitted in that context, or tags that, after + being auto-closed by another tag, where empty. This is for safety reasons + to prevent clever code from breaking validation. The general rule of thumb: + if a tag looked empty on the way in, it will get removed; if HTML Purifier + made it empty, it will stay. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt new file mode 100644 index 00000000..dde990ab --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt @@ -0,0 +1,11 @@ +AutoFormat.RemoveSpansWithoutAttributes +TYPE: bool +VERSION: 4.0.1 +DEFAULT: false +--DESCRIPTION-- +

+ This directive causes span tags without any attributes + to be removed. It will also remove spans that had all attributes + removed during processing. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt new file mode 100644 index 00000000..4d054b1f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt @@ -0,0 +1,11 @@ +CSS.AllowDuplicates +TYPE: bool +DEFAULT: false +VERSION: 4.8.0 +--DESCRIPTION-- +

+ By default, HTML Purifier removes duplicate CSS properties, + like color:red; color:blue. If this is set to + true, duplicate properties are allowed. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt new file mode 100644 index 00000000..b324608f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt @@ -0,0 +1,8 @@ +CSS.AllowImportant +TYPE: bool +DEFAULT: false +VERSION: 3.1.0 +--DESCRIPTION-- +This parameter determines whether or not !important cascade modifiers should +be allowed in user CSS. If false, !important will stripped. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt new file mode 100644 index 00000000..748be0ee --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt @@ -0,0 +1,11 @@ +CSS.AllowTricky +TYPE: bool +DEFAULT: false +VERSION: 3.1.0 +--DESCRIPTION-- +This parameter determines whether or not to allow "tricky" CSS properties and +values. Tricky CSS properties/values can drastically modify page layout or +be used for deceptive practices but do not directly constitute a security risk. +For example, display:none; is considered a tricky property that +will only be allowed if this directive is set to true. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt new file mode 100644 index 00000000..3fd46540 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt @@ -0,0 +1,12 @@ +CSS.AllowedFonts +TYPE: lookup/null +VERSION: 4.3.0 +DEFAULT: NULL +--DESCRIPTION-- +

+ Allows you to manually specify a set of allowed fonts. If + NULL, all fonts are allowed. This directive + affects generic names (serif, sans-serif, monospace, cursive, + fantasy) as well as specific font families. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt new file mode 100644 index 00000000..460112eb --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt @@ -0,0 +1,18 @@ +CSS.AllowedProperties +TYPE: lookup/null +VERSION: 3.1.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ If HTML Purifier's style attributes set is unsatisfactory for your needs, + you can overload it with your own list of tags to allow. Note that this + method is subtractive: it does its job by taking away from HTML Purifier + usual feature set, so you cannot add an attribute that HTML Purifier never + supported in the first place. +

+

+ Warning: If another directive conflicts with the + elements here, that directive will win and override. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt new file mode 100644 index 00000000..5cb7dda3 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt @@ -0,0 +1,11 @@ +CSS.DefinitionRev +TYPE: int +VERSION: 2.0.0 +DEFAULT: 1 +--DESCRIPTION-- + +

+ Revision identifier for your custom definition. See + %HTML.DefinitionRev for details. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt new file mode 100644 index 00000000..f1f5c5f1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt @@ -0,0 +1,13 @@ +CSS.ForbiddenProperties +TYPE: lookup +VERSION: 4.2.0 +DEFAULT: array() +--DESCRIPTION-- +

+ This is the logical inverse of %CSS.AllowedProperties, and it will + override that directive or any other directive. If possible, + %CSS.AllowedProperties is recommended over this directive, + because it can sometimes be difficult to tell whether or not you've + forbidden all of the CSS properties you truly would like to disallow. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt new file mode 100644 index 00000000..7a329147 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt @@ -0,0 +1,16 @@ +CSS.MaxImgLength +TYPE: string/null +DEFAULT: '1200px' +VERSION: 3.1.1 +--DESCRIPTION-- +

+ This parameter sets the maximum allowed length on img tags, + effectively the width and height properties. + Only absolute units of measurement (in, pt, pc, mm, cm) and pixels (px) are allowed. This is + in place to prevent imagecrash attacks, disable with null at your own risk. + This directive is similar to %HTML.MaxImgLength, and both should be + concurrently edited, although there are + subtle differences in the input format (the CSS max is a number with + a unit). +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt new file mode 100644 index 00000000..148eedb8 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt @@ -0,0 +1,10 @@ +CSS.Proprietary +TYPE: bool +VERSION: 3.0.0 +DEFAULT: false +--DESCRIPTION-- + +

+ Whether or not to allow safe, proprietary CSS values. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt new file mode 100644 index 00000000..e733a61e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt @@ -0,0 +1,9 @@ +CSS.Trusted +TYPE: bool +VERSION: 4.2.1 +DEFAULT: false +--DESCRIPTION-- +Indicates whether or not the user's CSS input is trusted or not. If the +input is trusted, a more expansive set of allowed properties. See +also %HTML.Trusted. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt new file mode 100644 index 00000000..c486724c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt @@ -0,0 +1,14 @@ +Cache.DefinitionImpl +TYPE: string/null +VERSION: 2.0.0 +DEFAULT: 'Serializer' +--DESCRIPTION-- + +This directive defines which method to use when caching definitions, +the complex data-type that makes HTML Purifier tick. Set to null +to disable caching (not recommended, as you will see a definite +performance degradation). + +--ALIASES-- +Core.DefinitionCache +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt new file mode 100644 index 00000000..54036507 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt @@ -0,0 +1,13 @@ +Cache.SerializerPath +TYPE: string/null +VERSION: 2.0.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ Absolute path with no trailing slash to store serialized definitions in. + Default is within the + HTML Purifier library inside DefinitionCache/Serializer. This + path must be writable by the webserver. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt new file mode 100644 index 00000000..2e0cc810 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt @@ -0,0 +1,16 @@ +Cache.SerializerPermissions +TYPE: int/null +VERSION: 4.3.0 +DEFAULT: 0755 +--DESCRIPTION-- + +

+ Directory permissions of the files and directories created inside + the DefinitionCache/Serializer or other custom serializer path. +

+

+ In HTML Purifier 4.8.0, this also supports NULL, + which means that no chmod'ing or directory creation shall + occur. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt new file mode 100644 index 00000000..568cbf3b --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt @@ -0,0 +1,18 @@ +Core.AggressivelyFixLt +TYPE: bool +VERSION: 2.1.0 +DEFAULT: true +--DESCRIPTION-- +

+ This directive enables aggressive pre-filter fixes HTML Purifier can + perform in order to ensure that open angled-brackets do not get killed + during parsing stage. Enabling this will result in two preg_replace_callback + calls and at least two preg_replace calls for every HTML document parsed; + if your users make very well-formed HTML, you can set this directive false. + This has no effect when DirectLex is used. +

+

+ Notice: This directive's default turned from false to true + in HTML Purifier 3.2.0. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyRemoveScript.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyRemoveScript.txt new file mode 100644 index 00000000..b2b6ab14 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyRemoveScript.txt @@ -0,0 +1,16 @@ +Core.AggressivelyRemoveScript +TYPE: bool +VERSION: 4.9.0 +DEFAULT: true +--DESCRIPTION-- +

+ This directive enables aggressive pre-filter removal of + script tags. This is not necessary for security, + but it can help work around a bug in libxml where embedded + HTML elements inside script sections cause the parser to + choke. To revert to pre-4.9.0 behavior, set this to false. + This directive has no effect if %Core.Trusted is true, + %Core.RemoveScriptContents is false, or %Core.HiddenElements + does not contain script. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt new file mode 100644 index 00000000..2c910cc7 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt @@ -0,0 +1,16 @@ +Core.AllowHostnameUnderscore +TYPE: bool +VERSION: 4.6.0 +DEFAULT: false +--DESCRIPTION-- +

+ By RFC 1123, underscores are not permitted in host names. + (This is in contrast to the specification for DNS, RFC + 2181, which allows underscores.) + However, most browsers do the right thing when faced with + an underscore in the host name, and so some poorly written + websites are written with the expectation this should work. + Setting this parameter to true relaxes our allowed character + check so that underscores are permitted. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowParseManyTags.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowParseManyTags.txt new file mode 100644 index 00000000..06278f82 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.AllowParseManyTags.txt @@ -0,0 +1,12 @@ +Core.AllowParseManyTags +TYPE: bool +DEFAULT: false +VERSION: 4.10.1 +--DESCRIPTION-- +

+ This directive allows parsing of many nested tags. + If you set true, relaxes any hardcoded limit from the parser. + However, in that case it may cause a Dos attack. + Be careful when enabling it. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt new file mode 100644 index 00000000..d7317911 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt @@ -0,0 +1,12 @@ +Core.CollectErrors +TYPE: bool +VERSION: 2.0.0 +DEFAULT: false +--DESCRIPTION-- + +Whether or not to collect errors found while filtering the document. This +is a useful way to give feedback to your users. Warning: +Currently this feature is very patchy and experimental, with lots of +possible error messages not yet implemented. It will not cause any +problems, but it may not help your users either. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt new file mode 100644 index 00000000..a75844cd --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt @@ -0,0 +1,160 @@ +Core.ColorKeywords +TYPE: hash +VERSION: 2.0.0 +--DEFAULT-- +array ( + 'aliceblue' => '#F0F8FF', + 'antiquewhite' => '#FAEBD7', + 'aqua' => '#00FFFF', + 'aquamarine' => '#7FFFD4', + 'azure' => '#F0FFFF', + 'beige' => '#F5F5DC', + 'bisque' => '#FFE4C4', + 'black' => '#000000', + 'blanchedalmond' => '#FFEBCD', + 'blue' => '#0000FF', + 'blueviolet' => '#8A2BE2', + 'brown' => '#A52A2A', + 'burlywood' => '#DEB887', + 'cadetblue' => '#5F9EA0', + 'chartreuse' => '#7FFF00', + 'chocolate' => '#D2691E', + 'coral' => '#FF7F50', + 'cornflowerblue' => '#6495ED', + 'cornsilk' => '#FFF8DC', + 'crimson' => '#DC143C', + 'cyan' => '#00FFFF', + 'darkblue' => '#00008B', + 'darkcyan' => '#008B8B', + 'darkgoldenrod' => '#B8860B', + 'darkgray' => '#A9A9A9', + 'darkgrey' => '#A9A9A9', + 'darkgreen' => '#006400', + 'darkkhaki' => '#BDB76B', + 'darkmagenta' => '#8B008B', + 'darkolivegreen' => '#556B2F', + 'darkorange' => '#FF8C00', + 'darkorchid' => '#9932CC', + 'darkred' => '#8B0000', + 'darksalmon' => '#E9967A', + 'darkseagreen' => '#8FBC8F', + 'darkslateblue' => '#483D8B', + 'darkslategray' => '#2F4F4F', + 'darkslategrey' => '#2F4F4F', + 'darkturquoise' => '#00CED1', + 'darkviolet' => '#9400D3', + 'deeppink' => '#FF1493', + 'deepskyblue' => '#00BFFF', + 'dimgray' => '#696969', + 'dimgrey' => '#696969', + 'dodgerblue' => '#1E90FF', + 'firebrick' => '#B22222', + 'floralwhite' => '#FFFAF0', + 'forestgreen' => '#228B22', + 'fuchsia' => '#FF00FF', + 'gainsboro' => '#DCDCDC', + 'ghostwhite' => '#F8F8FF', + 'gold' => '#FFD700', + 'goldenrod' => '#DAA520', + 'gray' => '#808080', + 'grey' => '#808080', + 'green' => '#008000', + 'greenyellow' => '#ADFF2F', + 'honeydew' => '#F0FFF0', + 'hotpink' => '#FF69B4', + 'indianred' => '#CD5C5C', + 'indigo' => '#4B0082', + 'ivory' => '#FFFFF0', + 'khaki' => '#F0E68C', + 'lavender' => '#E6E6FA', + 'lavenderblush' => '#FFF0F5', + 'lawngreen' => '#7CFC00', + 'lemonchiffon' => '#FFFACD', + 'lightblue' => '#ADD8E6', + 'lightcoral' => '#F08080', + 'lightcyan' => '#E0FFFF', + 'lightgoldenrodyellow' => '#FAFAD2', + 'lightgray' => '#D3D3D3', + 'lightgrey' => '#D3D3D3', + 'lightgreen' => '#90EE90', + 'lightpink' => '#FFB6C1', + 'lightsalmon' => '#FFA07A', + 'lightseagreen' => '#20B2AA', + 'lightskyblue' => '#87CEFA', + 'lightslategray' => '#778899', + 'lightslategrey' => '#778899', + 'lightsteelblue' => '#B0C4DE', + 'lightyellow' => '#FFFFE0', + 'lime' => '#00FF00', + 'limegreen' => '#32CD32', + 'linen' => '#FAF0E6', + 'magenta' => '#FF00FF', + 'maroon' => '#800000', + 'mediumaquamarine' => '#66CDAA', + 'mediumblue' => '#0000CD', + 'mediumorchid' => '#BA55D3', + 'mediumpurple' => '#9370DB', + 'mediumseagreen' => '#3CB371', + 'mediumslateblue' => '#7B68EE', + 'mediumspringgreen' => '#00FA9A', + 'mediumturquoise' => '#48D1CC', + 'mediumvioletred' => '#C71585', + 'midnightblue' => '#191970', + 'mintcream' => '#F5FFFA', + 'mistyrose' => '#FFE4E1', + 'moccasin' => '#FFE4B5', + 'navajowhite' => '#FFDEAD', + 'navy' => '#000080', + 'oldlace' => '#FDF5E6', + 'olive' => '#808000', + 'olivedrab' => '#6B8E23', + 'orange' => '#FFA500', + 'orangered' => '#FF4500', + 'orchid' => '#DA70D6', + 'palegoldenrod' => '#EEE8AA', + 'palegreen' => '#98FB98', + 'paleturquoise' => '#AFEEEE', + 'palevioletred' => '#DB7093', + 'papayawhip' => '#FFEFD5', + 'peachpuff' => '#FFDAB9', + 'peru' => '#CD853F', + 'pink' => '#FFC0CB', + 'plum' => '#DDA0DD', + 'powderblue' => '#B0E0E6', + 'purple' => '#800080', + 'rebeccapurple' => '#663399', + 'red' => '#FF0000', + 'rosybrown' => '#BC8F8F', + 'royalblue' => '#4169E1', + 'saddlebrown' => '#8B4513', + 'salmon' => '#FA8072', + 'sandybrown' => '#F4A460', + 'seagreen' => '#2E8B57', + 'seashell' => '#FFF5EE', + 'sienna' => '#A0522D', + 'silver' => '#C0C0C0', + 'skyblue' => '#87CEEB', + 'slateblue' => '#6A5ACD', + 'slategray' => '#708090', + 'slategrey' => '#708090', + 'snow' => '#FFFAFA', + 'springgreen' => '#00FF7F', + 'steelblue' => '#4682B4', + 'tan' => '#D2B48C', + 'teal' => '#008080', + 'thistle' => '#D8BFD8', + 'tomato' => '#FF6347', + 'turquoise' => '#40E0D0', + 'violet' => '#EE82EE', + 'wheat' => '#F5DEB3', + 'white' => '#FFFFFF', + 'whitesmoke' => '#F5F5F5', + 'yellow' => '#FFFF00', + 'yellowgreen' => '#9ACD32' +) +--DESCRIPTION-- + +Lookup array of color names to six digit hexadecimal number corresponding +to color, with preceding hash mark. Used when parsing colors. The lookup +is done in a case-insensitive manner. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt new file mode 100644 index 00000000..64b114fc --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt @@ -0,0 +1,14 @@ +Core.ConvertDocumentToFragment +TYPE: bool +DEFAULT: true +--DESCRIPTION-- + +This parameter determines whether or not the filter should convert +input that is a full document with html and body tags to a fragment +of just the contents of a body tag. This parameter is simply something +HTML Purifier can do during an edge-case: for most inputs, this +processing is not necessary. + +--ALIASES-- +Core.AcceptFullDocuments +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt new file mode 100644 index 00000000..36f16e07 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt @@ -0,0 +1,17 @@ +Core.DirectLexLineNumberSyncInterval +TYPE: int +VERSION: 2.0.0 +DEFAULT: 0 +--DESCRIPTION-- + +

+ Specifies the number of tokens the DirectLex line number tracking + implementations should process before attempting to resyncronize the + current line count by manually counting all previous new-lines. When + at 0, this functionality is disabled. Lower values will decrease + performance, and this is only strictly necessary if the counting + algorithm is buggy (in which case you should report it as a bug). + This has no effect when %Core.MaintainLineNumbers is disabled or DirectLex is + not being used. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt new file mode 100644 index 00000000..1cd4c2c9 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt @@ -0,0 +1,14 @@ +Core.DisableExcludes +TYPE: bool +DEFAULT: false +VERSION: 4.5.0 +--DESCRIPTION-- +

+ This directive disables SGML-style exclusions, e.g. the exclusion of + <object> in any descendant of a + <pre> tag. Disabling excludes will allow some + invalid documents to pass through HTML Purifier, but HTML Purifier + will also be less likely to accidentally remove large documents during + processing. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt new file mode 100644 index 00000000..ce243c35 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt @@ -0,0 +1,9 @@ +Core.EnableIDNA +TYPE: bool +DEFAULT: false +VERSION: 4.4.0 +--DESCRIPTION-- +Allows international domain names in URLs. This configuration option +requires the PEAR Net_IDNA2 module to be installed. It operates by +punycoding any internationalized host names for maximum portability. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt new file mode 100644 index 00000000..8bfb47c3 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt @@ -0,0 +1,15 @@ +Core.Encoding +TYPE: istring +DEFAULT: 'utf-8' +--DESCRIPTION-- +If for some reason you are unable to convert all webpages to UTF-8, you can +use this directive as a stop-gap compatibility change to let HTML Purifier +deal with non UTF-8 input. This technique has notable deficiencies: +absolutely no characters outside of the selected character encoding will be +preserved, not even the ones that have been ampersand escaped (this is due +to a UTF-8 specific feature that automatically resolves all +entities), making it pretty useless for anything except the most I18N-blind +applications, although %Core.EscapeNonASCIICharacters offers fixes this +trouble with another tradeoff. This directive only accepts ISO-8859-1 if +iconv is not enabled. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt new file mode 100644 index 00000000..a3881be7 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt @@ -0,0 +1,12 @@ +Core.EscapeInvalidChildren +TYPE: bool +DEFAULT: false +--DESCRIPTION-- +

Warning: this configuration option is no longer does anything as of 4.6.0.

+ +

When true, a child is found that is not allowed in the context of the +parent element will be transformed into text as if it were ASCII. When +false, that element and all internal tags will be dropped, though text will +be preserved. There is no option for dropping the element but preserving +child nodes.

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt new file mode 100644 index 00000000..a7a5b249 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt @@ -0,0 +1,7 @@ +Core.EscapeInvalidTags +TYPE: bool +DEFAULT: false +--DESCRIPTION-- +When true, invalid tags will be written back to the document as plain text. +Otherwise, they are silently dropped. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt new file mode 100644 index 00000000..abb49994 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt @@ -0,0 +1,13 @@ +Core.EscapeNonASCIICharacters +TYPE: bool +VERSION: 1.4.0 +DEFAULT: false +--DESCRIPTION-- +This directive overcomes a deficiency in %Core.Encoding by blindly +converting all non-ASCII characters into decimal numeric entities before +converting it to its native encoding. This means that even characters that +can be expressed in the non-UTF-8 encoding will be entity-ized, which can +be a real downer for encodings like Big5. It also assumes that the ASCII +repetoire is available, although this is the case for almost all encodings. +Anyway, use UTF-8! +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt new file mode 100644 index 00000000..915391ed --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt @@ -0,0 +1,19 @@ +Core.HiddenElements +TYPE: lookup +--DEFAULT-- +array ( + 'script' => true, + 'style' => true, +) +--DESCRIPTION-- + +

+ This directive is a lookup array of elements which should have their + contents removed when they are not allowed by the HTML definition. + For example, the contents of a script tag are not + normally shown in a document, so if script tags are to be removed, + their contents should be removed to. This is opposed to a b + tag, which defines some presentational changes but does not hide its + contents. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Language.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Language.txt new file mode 100644 index 00000000..233fca14 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.Language.txt @@ -0,0 +1,10 @@ +Core.Language +TYPE: string +VERSION: 2.0.0 +DEFAULT: 'en' +--DESCRIPTION-- + +ISO 639 language code for localizable things in HTML Purifier to use, +which is mainly error reporting. There is currently only an English (en) +translation, so this directive is currently useless. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LegacyEntityDecoder.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LegacyEntityDecoder.txt new file mode 100644 index 00000000..392b4364 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LegacyEntityDecoder.txt @@ -0,0 +1,36 @@ +Core.LegacyEntityDecoder +TYPE: bool +VERSION: 4.9.0 +DEFAULT: false +--DESCRIPTION-- +

+ Prior to HTML Purifier 4.9.0, entities were decoded by performing + a global search replace for all entities whose decoded versions + did not have special meanings under HTML, and replaced them with + their decoded versions. We would match all entities, even if they did + not have a trailing semicolon, but only if there weren't any trailing + alphanumeric characters. +

+ + + + + + +
OriginalTextAttribute
&yen;¥¥
&yen¥¥
&yena&yena&yena
&yen=¥=¥=
+

+ In HTML Purifier 4.9.0, we changed the behavior of entity parsing + to match entities that had missing trailing semicolons in less + cases, to more closely match HTML5 parsing behavior: +

+ + + + + + +
OriginalTextAttribute
&yen;¥¥
&yen¥¥
&yena¥a&yena
&yen=¥=&yen=
+

+ This flag reverts back to pre-HTML Purifier 4.9.0 behavior. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt new file mode 100644 index 00000000..8983e2cc --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt @@ -0,0 +1,34 @@ +Core.LexerImpl +TYPE: mixed/null +VERSION: 2.0.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ This parameter determines what lexer implementation can be used. The + valid values are: +

+
+
null
+
+ Recommended, the lexer implementation will be auto-detected based on + your PHP-version and configuration. +
+
string lexer identifier
+
+ This is a slim way of manually overridding the implementation. + Currently recognized values are: DOMLex (the default PHP5 +implementation) + and DirectLex (the default PHP4 implementation). Only use this if + you know what you are doing: usually, the auto-detection will + manage things for cases you aren't even aware of. +
+
object lexer instance
+
+ Super-advanced: you can specify your own, custom, implementation that + implements the interface defined by HTMLPurifier_Lexer. + I may remove this option simply because I don't expect anyone + to use it. +
+
+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt new file mode 100644 index 00000000..eb841a75 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt @@ -0,0 +1,16 @@ +Core.MaintainLineNumbers +TYPE: bool/null +VERSION: 2.0.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ If true, HTML Purifier will add line number information to all tokens. + This is useful when error reporting is turned on, but can result in + significant performance degradation and should not be used when + unnecessary. This directive must be used with the DirectLex lexer, + as the DOMLex lexer does not (yet) support this functionality. + If the value is null, an appropriate value will be selected based + on other configuration. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt new file mode 100644 index 00000000..d77f5360 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt @@ -0,0 +1,11 @@ +Core.NormalizeNewlines +TYPE: bool +VERSION: 4.2.0 +DEFAULT: true +--DESCRIPTION-- +

+ Whether or not to normalize newlines to the operating + system default. When false, HTML Purifier + will attempt to preserve mixed newline files. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt new file mode 100644 index 00000000..4070c2a0 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt @@ -0,0 +1,12 @@ +Core.RemoveInvalidImg +TYPE: bool +DEFAULT: true +VERSION: 1.3.0 +--DESCRIPTION-- + +

+ This directive enables pre-emptive URI checking in img + tags, as the attribute validation strategy is not authorized to + remove elements from the document. Revert to pre-1.3.0 behavior by setting to false. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt new file mode 100644 index 00000000..3397d9f7 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt @@ -0,0 +1,11 @@ +Core.RemoveProcessingInstructions +TYPE: bool +VERSION: 4.2.0 +DEFAULT: false +--DESCRIPTION-- +Instead of escaping processing instructions in the form <? ... +?>, remove it out-right. This may be useful if the HTML +you are validating contains XML processing instruction gunk, however, +it can also be user-unfriendly for people attempting to post PHP +snippets. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt new file mode 100644 index 00000000..a4cd966d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt @@ -0,0 +1,12 @@ +Core.RemoveScriptContents +TYPE: bool/null +DEFAULT: NULL +VERSION: 2.0.0 +DEPRECATED-VERSION: 2.1.0 +DEPRECATED-USE: Core.HiddenElements +--DESCRIPTION-- +

+ This directive enables HTML Purifier to remove not only script tags + but all of their contents. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt new file mode 100644 index 00000000..3db50ef2 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt @@ -0,0 +1,11 @@ +Filter.Custom +TYPE: list +VERSION: 3.1.0 +DEFAULT: array() +--DESCRIPTION-- +

+ This directive can be used to add custom filters; it is nearly the + equivalent of the now deprecated HTMLPurifier->addFilter() + method. Specify an array of concrete implementations. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt new file mode 100644 index 00000000..16829bcd --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt @@ -0,0 +1,14 @@ +Filter.ExtractStyleBlocks.Escaping +TYPE: bool +VERSION: 3.0.0 +DEFAULT: true +ALIASES: Filter.ExtractStyleBlocksEscaping, FilterParam.ExtractStyleBlocksEscaping +--DESCRIPTION-- + +

+ Whether or not to escape the dangerous characters <, > and & + as \3C, \3E and \26, respectively. This is can be safely set to false + if the contents of StyleBlocks will be placed in an external stylesheet, + where there is no risk of it being interpreted as HTML. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt new file mode 100644 index 00000000..7f95f54d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt @@ -0,0 +1,29 @@ +Filter.ExtractStyleBlocks.Scope +TYPE: string/null +VERSION: 3.0.0 +DEFAULT: NULL +ALIASES: Filter.ExtractStyleBlocksScope, FilterParam.ExtractStyleBlocksScope +--DESCRIPTION-- + +

+ If you would like users to be able to define external stylesheets, but + only allow them to specify CSS declarations for a specific node and + prevent them from fiddling with other elements, use this directive. + It accepts any valid CSS selector, and will prepend this to any + CSS declaration extracted from the document. For example, if this + directive is set to #user-content and a user uses the + selector a:hover, the final selector will be + #user-content a:hover. +

+

+ The comma shorthand may be used; consider the above example, with + #user-content, #user-content2, the final selector will + be #user-content a:hover, #user-content2 a:hover. +

+

+ Warning: It is possible for users to bypass this measure + using a naughty + selector. This is a bug in CSS Tidy 1.3, not HTML + Purifier, and I am working to get it fixed. Until then, HTML Purifier + performs a basic check to prevent this. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt new file mode 100644 index 00000000..6c231b2d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt @@ -0,0 +1,16 @@ +Filter.ExtractStyleBlocks.TidyImpl +TYPE: mixed/null +VERSION: 3.1.0 +DEFAULT: NULL +ALIASES: FilterParam.ExtractStyleBlocksTidyImpl +--DESCRIPTION-- +

+ If left NULL, HTML Purifier will attempt to instantiate a csstidy + class to use for internal cleaning. This will usually be good enough. +

+

+ However, for trusted user input, you can set this to false to + disable cleaning. In addition, you can supply your own concrete implementation + of Tidy's interface to use, although I don't know why you'd want to do that. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt new file mode 100644 index 00000000..078d0874 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt @@ -0,0 +1,74 @@ +Filter.ExtractStyleBlocks +TYPE: bool +VERSION: 3.1.0 +DEFAULT: false +EXTERNAL: CSSTidy +--DESCRIPTION-- +

+ This directive turns on the style block extraction filter, which removes + style blocks from input HTML, cleans them up with CSSTidy, + and places them in the StyleBlocks context variable, for further + use by you, usually to be placed in an external stylesheet, or a + style block in the head of your document. +

+

+ Sample usage: +

+
';
+?>
+
+
+
+  Filter.ExtractStyleBlocks
+body {color:#F00;} Some text';
+
+    $config = HTMLPurifier_Config::createDefault();
+    $config->set('Filter', 'ExtractStyleBlocks', true);
+    $purifier = new HTMLPurifier($config);
+
+    $html = $purifier->purify($dirty);
+
+    // This implementation writes the stylesheets to the styles/ directory.
+    // You can also echo the styles inside the document, but it's a bit
+    // more difficult to make sure they get interpreted properly by
+    // browsers; try the usual CSS armoring techniques.
+    $styles = $purifier->context->get('StyleBlocks');
+    $dir = 'styles/';
+    if (!is_dir($dir)) mkdir($dir);
+    $hash = sha1($_GET['html']);
+    foreach ($styles as $i => $style) {
+        file_put_contents($name = $dir . $hash . "_$i");
+        echo '';
+    }
+?>
+
+
+  
+ +
+ + +]]>
+

+ Warning: It is possible for a user to mount an + imagecrash attack using this CSS. Counter-measures are difficult; + it is not simply enough to limit the range of CSS lengths (using + relative lengths with many nesting levels allows for large values + to be attained without actually specifying them in the stylesheet), + and the flexible nature of selectors makes it difficult to selectively + disable lengths on image tags (HTML Purifier, however, does disable + CSS width and height in inline styling). There are probably two effective + counter measures: an explicit width and height set to auto in all + images in your document (unlikely) or the disabling of width and + height (somewhat reasonable). Whether or not these measures should be + used is left to the reader. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt new file mode 100644 index 00000000..321eaa2d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt @@ -0,0 +1,16 @@ +Filter.YouTube +TYPE: bool +VERSION: 3.1.0 +DEFAULT: false +--DESCRIPTION-- +

+ Warning: Deprecated in favor of %HTML.SafeObject and + %Output.FlashCompat (turn both on to allow YouTube videos and other + Flash content). +

+

+ This directive enables YouTube video embedding in HTML Purifier. Check + this document + on embedding videos for more information on what this filter does. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt new file mode 100644 index 00000000..0b2c106d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt @@ -0,0 +1,25 @@ +HTML.Allowed +TYPE: itext/null +VERSION: 2.0.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ This is a preferred convenience directive that combines + %HTML.AllowedElements and %HTML.AllowedAttributes. + Specify elements and attributes that are allowed using: + element1[attr1|attr2],element2.... For example, + if you would like to only allow paragraphs and links, specify + a[href],p. You can specify attributes that apply + to all elements using an asterisk, e.g. *[lang]. + You can also use newlines instead of commas to separate elements. +

+

+ Warning: + All of the constraints on the component directives are still enforced. + The syntax is a subset of TinyMCE's valid_elements + whitelist: directly copy-pasting it here will probably result in + broken whitelists. If %HTML.AllowedElements or %HTML.AllowedAttributes + are set, this directive has no effect. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt new file mode 100644 index 00000000..fcf093f1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt @@ -0,0 +1,19 @@ +HTML.AllowedAttributes +TYPE: lookup/null +VERSION: 1.3.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ If HTML Purifier's attribute set is unsatisfactory, overload it! + The syntax is "tag.attr" or "*.attr" for the global attributes + (style, id, class, dir, lang, xml:lang). +

+

+ Warning: If another directive conflicts with the + elements here, that directive will win and override. For + example, %HTML.EnableAttrID will take precedence over *.id in this + directive. You must set that directive to true before you can use + IDs at all. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt new file mode 100644 index 00000000..140e2142 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt @@ -0,0 +1,10 @@ +HTML.AllowedComments +TYPE: lookup +VERSION: 4.4.0 +DEFAULT: array() +--DESCRIPTION-- +A whitelist which indicates what explicit comment bodies should be +allowed, modulo leading and trailing whitespace. See also %HTML.AllowedCommentsRegexp +(these directives are union'ed together, so a comment is considered +valid if any directive deems it valid.) +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt new file mode 100644 index 00000000..f22e977d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt @@ -0,0 +1,15 @@ +HTML.AllowedCommentsRegexp +TYPE: string/null +VERSION: 4.4.0 +DEFAULT: NULL +--DESCRIPTION-- +A regexp, which if it matches the body of a comment, indicates that +it should be allowed. Trailing and leading spaces are removed prior +to running this regular expression. +Warning: Make sure you specify +correct anchor metacharacters ^regex$, otherwise you may accept +comments that you did not mean to! In particular, the regex /foo|bar/ +is probably not sufficiently strict, since it also allows foobar. +See also %HTML.AllowedComments (these directives are union'ed together, +so a comment is considered valid if any directive deems it valid.) +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt new file mode 100644 index 00000000..1d3fa790 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt @@ -0,0 +1,23 @@ +HTML.AllowedElements +TYPE: lookup/null +VERSION: 1.3.0 +DEFAULT: NULL +--DESCRIPTION-- +

+ If HTML Purifier's tag set is unsatisfactory for your needs, you can + overload it with your own list of tags to allow. If you change + this, you probably also want to change %HTML.AllowedAttributes; see + also %HTML.Allowed which lets you set allowed elements and + attributes at the same time. +

+

+ If you attempt to allow an element that HTML Purifier does not know + about, HTML Purifier will raise an error. You will need to manually + tell HTML Purifier about this element by using the + advanced customization features. +

+

+ Warning: If another directive conflicts with the + elements here, that directive will win and override. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt new file mode 100644 index 00000000..5a59a55c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt @@ -0,0 +1,20 @@ +HTML.AllowedModules +TYPE: lookup/null +VERSION: 2.0.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ A doctype comes with a set of usual modules to use. Without having + to mucking about with the doctypes, you can quickly activate or + disable these modules by specifying which modules you wish to allow + with this directive. This is most useful for unit testing specific + modules, although end users may find it useful for their own ends. +

+

+ If you specify a module that does not exist, the manager will silently + fail to use it, so be careful! User-defined modules are not affected + by this directive. Modules defined in %HTML.CoreModules are not + affected by this directive. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt new file mode 100644 index 00000000..151fb7b8 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt @@ -0,0 +1,11 @@ +HTML.Attr.Name.UseCDATA +TYPE: bool +DEFAULT: false +VERSION: 4.0.0 +--DESCRIPTION-- +The W3C specification DTD defines the name attribute to be CDATA, not ID, due +to limitations of DTD. In certain documents, this relaxed behavior is desired, +whether it is to specify duplicate names, or to specify names that would be +illegal IDs (for example, names that begin with a digit.) Set this configuration +directive to true to use the relaxed parsing rules. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt new file mode 100644 index 00000000..45ae469e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt @@ -0,0 +1,18 @@ +HTML.BlockWrapper +TYPE: string +VERSION: 1.3.0 +DEFAULT: 'p' +--DESCRIPTION-- + +

+ String name of element to wrap inline elements that are inside a block + context. This only occurs in the children of blockquote in strict mode. +

+

+ Example: by default value, + <blockquote>Foo</blockquote> would become + <blockquote><p>Foo</p></blockquote>. + The <p> tags can be replaced with whatever you desire, + as long as it is a block level element. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt new file mode 100644 index 00000000..52461887 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt @@ -0,0 +1,23 @@ +HTML.CoreModules +TYPE: lookup +VERSION: 2.0.0 +--DEFAULT-- +array ( + 'Structure' => true, + 'Text' => true, + 'Hypertext' => true, + 'List' => true, + 'NonXMLCommonAttributes' => true, + 'XMLCommonAttributes' => true, + 'CommonAttributes' => true, +) +--DESCRIPTION-- + +

+ Certain modularized doctypes (XHTML, namely), have certain modules + that must be included for the doctype to be an conforming document + type: put those modules here. By default, XHTML's core modules + are used. You can set this to a blank array to disable core module + protection, but this is not recommended. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt new file mode 100644 index 00000000..6ed70b59 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt @@ -0,0 +1,9 @@ +HTML.CustomDoctype +TYPE: string/null +VERSION: 2.0.1 +DEFAULT: NULL +--DESCRIPTION-- + +A custom doctype for power-users who defined their own document +type. This directive only applies when %HTML.Doctype is blank. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt new file mode 100644 index 00000000..103db754 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt @@ -0,0 +1,33 @@ +HTML.DefinitionID +TYPE: string/null +DEFAULT: NULL +VERSION: 2.0.0 +--DESCRIPTION-- + +

+ Unique identifier for a custom-built HTML definition. If you edit + the raw version of the HTMLDefinition, introducing changes that the + configuration object does not reflect, you must specify this variable. + If you change your custom edits, you should change this directive, or + clear your cache. Example: +

+
+$config = HTMLPurifier_Config::createDefault();
+$config->set('HTML', 'DefinitionID', '1');
+$def = $config->getHTMLDefinition();
+$def->addAttribute('a', 'tabindex', 'Number');
+
+

+ In the above example, the configuration is still at the defaults, but + using the advanced API, an extra attribute has been added. The + configuration object normally has no way of knowing that this change + has taken place, so it needs an extra directive: %HTML.DefinitionID. + If someone else attempts to use the default configuration, these two + pieces of code will not clobber each other in the cache, since one has + an extra directive attached to it. +

+

+ You must specify a value to this directive to use the + advanced API features. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt new file mode 100644 index 00000000..229ae026 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt @@ -0,0 +1,16 @@ +HTML.DefinitionRev +TYPE: int +VERSION: 2.0.0 +DEFAULT: 1 +--DESCRIPTION-- + +

+ Revision identifier for your custom definition specified in + %HTML.DefinitionID. This serves the same purpose: uniquely identifying + your custom definition, but this one does so in a chronological + context: revision 3 is more up-to-date then revision 2. Thus, when + this gets incremented, the cache handling is smart enough to clean + up any older revisions of your definition as well as flush the + cache. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt new file mode 100644 index 00000000..9dab497f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt @@ -0,0 +1,11 @@ +HTML.Doctype +TYPE: string/null +DEFAULT: NULL +--DESCRIPTION-- +Doctype to use during filtering. Technically speaking this is not actually +a doctype (as it does not identify a corresponding DTD), but we are using +this name for sake of simplicity. When non-blank, this will override any +older directives like %HTML.XHTML or %HTML.Strict. +--ALLOWED-- +'HTML 4.01 Transitional', 'HTML 4.01 Strict', 'XHTML 1.0 Transitional', 'XHTML 1.0 Strict', 'XHTML 1.1' +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt new file mode 100644 index 00000000..7878dc0b --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt @@ -0,0 +1,11 @@ +HTML.FlashAllowFullScreen +TYPE: bool +VERSION: 4.2.0 +DEFAULT: false +--DESCRIPTION-- +

+ Whether or not to permit embedded Flash content from + %HTML.SafeObject to expand to the full screen. Corresponds to + the allowFullScreen parameter. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt new file mode 100644 index 00000000..57358f9b --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt @@ -0,0 +1,21 @@ +HTML.ForbiddenAttributes +TYPE: lookup +VERSION: 3.1.0 +DEFAULT: array() +--DESCRIPTION-- +

+ While this directive is similar to %HTML.AllowedAttributes, for + forwards-compatibility with XML, this attribute has a different syntax. Instead of + tag.attr, use tag@attr. To disallow href + attributes in a tags, set this directive to + a@href. You can also disallow an attribute globally with + attr or *@attr (either syntax is fine; the latter + is provided for consistency with %HTML.AllowedAttributes). +

+

+ Warning: This directive complements %HTML.ForbiddenElements, + accordingly, check + out that directive for a discussion of why you + should think twice before using this directive. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt new file mode 100644 index 00000000..93a53e14 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt @@ -0,0 +1,20 @@ +HTML.ForbiddenElements +TYPE: lookup +VERSION: 3.1.0 +DEFAULT: array() +--DESCRIPTION-- +

+ This was, perhaps, the most requested feature ever in HTML + Purifier. Please don't abuse it! This is the logical inverse of + %HTML.AllowedElements, and it will override that directive, or any + other directive. +

+

+ If possible, %HTML.Allowed is recommended over this directive, because it + can sometimes be difficult to tell whether or not you've forbidden all of + the behavior you would like to disallow. If you forbid img + with the expectation of preventing images on your site, you'll be in for + a nasty surprise when people start using the background-image + CSS property. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Forms.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Forms.txt new file mode 100644 index 00000000..4a432d89 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Forms.txt @@ -0,0 +1,11 @@ +HTML.Forms +TYPE: bool +VERSION: 4.13.0 +DEFAULT: false +--DESCRIPTION-- +

+ Whether or not to permit form elements in the user input, regardless of + %HTML.Trusted value. Please be very careful when using this functionality, as + enabling forms in untrusted documents may allow for phishing attacks. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt new file mode 100644 index 00000000..e424c386 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt @@ -0,0 +1,14 @@ +HTML.MaxImgLength +TYPE: int/null +DEFAULT: 1200 +VERSION: 3.1.1 +--DESCRIPTION-- +

+ This directive controls the maximum number of pixels in the width and + height attributes in img tags. This is + in place to prevent imagecrash attacks, disable with null at your own risk. + This directive is similar to %CSS.MaxImgLength, and both should be + concurrently edited, although there are + subtle differences in the input format (the HTML max is an integer). +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt new file mode 100644 index 00000000..700b3092 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt @@ -0,0 +1,7 @@ +HTML.Nofollow +TYPE: bool +VERSION: 4.3.0 +DEFAULT: FALSE +--DESCRIPTION-- +If enabled, nofollow rel attributes are added to all outgoing links. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt new file mode 100644 index 00000000..62e8e160 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt @@ -0,0 +1,12 @@ +HTML.Parent +TYPE: string +VERSION: 1.3.0 +DEFAULT: 'div' +--DESCRIPTION-- + +

+ String name of element that HTML fragment passed to library will be + inserted in. An interesting variation would be using span as the + parent element, meaning that only inline tags would be allowed. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt new file mode 100644 index 00000000..dfb72049 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt @@ -0,0 +1,12 @@ +HTML.Proprietary +TYPE: bool +VERSION: 3.1.0 +DEFAULT: false +--DESCRIPTION-- +

+ Whether or not to allow proprietary elements and attributes in your + documents, as per HTMLPurifier_HTMLModule_Proprietary. + Warning: This can cause your documents to stop + validating! +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt new file mode 100644 index 00000000..cdda09a4 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt @@ -0,0 +1,13 @@ +HTML.SafeEmbed +TYPE: bool +VERSION: 3.1.1 +DEFAULT: false +--DESCRIPTION-- +

+ Whether or not to permit embed tags in documents, with a number of extra + security features added to prevent script execution. This is similar to + what websites like MySpace do to embed tags. Embed is a proprietary + element and will cause your website to stop validating; you should + see if you can use %Output.FlashCompat with %HTML.SafeObject instead + first.

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt new file mode 100644 index 00000000..5eb6ec2b --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt @@ -0,0 +1,13 @@ +HTML.SafeIframe +TYPE: bool +VERSION: 4.4.0 +DEFAULT: false +--DESCRIPTION-- +

+ Whether or not to permit iframe tags in untrusted documents. This + directive must be accompanied by a whitelist of permitted iframes, + such as %URI.SafeIframeRegexp, otherwise it will fatally error. + This directive has no effect on strict doctypes, as iframes are not + valid. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt new file mode 100644 index 00000000..ceb342e2 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt @@ -0,0 +1,13 @@ +HTML.SafeObject +TYPE: bool +VERSION: 3.1.1 +DEFAULT: false +--DESCRIPTION-- +

+ Whether or not to permit object tags in documents, with a number of extra + security features added to prevent script execution. This is similar to + what websites like MySpace do to object tags. You should also enable + %Output.FlashCompat in order to generate Internet Explorer + compatibility code for your object tags. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt new file mode 100644 index 00000000..5ebc7a19 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt @@ -0,0 +1,10 @@ +HTML.SafeScripting +TYPE: lookup +VERSION: 4.5.0 +DEFAULT: array() +--DESCRIPTION-- +

+ Whether or not to permit script tags to external scripts in documents. + Inline scripting is not allowed, and the script must match an explicit whitelist. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt new file mode 100644 index 00000000..a8b1de56 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt @@ -0,0 +1,9 @@ +HTML.Strict +TYPE: bool +VERSION: 1.3.0 +DEFAULT: false +DEPRECATED-VERSION: 1.7.0 +DEPRECATED-USE: HTML.Doctype +--DESCRIPTION-- +Determines whether or not to use Transitional (loose) or Strict rulesets. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt new file mode 100644 index 00000000..587a1677 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt @@ -0,0 +1,8 @@ +HTML.TargetBlank +TYPE: bool +VERSION: 4.4.0 +DEFAULT: FALSE +--DESCRIPTION-- +If enabled, target=blank attributes are added to all outgoing links. +(This includes links from an HTTPS version of a page to an HTTP version.) +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoopener.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoopener.txt new file mode 100644 index 00000000..dd514c0d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoopener.txt @@ -0,0 +1,10 @@ +--# vim: et sw=4 sts=4 +HTML.TargetNoopener +TYPE: bool +VERSION: 4.8.0 +DEFAULT: TRUE +--DESCRIPTION-- +If enabled, noopener rel attributes are added to links which have +a target attribute associated with them. This prevents malicious +destinations from overwriting the original window. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt new file mode 100644 index 00000000..cb5a0b0e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt @@ -0,0 +1,9 @@ +HTML.TargetNoreferrer +TYPE: bool +VERSION: 4.8.0 +DEFAULT: TRUE +--DESCRIPTION-- +If enabled, noreferrer rel attributes are added to links which have +a target attribute associated with them. This prevents malicious +destinations from overwriting the original window. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt new file mode 100644 index 00000000..b4c271b7 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt @@ -0,0 +1,8 @@ +HTML.TidyAdd +TYPE: lookup +VERSION: 2.0.0 +DEFAULT: array() +--DESCRIPTION-- + +Fixes to add to the default set of Tidy fixes as per your level. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt new file mode 100644 index 00000000..4186ccd0 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt @@ -0,0 +1,24 @@ +HTML.TidyLevel +TYPE: string +VERSION: 2.0.0 +DEFAULT: 'medium' +--DESCRIPTION-- + +

General level of cleanliness the Tidy module should enforce. +There are four allowed values:

+
+
none
+
No extra tidying should be done
+
light
+
Only fix elements that would be discarded otherwise due to + lack of support in doctype
+
medium
+
Enforce best practices
+
heavy
+
Transform all deprecated elements and attributes to standards + compliant equivalents
+
+ +--ALLOWED-- +'none', 'light', 'medium', 'heavy' +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt new file mode 100644 index 00000000..996762bd --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt @@ -0,0 +1,8 @@ +HTML.TidyRemove +TYPE: lookup +VERSION: 2.0.0 +DEFAULT: array() +--DESCRIPTION-- + +Fixes to remove from the default set of Tidy fixes as per your level. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt new file mode 100644 index 00000000..1db9237e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt @@ -0,0 +1,9 @@ +HTML.Trusted +TYPE: bool +VERSION: 2.0.0 +DEFAULT: false +--DESCRIPTION-- +Indicates whether or not the user input is trusted or not. If the input is +trusted, a more expansive set of allowed tags and attributes will be used. +See also %CSS.Trusted. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt new file mode 100644 index 00000000..2a47e384 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt @@ -0,0 +1,11 @@ +HTML.XHTML +TYPE: bool +DEFAULT: true +VERSION: 1.1.0 +DEPRECATED-VERSION: 1.7.0 +DEPRECATED-USE: HTML.Doctype +--DESCRIPTION-- +Determines whether or not output is XHTML 1.0 or HTML 4.01 flavor. +--ALIASES-- +Core.XHTML +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt new file mode 100644 index 00000000..08921fde --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt @@ -0,0 +1,10 @@ +Output.CommentScriptContents +TYPE: bool +VERSION: 2.0.0 +DEFAULT: true +--DESCRIPTION-- +Determines whether or not HTML Purifier should attempt to fix up the +contents of script tags for legacy browsers with comments. +--ALIASES-- +Core.CommentScriptContents +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt new file mode 100644 index 00000000..d6f0d9f2 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt @@ -0,0 +1,15 @@ +Output.FixInnerHTML +TYPE: bool +VERSION: 4.3.0 +DEFAULT: true +--DESCRIPTION-- +

+ If true, HTML Purifier will protect against Internet Explorer's + mishandling of the innerHTML attribute by appending + a space to any attribute that does not contain angled brackets, spaces + or quotes, but contains a backtick. This slightly changes the + semantics of any given attribute, so if this is unacceptable and + you do not use innerHTML on any of your pages, you can + turn this directive off. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt new file mode 100644 index 00000000..93398e85 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt @@ -0,0 +1,11 @@ +Output.FlashCompat +TYPE: bool +VERSION: 4.1.0 +DEFAULT: false +--DESCRIPTION-- +

+ If true, HTML Purifier will generate Internet Explorer compatibility + code for all object code. This is highly recommended if you enable + %HTML.SafeObject. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt new file mode 100644 index 00000000..79f8ad82 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt @@ -0,0 +1,13 @@ +Output.Newline +TYPE: string/null +VERSION: 2.0.1 +DEFAULT: NULL +--DESCRIPTION-- + +

+ Newline string to format final output with. If left null, HTML Purifier + will auto-detect the default newline type of the system and use that; + you can manually override it here. Remember, \r\n is Windows, \r + is Mac, and \n is Unix. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt new file mode 100644 index 00000000..232b0236 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt @@ -0,0 +1,14 @@ +Output.SortAttr +TYPE: bool +VERSION: 3.2.0 +DEFAULT: false +--DESCRIPTION-- +

+ If true, HTML Purifier will sort attributes by name before writing them back + to the document, converting a tag like: <el b="" a="" c="" /> + to <el a="" b="" c="" />. This is a workaround for + a bug in FCKeditor which causes it to swap attributes order, adding noise + to text diffs. If you're not seeing this bug, chances are, you don't need + this directive. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt new file mode 100644 index 00000000..06bab00a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt @@ -0,0 +1,25 @@ +Output.TidyFormat +TYPE: bool +VERSION: 1.1.1 +DEFAULT: false +--DESCRIPTION-- +

+ Determines whether or not to run Tidy on the final output for pretty + formatting reasons, such as indentation and wrap. +

+

+ This can greatly improve readability for editors who are hand-editing + the HTML, but is by no means necessary as HTML Purifier has already + fixed all major errors the HTML may have had. Tidy is a non-default + extension, and this directive will silently fail if Tidy is not + available. +

+

+ If you are looking to make the overall look of your page's source + better, I recommend running Tidy on the entire page rather than just + user-content (after all, the indentation relative to the containing + blocks will be incorrect). +

+--ALIASES-- +Core.TidyFormat +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt new file mode 100644 index 00000000..071bc029 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt @@ -0,0 +1,7 @@ +Test.ForceNoIconv +TYPE: bool +DEFAULT: false +--DESCRIPTION-- +When set to true, HTMLPurifier_Encoder will act as if iconv does not exist +and use only pure PHP implementations. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt new file mode 100644 index 00000000..eb97307e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt @@ -0,0 +1,18 @@ +URI.AllowedSchemes +TYPE: lookup +--DEFAULT-- +array ( + 'http' => true, + 'https' => true, + 'mailto' => true, + 'ftp' => true, + 'nntp' => true, + 'news' => true, + 'tel' => true, +) +--DESCRIPTION-- +Whitelist that defines the schemes that a URI is allowed to have. This +prevents XSS attacks from using pseudo-schemes like javascript or mocha. +There is also support for the data and file +URI schemes, but they are not enabled by default. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Base.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Base.txt new file mode 100644 index 00000000..876f0680 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Base.txt @@ -0,0 +1,17 @@ +URI.Base +TYPE: string/null +VERSION: 2.1.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ The base URI is the URI of the document this purified HTML will be + inserted into. This information is important if HTML Purifier needs + to calculate absolute URIs from relative URIs, such as when %URI.MakeAbsolute + is on. You may use a non-absolute URI for this value, but behavior + may vary (%URI.MakeAbsolute deals nicely with both absolute and + relative paths, but forwards-compatibility is not guaranteed). + Warning: If set, the scheme on this URI + overrides the one specified by %URI.DefaultScheme. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt new file mode 100644 index 00000000..834bc08c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt @@ -0,0 +1,15 @@ +URI.DefaultScheme +TYPE: string/null +DEFAULT: 'http' +--DESCRIPTION-- + +

+ Defines through what scheme the output will be served, in order to + select the proper object validator when no scheme information is present. +

+ +

+ Starting with HTML Purifier 4.9.0, the default scheme can be null, in + which case we reject all URIs which do not have explicit schemes. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt new file mode 100644 index 00000000..f05312ba --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt @@ -0,0 +1,11 @@ +URI.DefinitionID +TYPE: string/null +VERSION: 2.1.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ Unique identifier for a custom-built URI definition. If you want + to add custom URIFilters, you must specify this value. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt new file mode 100644 index 00000000..80cfea93 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt @@ -0,0 +1,11 @@ +URI.DefinitionRev +TYPE: int +VERSION: 2.1.0 +DEFAULT: 1 +--DESCRIPTION-- + +

+ Revision identifier for your custom definition. See + %HTML.DefinitionRev for details. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt new file mode 100644 index 00000000..71ce025a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt @@ -0,0 +1,14 @@ +URI.Disable +TYPE: bool +VERSION: 1.3.0 +DEFAULT: false +--DESCRIPTION-- + +

+ Disables all URIs in all forms. Not sure why you'd want to do that + (after all, the Internet's founded on the notion of a hyperlink). +

+ +--ALIASES-- +Attr.DisableURI +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt new file mode 100644 index 00000000..13c122c8 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt @@ -0,0 +1,11 @@ +URI.DisableExternal +TYPE: bool +VERSION: 1.2.0 +DEFAULT: false +--DESCRIPTION-- +Disables links to external websites. This is a highly effective anti-spam +and anti-pagerank-leech measure, but comes at a hefty price: nolinks or +images outside of your domain will be allowed. Non-linkified URIs will +still be preserved. If you want to be able to link to subdomains or use +absolute URIs, specify %URI.Host for your website. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt new file mode 100644 index 00000000..abcc1efd --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt @@ -0,0 +1,13 @@ +URI.DisableExternalResources +TYPE: bool +VERSION: 1.3.0 +DEFAULT: false +--DESCRIPTION-- +Disables the embedding of external resources, preventing users from +embedding things like images from other hosts. This prevents access +tracking (good for email viewers), bandwidth leeching, cross-site request +forging, goatse.cx posting, and other nasties, but also results in a loss +of end-user functionality (they can't directly post a pic they posted from +Flickr anymore). Use it if you don't have a robust user-content moderation +team. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt new file mode 100644 index 00000000..f891de49 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt @@ -0,0 +1,15 @@ +URI.DisableResources +TYPE: bool +VERSION: 4.2.0 +DEFAULT: false +--DESCRIPTION-- +

+ Disables embedding resources, essentially meaning no pictures. You can + still link to them though. See %URI.DisableExternalResources for why + this might be a good idea. +

+

+ Note: While this directive has been available since 1.3.0, + it didn't actually start doing anything until 4.2.0. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Host.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Host.txt new file mode 100644 index 00000000..ee83b121 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Host.txt @@ -0,0 +1,19 @@ +URI.Host +TYPE: string/null +VERSION: 1.2.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ Defines the domain name of the server, so we can determine whether or + an absolute URI is from your website or not. Not strictly necessary, + as users should be using relative URIs to reference resources on your + website. It will, however, let you use absolute URIs to link to + subdomains of the domain you post here: i.e. example.com will allow + sub.example.com. However, higher up domains will still be excluded: + if you set %URI.Host to sub.example.com, example.com will be blocked. + Note: This directive overrides %URI.Base because + a given page may be on a sub-domain, but you wish HTML Purifier to be + more relaxed and allow some of the parent domains too. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt new file mode 100644 index 00000000..0b6df762 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt @@ -0,0 +1,9 @@ +URI.HostBlacklist +TYPE: list +VERSION: 1.3.0 +DEFAULT: array() +--DESCRIPTION-- +List of strings that are forbidden in the host of any URI. Use it to kill +domain names of spam, etc. Note that it will catch anything in the domain, +so moo.com will catch moo.com.example.com. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt new file mode 100644 index 00000000..4214900a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt @@ -0,0 +1,13 @@ +URI.MakeAbsolute +TYPE: bool +VERSION: 2.1.0 +DEFAULT: false +--DESCRIPTION-- + +

+ Converts all URIs into absolute forms. This is useful when the HTML + being filtered assumes a specific base path, but will actually be + viewed in a different context (and setting an alternate base URI is + not possible). %URI.Base must be set for this directive to work. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt new file mode 100644 index 00000000..58c81dcc --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt @@ -0,0 +1,83 @@ +URI.Munge +TYPE: string/null +VERSION: 1.3.0 +DEFAULT: NULL +--DESCRIPTION-- + +

+ Munges all browsable (usually http, https and ftp) + absolute URIs into another URI, usually a URI redirection service. + This directive accepts a URI, formatted with a %s where + the url-encoded original URI should be inserted (sample: + http://www.google.com/url?q=%s). +

+

+ Uses for this directive: +

+
    +
  • + Prevent PageRank leaks, while being fairly transparent + to users (you may also want to add some client side JavaScript to + override the text in the statusbar). Notice: + Many security experts believe that this form of protection does not deter spam-bots. +
  • +
  • + Redirect users to a splash page telling them they are leaving your + website. While this is poor usability practice, it is often mandated + in corporate environments. +
  • +
+

+ Prior to HTML Purifier 3.1.1, this directive also enabled the munging + of browsable external resources, which could break things if your redirection + script was a splash page or used meta tags. To revert to + previous behavior, please use %URI.MungeResources. +

+

+ You may want to also use %URI.MungeSecretKey along with this directive + in order to enforce what URIs your redirector script allows. Open + redirector scripts can be a security risk and negatively affect the + reputation of your domain name. +

+

+ Starting with HTML Purifier 3.1.1, there is also these substitutions: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyDescriptionExample <a href="">
%r1 - The URI embeds a resource
(blank) - The URI is merely a link
%nThe name of the tag this URI came froma
%mThe name of the attribute this URI came fromhref
%pThe name of the CSS property this URI came from, or blank if irrelevant
+

+ Admittedly, these letters are somewhat arbitrary; the only stipulation + was that they couldn't be a through f. r is for resource (I would have preferred + e, but you take what you can get), n is for name, m + was picked because it came after n (and I couldn't use a), p is for + property. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt new file mode 100644 index 00000000..6fce0fdc --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt @@ -0,0 +1,17 @@ +URI.MungeResources +TYPE: bool +VERSION: 3.1.1 +DEFAULT: false +--DESCRIPTION-- +

+ If true, any URI munging directives like %URI.Munge + will also apply to embedded resources, such as <img src="">. + Be careful enabling this directive if you have a redirector script + that does not use the Location HTTP header; all of your images + and other embedded resources will break. +

+

+ Warning: It is strongly advised you use this in conjunction + %URI.MungeSecretKey to mitigate the security risk of an open redirector. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt new file mode 100644 index 00000000..1e17c1d4 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt @@ -0,0 +1,30 @@ +URI.MungeSecretKey +TYPE: string/null +VERSION: 3.1.1 +DEFAULT: NULL +--DESCRIPTION-- +

+ This directive enables secure checksum generation along with %URI.Munge. + It should be set to a secure key that is not shared with anyone else. + The checksum can be placed in the URI using %t. Use of this checksum + affords an additional level of protection by allowing a redirector + to check if a URI has passed through HTML Purifier with this line: +

+ +
$checksum === hash_hmac("sha256", $url, $secret_key)
+ +

+ If the output is TRUE, the redirector script should accept the URI. +

+ +

+ Please note that it would still be possible for an attacker to procure + secure hashes en-mass by abusing your website's Preview feature or the + like, but this service affords an additional level of protection + that should be combined with website blacklisting. +

+ +

+ Remember this has no effect if %URI.Munge is not on. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt new file mode 100644 index 00000000..23331a4e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt @@ -0,0 +1,9 @@ +URI.OverrideAllowedSchemes +TYPE: bool +DEFAULT: true +--DESCRIPTION-- +If this is set to true (which it is by default), you can override +%URI.AllowedSchemes by simply registering a HTMLPurifier_URIScheme to the +registry. If false, you will also have to update that directive in order +to add more schemes. +--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt new file mode 100644 index 00000000..79084832 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt @@ -0,0 +1,22 @@ +URI.SafeIframeRegexp +TYPE: string/null +VERSION: 4.4.0 +DEFAULT: NULL +--DESCRIPTION-- +

+ A PCRE regular expression that will be matched against an iframe URI. This is + a relatively inflexible scheme, but works well enough for the most common + use-case of iframes: embedded video. This directive only has an effect if + %HTML.SafeIframe is enabled. Here are some example values: +

+
    +
  • %^http://www.youtube.com/embed/% - Allow YouTube videos
  • +
  • %^http://player.vimeo.com/video/% - Allow Vimeo videos
  • +
  • %^http://(www.youtube.com/embed/|player.vimeo.com/video/)% - Allow both
  • +
+

+ Note that this directive does not give you enough granularity to, say, disable + all autoplay videos. Pipe up on the HTML Purifier forums if this + is a capability you want. +

+--# vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/info.ini b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/info.ini new file mode 100644 index 00000000..5de4505e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/schema/info.ini @@ -0,0 +1,3 @@ +name = "HTML Purifier" + +; vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php new file mode 100644 index 00000000..543e3f8f --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php @@ -0,0 +1,170 @@ + true) indexed by name. + * @type array + * @note This is in HTMLPurifier_HTMLDefinition->info_content_sets + */ + public $lookup = array(); + + /** + * Synchronized list of defined content sets (keys of info). + * @type array + */ + protected $keys = array(); + /** + * Synchronized list of defined content values (values of info). + * @type array + */ + protected $values = array(); + + /** + * Merges in module's content sets, expands identifiers in the content + * sets and populates the keys, values and lookup member variables. + * @param HTMLPurifier_HTMLModule[] $modules List of HTMLPurifier_HTMLModule + */ + public function __construct($modules) + { + if (!is_array($modules)) { + $modules = array($modules); + } + // populate content_sets based on module hints + // sorry, no way of overloading + foreach ($modules as $module) { + foreach ($module->content_sets as $key => $value) { + $temp = $this->convertToLookup($value); + if (isset($this->lookup[$key])) { + // add it into the existing content set + $this->lookup[$key] = array_merge($this->lookup[$key], $temp); + } else { + $this->lookup[$key] = $temp; + } + } + } + $old_lookup = false; + while ($old_lookup !== $this->lookup) { + $old_lookup = $this->lookup; + foreach ($this->lookup as $i => $set) { + $add = array(); + foreach ($set as $element => $x) { + if (isset($this->lookup[$element])) { + $add += $this->lookup[$element]; + unset($this->lookup[$i][$element]); + } + } + $this->lookup[$i] += $add; + } + } + + foreach ($this->lookup as $key => $lookup) { + $this->info[$key] = implode(' | ', array_keys($lookup)); + } + $this->keys = array_keys($this->info); + $this->values = array_values($this->info); + } + + /** + * Accepts a definition; generates and assigns a ChildDef for it + * @param HTMLPurifier_ElementDef $def HTMLPurifier_ElementDef reference + * @param HTMLPurifier_HTMLModule $module Module that defined the ElementDef + */ + public function generateChildDef(&$def, $module) + { + if (!empty($def->child)) { // already done! + return; + } + $content_model = $def->content_model; + if (is_string($content_model)) { + // Assume that $this->keys is alphanumeric + $def->content_model = preg_replace_callback( + '/\b(' . implode('|', $this->keys) . ')\b/', + array($this, 'generateChildDefCallback'), + $content_model + ); + //$def->content_model = str_replace( + // $this->keys, $this->values, $content_model); + } + $def->child = $this->getChildDef($def, $module); + } + + public function generateChildDefCallback($matches) + { + return $this->info[$matches[0]]; + } + + /** + * Instantiates a ChildDef based on content_model and content_model_type + * member variables in HTMLPurifier_ElementDef + * @note This will also defer to modules for custom HTMLPurifier_ChildDef + * subclasses that need content set expansion + * @param HTMLPurifier_ElementDef $def HTMLPurifier_ElementDef to have ChildDef extracted + * @param HTMLPurifier_HTMLModule $module Module that defined the ElementDef + * @return HTMLPurifier_ChildDef corresponding to ElementDef + */ + public function getChildDef($def, $module) + { + $value = $def->content_model; + if (is_object($value)) { + trigger_error( + 'Literal object child definitions should be stored in '. + 'ElementDef->child not ElementDef->content_model', + E_USER_NOTICE + ); + return $value; + } + switch ($def->content_model_type) { + case 'required': + return new HTMLPurifier_ChildDef_Required($value); + case 'optional': + return new HTMLPurifier_ChildDef_Optional($value); + case 'empty': + return new HTMLPurifier_ChildDef_Empty(); + case 'custom': + return new HTMLPurifier_ChildDef_Custom($value); + } + // defer to its module + $return = false; + if ($module->defines_child_def) { // save a func call + $return = $module->getChildDef($def); + } + if ($return !== false) { + return $return; + } + // error-out + trigger_error( + 'Could not determine which ChildDef class to instantiate', + E_USER_ERROR + ); + return false; + } + + /** + * Converts a string list of elements separated by pipes into + * a lookup array. + * @param string $string List of elements + * @return array Lookup array of elements + */ + protected function convertToLookup($string) + { + $array = explode('|', str_replace(' ', '', $string)); + $ret = array(); + foreach ($array as $k) { + $ret[$k] = true; + } + return $ret; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php new file mode 100644 index 00000000..00e509c8 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php @@ -0,0 +1,95 @@ +_storage)) { + trigger_error( + "Name $name produces collision, cannot re-register", + E_USER_ERROR + ); + return; + } + $this->_storage[$name] =& $ref; + } + + /** + * Retrieves a variable reference from the context. + * @param string $name String name + * @param bool $ignore_error Boolean whether or not to ignore error + * @return mixed + */ + public function &get($name, $ignore_error = false) + { + if (!array_key_exists($name, $this->_storage)) { + if (!$ignore_error) { + trigger_error( + "Attempted to retrieve non-existent variable $name", + E_USER_ERROR + ); + } + $var = null; // so we can return by reference + return $var; + } + return $this->_storage[$name]; + } + + /** + * Destroys a variable in the context. + * @param string $name String name + */ + public function destroy($name) + { + if (!array_key_exists($name, $this->_storage)) { + trigger_error( + "Attempted to destroy non-existent variable $name", + E_USER_ERROR + ); + return; + } + unset($this->_storage[$name]); + } + + /** + * Checks whether or not the variable exists. + * @param string $name String name + * @return bool + */ + public function exists($name) + { + return array_key_exists($name, $this->_storage); + } + + /** + * Loads a series of variables from an associative array + * @param array $context_array Assoc array of variables to load + */ + public function loadArray($context_array) + { + foreach ($context_array as $key => $discard) { + $this->register($key, $context_array[$key]); + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php new file mode 100644 index 00000000..bc6d4336 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php @@ -0,0 +1,55 @@ +setup) { + return; + } + $this->setup = true; + $this->doSetup($config); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php new file mode 100644 index 00000000..9aa8ff35 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php @@ -0,0 +1,129 @@ +type = $type; + } + + /** + * Generates a unique identifier for a particular configuration + * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config + * @return string + */ + public function generateKey($config) + { + return $config->version . ',' . // possibly replace with function calls + $config->getBatchSerial($this->type) . ',' . + $config->get($this->type . '.DefinitionRev'); + } + + /** + * Tests whether or not a key is old with respect to the configuration's + * version and revision number. + * @param string $key Key to test + * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config to test against + * @return bool + */ + public function isOld($key, $config) + { + if (substr_count($key, ',') < 2) { + return true; + } + list($version, $hash, $revision) = explode(',', $key, 3); + $compare = version_compare($version, $config->version); + // version mismatch, is always old + if ($compare != 0) { + return true; + } + // versions match, ids match, check revision number + if ($hash == $config->getBatchSerial($this->type) && + $revision < $config->get($this->type . '.DefinitionRev')) { + return true; + } + return false; + } + + /** + * Checks if a definition's type jives with the cache's type + * @note Throws an error on failure + * @param HTMLPurifier_Definition $def Definition object to check + * @return bool true if good, false if not + */ + public function checkDefType($def) + { + if ($def->type !== $this->type) { + trigger_error("Cannot use definition of type {$def->type} in cache for {$this->type}"); + return false; + } + return true; + } + + /** + * Adds a definition object to the cache + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + */ + abstract public function add($def, $config); + + /** + * Unconditionally saves a definition object to the cache + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + */ + abstract public function set($def, $config); + + /** + * Replace an object in the cache + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + */ + abstract public function replace($def, $config); + + /** + * Retrieves a definition object from the cache + * @param HTMLPurifier_Config $config + */ + abstract public function get($config); + + /** + * Removes a definition object to the cache + * @param HTMLPurifier_Config $config + */ + abstract public function remove($config); + + /** + * Clears all objects from cache + * @param HTMLPurifier_Config $config + */ + abstract public function flush($config); + + /** + * Clears all expired (older version or revision) objects from cache + * @note Be careful implementing this method as flush. Flush must + * not interfere with other Definition types, and cleanup() + * should not be repeatedly called by userland code. + * @param HTMLPurifier_Config $config + */ + abstract public function cleanup($config); +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php new file mode 100644 index 00000000..b57a51b6 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php @@ -0,0 +1,112 @@ +copy(); + // reference is necessary for mocks in PHP 4 + $decorator->cache =& $cache; + $decorator->type = $cache->type; + return $decorator; + } + + /** + * Cross-compatible clone substitute + * @return HTMLPurifier_DefinitionCache_Decorator + */ + public function copy() + { + return new HTMLPurifier_DefinitionCache_Decorator(); + } + + /** + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function add($def, $config) + { + return $this->cache->add($def, $config); + } + + /** + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function set($def, $config) + { + return $this->cache->set($def, $config); + } + + /** + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function replace($def, $config) + { + return $this->cache->replace($def, $config); + } + + /** + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function get($config) + { + return $this->cache->get($config); + } + + /** + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function remove($config) + { + return $this->cache->remove($config); + } + + /** + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function flush($config) + { + return $this->cache->flush($config); + } + + /** + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function cleanup($config) + { + return $this->cache->cleanup($config); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php new file mode 100644 index 00000000..4991777c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php @@ -0,0 +1,78 @@ +definitions[$this->generateKey($config)] = $def; + } + return $status; + } + + /** + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function set($def, $config) + { + $status = parent::set($def, $config); + if ($status) { + $this->definitions[$this->generateKey($config)] = $def; + } + return $status; + } + + /** + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function replace($def, $config) + { + $status = parent::replace($def, $config); + if ($status) { + $this->definitions[$this->generateKey($config)] = $def; + } + return $status; + } + + /** + * @param HTMLPurifier_Config $config + * @return mixed + */ + public function get($config) + { + $key = $this->generateKey($config); + if (isset($this->definitions[$key])) { + return $this->definitions[$key]; + } + $this->definitions[$key] = parent::get($config); + return $this->definitions[$key]; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in new file mode 100644 index 00000000..b1fec8d3 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in @@ -0,0 +1,82 @@ +checkDefType($def)) { + return; + } + $file = $this->generateFilePath($config); + if (file_exists($file)) { + return false; + } + if (!$this->_prepareDir($config)) { + return false; + } + return $this->_write($file, serialize($def), $config); + } + + /** + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + * @return int|bool + */ + public function set($def, $config) + { + if (!$this->checkDefType($def)) { + return; + } + $file = $this->generateFilePath($config); + if (!$this->_prepareDir($config)) { + return false; + } + return $this->_write($file, serialize($def), $config); + } + + /** + * @param HTMLPurifier_Definition $def + * @param HTMLPurifier_Config $config + * @return int|bool + */ + public function replace($def, $config) + { + if (!$this->checkDefType($def)) { + return; + } + $file = $this->generateFilePath($config); + if (!file_exists($file)) { + return false; + } + if (!$this->_prepareDir($config)) { + return false; + } + return $this->_write($file, serialize($def), $config); + } + + /** + * @param HTMLPurifier_Config $config + * @return bool|HTMLPurifier_Config + */ + public function get($config) + { + $file = $this->generateFilePath($config); + if (!file_exists($file)) { + return false; + } + return unserialize(file_get_contents($file)); + } + + /** + * @param HTMLPurifier_Config $config + * @return bool + */ + public function remove($config) + { + $file = $this->generateFilePath($config); + if (!file_exists($file)) { + return false; + } + return unlink($file); + } + + /** + * @param HTMLPurifier_Config $config + * @return bool + */ + public function flush($config) + { + if (!$this->_prepareDir($config)) { + return false; + } + $dir = $this->generateDirectoryPath($config); + $dh = opendir($dir); + // Apparently, on some versions of PHP, readdir will return + // an empty string if you pass an invalid argument to readdir. + // So you need this test. See #49. + if (false === $dh) { + return false; + } + while (false !== ($filename = readdir($dh))) { + if (empty($filename)) { + continue; + } + if ($filename[0] === '.') { + continue; + } + unlink($dir . '/' . $filename); + } + closedir($dh); + return true; + } + + /** + * @param HTMLPurifier_Config $config + * @return bool + */ + public function cleanup($config) + { + if (!$this->_prepareDir($config)) { + return false; + } + $dir = $this->generateDirectoryPath($config); + $dh = opendir($dir); + // See #49 (and above). + if (false === $dh) { + return false; + } + while (false !== ($filename = readdir($dh))) { + if (empty($filename)) { + continue; + } + if ($filename[0] === '.') { + continue; + } + $key = substr($filename, 0, strlen($filename) - 4); + if ($this->isOld($key, $config)) { + unlink($dir . '/' . $filename); + } + } + closedir($dh); + return true; + } + + /** + * Generates the file path to the serial file corresponding to + * the configuration and definition name + * @param HTMLPurifier_Config $config + * @return string + * @todo Make protected + */ + public function generateFilePath($config) + { + $key = $this->generateKey($config); + return $this->generateDirectoryPath($config) . '/' . $key . '.ser'; + } + + /** + * Generates the path to the directory contain this cache's serial files + * @param HTMLPurifier_Config $config + * @return string + * @note No trailing slash + * @todo Make protected + */ + public function generateDirectoryPath($config) + { + $base = $this->generateBaseDirectoryPath($config); + return $base . '/' . $this->type; + } + + /** + * Generates path to base directory that contains all definition type + * serials + * @param HTMLPurifier_Config $config + * @return mixed|string + * @todo Make protected + */ + public function generateBaseDirectoryPath($config) + { + $base = $config->get('Cache.SerializerPath'); + $base = is_null($base) ? HTMLPURIFIER_PREFIX . '/HTMLPurifier/DefinitionCache/Serializer' : $base; + return $base; + } + + /** + * Convenience wrapper function for file_put_contents + * @param string $file File name to write to + * @param string $data Data to write into file + * @param HTMLPurifier_Config $config + * @return int|bool Number of bytes written if success, or false if failure. + */ + private function _write($file, $data, $config) + { + $result = file_put_contents($file, $data); + if ($result !== false) { + // set permissions of the new file (no execute) + $chmod = $config->get('Cache.SerializerPermissions'); + if ($chmod !== null) { + chmod($file, $chmod & 0666); + } + } + return $result; + } + + /** + * Prepares the directory that this type stores the serials in + * @param HTMLPurifier_Config $config + * @return bool True if successful + */ + private function _prepareDir($config) + { + $directory = $this->generateDirectoryPath($config); + $chmod = $config->get('Cache.SerializerPermissions'); + if ($chmod === null) { + if (!@mkdir($directory) && !is_dir($directory)) { + trigger_error( + 'Could not create directory ' . $directory . '', + E_USER_WARNING + ); + return false; + } + return true; + } + if (!is_dir($directory)) { + $base = $this->generateBaseDirectoryPath($config); + if (!is_dir($base)) { + trigger_error( + 'Base directory ' . $base . ' does not exist, + please create or change using %Cache.SerializerPath', + E_USER_WARNING + ); + return false; + } elseif (!$this->_testPermissions($base, $chmod)) { + return false; + } + if (!@mkdir($directory, $chmod) && !is_dir($directory)) { + trigger_error( + 'Could not create directory ' . $directory . '', + E_USER_WARNING + ); + return false; + } + if (!$this->_testPermissions($directory, $chmod)) { + return false; + } + } elseif (!$this->_testPermissions($directory, $chmod)) { + return false; + } + return true; + } + + /** + * Tests permissions on a directory and throws out friendly + * error messages and attempts to chmod it itself if possible + * @param string $dir Directory path + * @param int $chmod Permissions + * @return bool True if directory is writable + */ + private function _testPermissions($dir, $chmod) + { + // early abort, if it is writable, everything is hunky-dory + if (is_writable($dir)) { + return true; + } + if (!is_dir($dir)) { + // generally, you'll want to handle this beforehand + // so a more specific error message can be given + trigger_error( + 'Directory ' . $dir . ' does not exist', + E_USER_WARNING + ); + return false; + } + if (function_exists('posix_getuid') && $chmod !== null) { + // POSIX system, we can give more specific advice + if (fileowner($dir) === posix_getuid()) { + // we can chmod it ourselves + $chmod = $chmod | 0700; + if (chmod($dir, $chmod)) { + return true; + } + } elseif (filegroup($dir) === posix_getgid()) { + $chmod = $chmod | 0070; + } else { + // PHP's probably running as nobody, it is + // not obvious how to fix this (777 is probably + // bad if you are multi-user), let the user figure it out + $chmod = null; + } + trigger_error( + 'Directory ' . $dir . ' not writable. ' . + ($chmod === null ? '' : 'Please chmod to ' . decoct($chmod)), + E_USER_WARNING + ); + } else { + // generic error message + trigger_error( + 'Directory ' . $dir . ' not writable, ' . + 'please alter file permissions', + E_USER_WARNING + ); + } + return false; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README new file mode 100644 index 00000000..2e35c1c3 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README @@ -0,0 +1,3 @@ +This is a dummy file to prevent Git from ignoring this empty directory. + + vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php new file mode 100644 index 00000000..3a0f4616 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php @@ -0,0 +1,106 @@ + array()); + + /** + * @type array + */ + protected $implementations = array(); + + /** + * @type HTMLPurifier_DefinitionCache_Decorator[] + */ + protected $decorators = array(); + + /** + * Initialize default decorators + */ + public function setup() + { + $this->addDecorator('Cleanup'); + } + + /** + * Retrieves an instance of global definition cache factory. + * @param HTMLPurifier_DefinitionCacheFactory $prototype + * @return HTMLPurifier_DefinitionCacheFactory + */ + public static function instance($prototype = null) + { + static $instance; + if ($prototype !== null) { + $instance = $prototype; + } elseif ($instance === null || $prototype === true) { + $instance = new HTMLPurifier_DefinitionCacheFactory(); + $instance->setup(); + } + return $instance; + } + + /** + * Registers a new definition cache object + * @param string $short Short name of cache object, for reference + * @param string $long Full class name of cache object, for construction + */ + public function register($short, $long) + { + $this->implementations[$short] = $long; + } + + /** + * Factory method that creates a cache object based on configuration + * @param string $type Name of definitions handled by cache + * @param HTMLPurifier_Config $config Config instance + * @return mixed + */ + public function create($type, $config) + { + $method = $config->get('Cache.DefinitionImpl'); + if ($method === null) { + return new HTMLPurifier_DefinitionCache_Null($type); + } + if (!empty($this->caches[$method][$type])) { + return $this->caches[$method][$type]; + } + if (isset($this->implementations[$method]) && + class_exists($class = $this->implementations[$method])) { + $cache = new $class($type); + } else { + if ($method != 'Serializer') { + trigger_error("Unrecognized DefinitionCache $method, using Serializer instead", E_USER_WARNING); + } + $cache = new HTMLPurifier_DefinitionCache_Serializer($type); + } + foreach ($this->decorators as $decorator) { + $new_cache = $decorator->decorate($cache); + // prevent infinite recursion in PHP 4 + unset($cache); + $cache = $new_cache; + } + $this->caches[$method][$type] = $cache; + return $this->caches[$method][$type]; + } + + /** + * Registers a decorator to add to all new cache objects + * @param HTMLPurifier_DefinitionCache_Decorator|string $decorator An instance or the name of a decorator + */ + public function addDecorator($decorator) + { + if (is_string($decorator)) { + $class = "HTMLPurifier_DefinitionCache_Decorator_$decorator"; + $decorator = new $class; + } + $this->decorators[$decorator->name] = $decorator; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php new file mode 100644 index 00000000..4acd06e5 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php @@ -0,0 +1,73 @@ +renderDoctype. + * If structure changes, please update that function. + */ +class HTMLPurifier_Doctype +{ + /** + * Full name of doctype + * @type string + */ + public $name; + + /** + * List of standard modules (string identifiers or literal objects) + * that this doctype uses + * @type array + */ + public $modules = array(); + + /** + * List of modules to use for tidying up code + * @type array + */ + public $tidyModules = array(); + + /** + * Is the language derived from XML (i.e. XHTML)? + * @type bool + */ + public $xml = true; + + /** + * List of aliases for this doctype + * @type array + */ + public $aliases = array(); + + /** + * Public DTD identifier + * @type string + */ + public $dtdPublic; + + /** + * System DTD identifier + * @type string + */ + public $dtdSystem; + + public function __construct( + $name = null, + $xml = true, + $modules = array(), + $tidyModules = array(), + $aliases = array(), + $dtd_public = null, + $dtd_system = null + ) { + $this->name = $name; + $this->xml = $xml; + $this->modules = $modules; + $this->tidyModules = $tidyModules; + $this->aliases = $aliases; + $this->dtdPublic = $dtd_public; + $this->dtdSystem = $dtd_system; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php new file mode 100644 index 00000000..acc1d64a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php @@ -0,0 +1,142 @@ +doctypes[$doctype->name] = $doctype; + $name = $doctype->name; + // hookup aliases + foreach ($doctype->aliases as $alias) { + if (isset($this->doctypes[$alias])) { + continue; + } + $this->aliases[$alias] = $name; + } + // remove old aliases + if (isset($this->aliases[$name])) { + unset($this->aliases[$name]); + } + return $doctype; + } + + /** + * Retrieves reference to a doctype of a certain name + * @note This function resolves aliases + * @note When possible, use the more fully-featured make() + * @param string $doctype Name of doctype + * @return HTMLPurifier_Doctype Editable doctype object + */ + public function get($doctype) + { + if (isset($this->aliases[$doctype])) { + $doctype = $this->aliases[$doctype]; + } + if (!isset($this->doctypes[$doctype])) { + trigger_error('Doctype ' . htmlspecialchars($doctype) . ' does not exist', E_USER_ERROR); + $anon = new HTMLPurifier_Doctype($doctype); + return $anon; + } + return $this->doctypes[$doctype]; + } + + /** + * Creates a doctype based on a configuration object, + * will perform initialization on the doctype + * @note Use this function to get a copy of doctype that config + * can hold on to (this is necessary in order to tell + * Generator whether or not the current document is XML + * based or not). + * @param HTMLPurifier_Config $config + * @return HTMLPurifier_Doctype + */ + public function make($config) + { + return clone $this->get($this->getDoctypeFromConfig($config)); + } + + /** + * Retrieves the doctype from the configuration object + * @param HTMLPurifier_Config $config + * @return string + */ + public function getDoctypeFromConfig($config) + { + // recommended test + $doctype = $config->get('HTML.Doctype'); + if (!empty($doctype)) { + return $doctype; + } + $doctype = $config->get('HTML.CustomDoctype'); + if (!empty($doctype)) { + return $doctype; + } + // backwards-compatibility + if ($config->get('HTML.XHTML')) { + $doctype = 'XHTML 1.0'; + } else { + $doctype = 'HTML 4.01'; + } + if ($config->get('HTML.Strict')) { + $doctype .= ' Strict'; + } else { + $doctype .= ' Transitional'; + } + return $doctype; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php new file mode 100644 index 00000000..57cfd2bb --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php @@ -0,0 +1,216 @@ +setup(), this array may also + * contain an array at index 0 that indicates which attribute + * collections to load into the full array. It may also + * contain string indentifiers in lieu of HTMLPurifier_AttrDef, + * see HTMLPurifier_AttrTypes on how they are expanded during + * HTMLPurifier_HTMLDefinition->setup() processing. + */ + public $attr = array(); + + // XXX: Design note: currently, it's not possible to override + // previously defined AttrTransforms without messing around with + // the final generated config. This is by design; a previous version + // used an associated list of attr_transform, but it was extremely + // easy to accidentally override other attribute transforms by + // forgetting to specify an index (and just using 0.) While we + // could check this by checking the index number and complaining, + // there is a second problem which is that it is not at all easy to + // tell when something is getting overridden. Combine this with a + // codebase where this isn't really being used, and it's perfect for + // nuking. + + /** + * List of tags HTMLPurifier_AttrTransform to be done before validation. + * @type array + */ + public $attr_transform_pre = array(); + + /** + * List of tags HTMLPurifier_AttrTransform to be done after validation. + * @type array + */ + public $attr_transform_post = array(); + + /** + * HTMLPurifier_ChildDef of this tag. + * @type HTMLPurifier_ChildDef + */ + public $child; + + /** + * Abstract string representation of internal ChildDef rules. + * @see HTMLPurifier_ContentSets for how this is parsed and then transformed + * into an HTMLPurifier_ChildDef. + * @warning This is a temporary variable that is not available after + * being processed by HTMLDefinition + * @type string + */ + public $content_model; + + /** + * Value of $child->type, used to determine which ChildDef to use, + * used in combination with $content_model. + * @warning This must be lowercase + * @warning This is a temporary variable that is not available after + * being processed by HTMLDefinition + * @type string + */ + public $content_model_type; + + /** + * Does the element have a content model (#PCDATA | Inline)*? This + * is important for chameleon ins and del processing in + * HTMLPurifier_ChildDef_Chameleon. Dynamically set: modules don't + * have to worry about this one. + * @type bool + */ + public $descendants_are_inline = false; + + /** + * List of the names of required attributes this element has. + * Dynamically populated by HTMLPurifier_HTMLDefinition::getElement() + * @type array + */ + public $required_attr = array(); + + /** + * Lookup table of tags excluded from all descendants of this tag. + * @type array + * @note SGML permits exclusions for all descendants, but this is + * not possible with DTDs or XML Schemas. W3C has elected to + * use complicated compositions of content_models to simulate + * exclusion for children, but we go the simpler, SGML-style + * route of flat-out exclusions, which correctly apply to + * all descendants and not just children. Note that the XHTML + * Modularization Abstract Modules are blithely unaware of such + * distinctions. + */ + public $excludes = array(); + + /** + * This tag is explicitly auto-closed by the following tags. + * @type array + */ + public $autoclose = array(); + + /** + * If a foreign element is found in this element, test if it is + * allowed by this sub-element; if it is, instead of closing the + * current element, place it inside this element. + * @type string + */ + public $wrap; + + /** + * Whether or not this is a formatting element affected by the + * "Active Formatting Elements" algorithm. + * @type bool + */ + public $formatting; + + /** + * Low-level factory constructor for creating new standalone element defs + */ + public static function create($content_model, $content_model_type, $attr) + { + $def = new HTMLPurifier_ElementDef(); + $def->content_model = $content_model; + $def->content_model_type = $content_model_type; + $def->attr = $attr; + return $def; + } + + /** + * Merges the values of another element definition into this one. + * Values from the new element def take precedence if a value is + * not mergeable. + * @param HTMLPurifier_ElementDef $def + */ + public function mergeIn($def) + { + // later keys takes precedence + foreach ($def->attr as $k => $v) { + if ($k === 0) { + // merge in the includes + // sorry, no way to override an include + foreach ($v as $v2) { + $this->attr[0][] = $v2; + } + continue; + } + if ($v === false) { + if (isset($this->attr[$k])) { + unset($this->attr[$k]); + } + continue; + } + $this->attr[$k] = $v; + } + $this->_mergeAssocArray($this->excludes, $def->excludes); + $this->attr_transform_pre = array_merge($this->attr_transform_pre, $def->attr_transform_pre); + $this->attr_transform_post = array_merge($this->attr_transform_post, $def->attr_transform_post); + + if (!empty($def->content_model)) { + $this->content_model = + str_replace("#SUPER", (string)$this->content_model, $def->content_model); + $this->child = false; + } + if (!empty($def->content_model_type)) { + $this->content_model_type = $def->content_model_type; + $this->child = false; + } + if (!is_null($def->child)) { + $this->child = $def->child; + } + if (!is_null($def->formatting)) { + $this->formatting = $def->formatting; + } + if ($def->descendants_are_inline) { + $this->descendants_are_inline = $def->descendants_are_inline; + } + } + + /** + * Merges one array into another, removes values which equal false + * @param $a1 Array by reference that is merged into + * @param $a2 Array that merges into $a1 + */ + private function _mergeAssocArray(&$a1, $a2) + { + foreach ($a2 as $k => $v) { + if ($v === false) { + if (isset($a1[$k])) { + unset($a1[$k]); + } + continue; + } + $a1[$k] = $v; + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php new file mode 100644 index 00000000..d4791cc1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php @@ -0,0 +1,617 @@ += $c) { + $r .= self::unsafeIconv($in, $out, substr($text, $i)); + break; + } + // wibble the boundary + if (0x80 != (0xC0 & ord($text[$i + $max_chunk_size]))) { + $chunk_size = $max_chunk_size; + } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 1]))) { + $chunk_size = $max_chunk_size - 1; + } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 2]))) { + $chunk_size = $max_chunk_size - 2; + } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 3]))) { + $chunk_size = $max_chunk_size - 3; + } else { + return false; // rather confusing UTF-8... + } + $chunk = substr($text, $i, $chunk_size); // substr doesn't mind overlong lengths + $r .= self::unsafeIconv($in, $out, $chunk); + $i += $chunk_size; + } + return $r; + } else { + return false; + } + } else { + return false; + } + } + + /** + * Cleans a UTF-8 string for well-formedness and SGML validity + * + * It will parse according to UTF-8 and return a valid UTF8 string, with + * non-SGML codepoints excluded. + * + * Specifically, it will permit: + * \x{9}\x{A}\x{D}\x{20}-\x{7E}\x{A0}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF} + * Source: https://www.w3.org/TR/REC-xml/#NT-Char + * Arguably this function should be modernized to the HTML5 set + * of allowed characters: + * https://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream + * which simultaneously expand and restrict the set of allowed characters. + * + * @param string $str The string to clean + * @param bool $force_php + * @return string + * + * @note Just for reference, the non-SGML code points are 0 to 31 and + * 127 to 159, inclusive. However, we allow code points 9, 10 + * and 13, which are the tab, line feed and carriage return + * respectively. 128 and above the code points map to multibyte + * UTF-8 representations. + * + * @note Fallback code adapted from utf8ToUnicode by Henri Sivonen and + * hsivonen@iki.fi at under the + * LGPL license. Notes on what changed are inside, but in general, + * the original code transformed UTF-8 text into an array of integer + * Unicode codepoints. Understandably, transforming that back to + * a string would be somewhat expensive, so the function was modded to + * directly operate on the string. However, this discourages code + * reuse, and the logic enumerated here would be useful for any + * function that needs to be able to understand UTF-8 characters. + * As of right now, only smart lossless character encoding converters + * would need that, and I'm probably not going to implement them. + */ + public static function cleanUTF8($str, $force_php = false) + { + // UTF-8 validity is checked since PHP 4.3.5 + // This is an optimization: if the string is already valid UTF-8, no + // need to do PHP stuff. 99% of the time, this will be the case. + if (preg_match( + '/^[\x{9}\x{A}\x{D}\x{20}-\x{7E}\x{A0}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]*$/Du', + $str + )) { + return $str; + } + + $mState = 0; // cached expected number of octets after the current octet + // until the beginning of the next UTF8 character sequence + $mUcs4 = 0; // cached Unicode character + $mBytes = 1; // cached expected number of octets in the current sequence + + // original code involved an $out that was an array of Unicode + // codepoints. Instead of having to convert back into UTF-8, we've + // decided to directly append valid UTF-8 characters onto a string + // $out once they're done. $char accumulates raw bytes, while $mUcs4 + // turns into the Unicode code point, so there's some redundancy. + + $out = ''; + $char = ''; + + $len = strlen($str); + for ($i = 0; $i < $len; $i++) { + $in = ord($str[$i]); + $char .= $str[$i]; // append byte to char + if (0 == $mState) { + // When mState is zero we expect either a US-ASCII character + // or a multi-octet sequence. + if (0 == (0x80 & ($in))) { + // US-ASCII, pass straight through. + if (($in <= 31 || $in == 127) && + !($in == 9 || $in == 13 || $in == 10) // save \r\t\n + ) { + // control characters, remove + } else { + $out .= $char; + } + // reset + $char = ''; + $mBytes = 1; + } elseif (0xC0 == (0xE0 & ($in))) { + // First octet of 2 octet sequence + $mUcs4 = ($in); + $mUcs4 = ($mUcs4 & 0x1F) << 6; + $mState = 1; + $mBytes = 2; + } elseif (0xE0 == (0xF0 & ($in))) { + // First octet of 3 octet sequence + $mUcs4 = ($in); + $mUcs4 = ($mUcs4 & 0x0F) << 12; + $mState = 2; + $mBytes = 3; + } elseif (0xF0 == (0xF8 & ($in))) { + // First octet of 4 octet sequence + $mUcs4 = ($in); + $mUcs4 = ($mUcs4 & 0x07) << 18; + $mState = 3; + $mBytes = 4; + } elseif (0xF8 == (0xFC & ($in))) { + // First octet of 5 octet sequence. + // + // This is illegal because the encoded codepoint must be + // either: + // (a) not the shortest form or + // (b) outside the Unicode range of 0-0x10FFFF. + // Rather than trying to resynchronize, we will carry on + // until the end of the sequence and let the later error + // handling code catch it. + $mUcs4 = ($in); + $mUcs4 = ($mUcs4 & 0x03) << 24; + $mState = 4; + $mBytes = 5; + } elseif (0xFC == (0xFE & ($in))) { + // First octet of 6 octet sequence, see comments for 5 + // octet sequence. + $mUcs4 = ($in); + $mUcs4 = ($mUcs4 & 1) << 30; + $mState = 5; + $mBytes = 6; + } else { + // Current octet is neither in the US-ASCII range nor a + // legal first octet of a multi-octet sequence. + $mState = 0; + $mUcs4 = 0; + $mBytes = 1; + $char = ''; + } + } else { + // When mState is non-zero, we expect a continuation of the + // multi-octet sequence + if (0x80 == (0xC0 & ($in))) { + // Legal continuation. + $shift = ($mState - 1) * 6; + $tmp = $in; + $tmp = ($tmp & 0x0000003F) << $shift; + $mUcs4 |= $tmp; + + if (0 == --$mState) { + // End of the multi-octet sequence. mUcs4 now contains + // the final Unicode codepoint to be output + + // Check for illegal sequences and codepoints. + + // From Unicode 3.1, non-shortest form is illegal + if (((2 == $mBytes) && ($mUcs4 < 0x0080)) || + ((3 == $mBytes) && ($mUcs4 < 0x0800)) || + ((4 == $mBytes) && ($mUcs4 < 0x10000)) || + (4 < $mBytes) || + // From Unicode 3.2, surrogate characters = illegal + (($mUcs4 & 0xFFFFF800) == 0xD800) || + // Codepoints outside the Unicode range are illegal + ($mUcs4 > 0x10FFFF) + ) { + + } elseif (0xFEFF != $mUcs4 && // omit BOM + // check for valid Char unicode codepoints + ( + 0x9 == $mUcs4 || + 0xA == $mUcs4 || + 0xD == $mUcs4 || + (0x20 <= $mUcs4 && 0x7E >= $mUcs4) || + // 7F-9F is not strictly prohibited by XML, + // but it is non-SGML, and thus we don't allow it + (0xA0 <= $mUcs4 && 0xD7FF >= $mUcs4) || + (0xE000 <= $mUcs4 && 0xFFFD >= $mUcs4) || + (0x10000 <= $mUcs4 && 0x10FFFF >= $mUcs4) + ) + ) { + $out .= $char; + } + // initialize UTF8 cache (reset) + $mState = 0; + $mUcs4 = 0; + $mBytes = 1; + $char = ''; + } + } else { + // ((0xC0 & (*in) != 0x80) && (mState != 0)) + // Incomplete multi-octet sequence. + // used to result in complete fail, but we'll reset + $mState = 0; + $mUcs4 = 0; + $mBytes = 1; + $char =''; + } + } + } + return $out; + } + + /** + * Translates a Unicode codepoint into its corresponding UTF-8 character. + * @note Based on Feyd's function at + * , + * which is in public domain. + * @note While we're going to do code point parsing anyway, a good + * optimization would be to refuse to translate code points that + * are non-SGML characters. However, this could lead to duplication. + * @note This is very similar to the unichr function in + * maintenance/generate-entity-file.php (although this is superior, + * due to its sanity checks). + */ + + // +----------+----------+----------+----------+ + // | 33222222 | 22221111 | 111111 | | + // | 10987654 | 32109876 | 54321098 | 76543210 | bit + // +----------+----------+----------+----------+ + // | | | | 0xxxxxxx | 1 byte 0x00000000..0x0000007F + // | | | 110yyyyy | 10xxxxxx | 2 byte 0x00000080..0x000007FF + // | | 1110zzzz | 10yyyyyy | 10xxxxxx | 3 byte 0x00000800..0x0000FFFF + // | 11110www | 10wwzzzz | 10yyyyyy | 10xxxxxx | 4 byte 0x00010000..0x0010FFFF + // +----------+----------+----------+----------+ + // | 00000000 | 00011111 | 11111111 | 11111111 | Theoretical upper limit of legal scalars: 2097151 (0x001FFFFF) + // | 00000000 | 00010000 | 11111111 | 11111111 | Defined upper limit of legal scalar codes + // +----------+----------+----------+----------+ + + public static function unichr($code) + { + if ($code > 1114111 or $code < 0 or + ($code >= 55296 and $code <= 57343) ) { + // bits are set outside the "valid" range as defined + // by UNICODE 4.1.0 + return ''; + } + + $x = $y = $z = $w = 0; + if ($code < 128) { + // regular ASCII character + $x = $code; + } else { + // set up bits for UTF-8 + $x = ($code & 63) | 128; + if ($code < 2048) { + $y = (($code & 2047) >> 6) | 192; + } else { + $y = (($code & 4032) >> 6) | 128; + if ($code < 65536) { + $z = (($code >> 12) & 15) | 224; + } else { + $z = (($code >> 12) & 63) | 128; + $w = (($code >> 18) & 7) | 240; + } + } + } + // set up the actual character + $ret = ''; + if ($w) { + $ret .= chr($w); + } + if ($z) { + $ret .= chr($z); + } + if ($y) { + $ret .= chr($y); + } + $ret .= chr($x); + + return $ret; + } + + /** + * @return bool + */ + public static function iconvAvailable() + { + static $iconv = null; + if ($iconv === null) { + $iconv = function_exists('iconv') && self::testIconvTruncateBug() != self::ICONV_UNUSABLE; + } + return $iconv; + } + + /** + * Convert a string to UTF-8 based on configuration. + * @param string $str The string to convert + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return string + */ + public static function convertToUTF8($str, $config, $context) + { + $encoding = $config->get('Core.Encoding'); + if ($encoding === 'utf-8') { + return $str; + } + static $iconv = null; + if ($iconv === null) { + $iconv = self::iconvAvailable(); + } + if ($iconv && !$config->get('Test.ForceNoIconv')) { + // unaffected by bugs, since UTF-8 support all characters + $str = self::unsafeIconv($encoding, 'utf-8//IGNORE', $str); + if ($str === false) { + // $encoding is not a valid encoding + trigger_error('Invalid encoding ' . $encoding, E_USER_ERROR); + return ''; + } + // If the string is bjorked by Shift_JIS or a similar encoding + // that doesn't support all of ASCII, convert the naughty + // characters to their true byte-wise ASCII/UTF-8 equivalents. + $str = strtr($str, self::testEncodingSupportsASCII($encoding)); + return $str; + } elseif ($encoding === 'iso-8859-1' && function_exists('mb_convert_encoding')) { + $str = mb_convert_encoding($str, 'UTF-8', 'ISO-8859-1'); + return $str; + } + $bug = HTMLPurifier_Encoder::testIconvTruncateBug(); + if ($bug == self::ICONV_OK) { + trigger_error('Encoding not supported, please install iconv', E_USER_ERROR); + } else { + trigger_error( + 'You have a buggy version of iconv, see https://bugs.php.net/bug.php?id=48147 ' . + 'and http://sourceware.org/bugzilla/show_bug.cgi?id=13541', + E_USER_ERROR + ); + } + } + + /** + * Converts a string from UTF-8 based on configuration. + * @param string $str The string to convert + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return string + * @note Currently, this is a lossy conversion, with unexpressable + * characters being omitted. + */ + public static function convertFromUTF8($str, $config, $context) + { + $encoding = $config->get('Core.Encoding'); + if ($escape = $config->get('Core.EscapeNonASCIICharacters')) { + $str = self::convertToASCIIDumbLossless($str); + } + if ($encoding === 'utf-8') { + return $str; + } + static $iconv = null; + if ($iconv === null) { + $iconv = self::iconvAvailable(); + } + if ($iconv && !$config->get('Test.ForceNoIconv')) { + // Undo our previous fix in convertToUTF8, otherwise iconv will barf + $ascii_fix = self::testEncodingSupportsASCII($encoding); + if (!$escape && !empty($ascii_fix)) { + $clear_fix = array(); + foreach ($ascii_fix as $utf8 => $native) { + $clear_fix[$utf8] = ''; + } + $str = strtr($str, $clear_fix); + } + $str = strtr($str, array_flip($ascii_fix)); + // Normal stuff + $str = self::iconv('utf-8', $encoding . '//IGNORE', $str); + return $str; + } elseif ($encoding === 'iso-8859-1' && function_exists('mb_convert_encoding')) { + $str = mb_convert_encoding($str, 'ISO-8859-1', 'UTF-8'); + return $str; + } + trigger_error('Encoding not supported', E_USER_ERROR); + // You might be tempted to assume that the ASCII representation + // might be OK, however, this is *not* universally true over all + // encodings. So we take the conservative route here, rather + // than forcibly turn on %Core.EscapeNonASCIICharacters + } + + /** + * Lossless (character-wise) conversion of HTML to ASCII + * @param string $str UTF-8 string to be converted to ASCII + * @return string ASCII encoded string with non-ASCII character entity-ized + * @warning Adapted from MediaWiki, claiming fair use: this is a common + * algorithm. If you disagree with this license fudgery, + * implement it yourself. + * @note Uses decimal numeric entities since they are best supported. + * @note This is a DUMB function: it has no concept of keeping + * character entities that the projected character encoding + * can allow. We could possibly implement a smart version + * but that would require it to also know which Unicode + * codepoints the charset supported (not an easy task). + * @note Sort of with cleanUTF8() but it assumes that $str is + * well-formed UTF-8 + */ + public static function convertToASCIIDumbLossless($str) + { + $bytesleft = 0; + $result = ''; + $working = 0; + $len = strlen($str); + for ($i = 0; $i < $len; $i++) { + $bytevalue = ord($str[$i]); + if ($bytevalue <= 0x7F) { //0xxx xxxx + $result .= chr($bytevalue); + $bytesleft = 0; + } elseif ($bytevalue <= 0xBF) { //10xx xxxx + $working = $working << 6; + $working += ($bytevalue & 0x3F); + $bytesleft--; + if ($bytesleft <= 0) { + $result .= "&#" . $working . ";"; + } + } elseif ($bytevalue <= 0xDF) { //110x xxxx + $working = $bytevalue & 0x1F; + $bytesleft = 1; + } elseif ($bytevalue <= 0xEF) { //1110 xxxx + $working = $bytevalue & 0x0F; + $bytesleft = 2; + } else { //1111 0xxx + $working = $bytevalue & 0x07; + $bytesleft = 3; + } + } + return $result; + } + + /** No bugs detected in iconv. */ + const ICONV_OK = 0; + + /** Iconv truncates output if converting from UTF-8 to another + * character set with //IGNORE, and a non-encodable character is found */ + const ICONV_TRUNCATES = 1; + + /** Iconv does not support //IGNORE, making it unusable for + * transcoding purposes */ + const ICONV_UNUSABLE = 2; + + /** + * glibc iconv has a known bug where it doesn't handle the magic + * //IGNORE stanza correctly. In particular, rather than ignore + * characters, it will return an EILSEQ after consuming some number + * of characters, and expect you to restart iconv as if it were + * an E2BIG. Old versions of PHP did not respect the errno, and + * returned the fragment, so as a result you would see iconv + * mysteriously truncating output. We can work around this by + * manually chopping our input into segments of about 8000 + * characters, as long as PHP ignores the error code. If PHP starts + * paying attention to the error code, iconv becomes unusable. + * + * @return int Error code indicating severity of bug. + */ + public static function testIconvTruncateBug() + { + static $code = null; + if ($code === null) { + // better not use iconv, otherwise infinite loop! + $r = self::unsafeIconv('utf-8', 'ascii//IGNORE', "\xCE\xB1" . str_repeat('a', 9000)); + if ($r === false) { + $code = self::ICONV_UNUSABLE; + } elseif (($c = strlen($r)) < 9000) { + $code = self::ICONV_TRUNCATES; + } elseif ($c > 9000) { + trigger_error( + 'Your copy of iconv is extremely buggy. Please notify HTML Purifier maintainers: ' . + 'include your iconv version as per phpversion()', + E_USER_ERROR + ); + } else { + $code = self::ICONV_OK; + } + } + return $code; + } + + /** + * This expensive function tests whether or not a given character + * encoding supports ASCII. 7/8-bit encodings like Shift_JIS will + * fail this test, and require special processing. Variable width + * encodings shouldn't ever fail. + * + * @param string $encoding Encoding name to test, as per iconv format + * @param bool $bypass Whether or not to bypass the precompiled arrays. + * @return Array of UTF-8 characters to their corresponding ASCII, + * which can be used to "undo" any overzealous iconv action. + */ + public static function testEncodingSupportsASCII($encoding, $bypass = false) + { + // All calls to iconv here are unsafe, proof by case analysis: + // If ICONV_OK, no difference. + // If ICONV_TRUNCATE, all calls involve one character inputs, + // so bug is not triggered. + // If ICONV_UNUSABLE, this call is irrelevant + static $encodings = array(); + if (!$bypass) { + if (isset($encodings[$encoding])) { + return $encodings[$encoding]; + } + $lenc = strtolower($encoding); + switch ($lenc) { + case 'shift_jis': + return array("\xC2\xA5" => '\\', "\xE2\x80\xBE" => '~'); + case 'johab': + return array("\xE2\x82\xA9" => '\\'); + } + if (strpos($lenc, 'iso-8859-') === 0) { + return array(); + } + } + $ret = array(); + if (self::unsafeIconv('UTF-8', $encoding, 'a') === false) { + return false; + } + for ($i = 0x20; $i <= 0x7E; $i++) { // all printable ASCII chars + $c = chr($i); // UTF-8 char + $r = self::unsafeIconv('UTF-8', "$encoding//IGNORE", $c); // initial conversion + if ($r === '' || + // This line is needed for iconv implementations that do not + // omit characters that do not exist in the target character set + ($r === $c && self::unsafeIconv($encoding, 'UTF-8//IGNORE', $r) !== $c) + ) { + // Reverse engineer: what's the UTF-8 equiv of this byte + // sequence? This assumes that there's no variable width + // encoding that doesn't support ASCII. + $ret[self::unsafeIconv($encoding, 'UTF-8//IGNORE', $c)] = $c; + } + } + $encodings[$encoding] = $ret; + return $ret; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php new file mode 100644 index 00000000..f12ff13a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php @@ -0,0 +1,48 @@ +table = unserialize(file_get_contents($file)); + } + + /** + * Retrieves sole instance of the object. + * @param bool|HTMLPurifier_EntityLookup $prototype Optional prototype of custom lookup table to overload with. + * @return HTMLPurifier_EntityLookup + */ + public static function instance($prototype = false) + { + // no references, since PHP doesn't copy unless modified + static $instance = null; + if ($prototype) { + $instance = $prototype; + } elseif (!$instance) { + $instance = new HTMLPurifier_EntityLookup(); + $instance->setup(); + } + return $instance; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup/entities.ser b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup/entities.ser new file mode 100644 index 00000000..e8b08128 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup/entities.ser @@ -0,0 +1 @@ +a:253:{s:4:"fnof";s:2:"ƒ";s:5:"Alpha";s:2:"Α";s:4:"Beta";s:2:"Β";s:5:"Gamma";s:2:"Γ";s:5:"Delta";s:2:"Δ";s:7:"Epsilon";s:2:"Ε";s:4:"Zeta";s:2:"Ζ";s:3:"Eta";s:2:"Η";s:5:"Theta";s:2:"Θ";s:4:"Iota";s:2:"Ι";s:5:"Kappa";s:2:"Κ";s:6:"Lambda";s:2:"Λ";s:2:"Mu";s:2:"Μ";s:2:"Nu";s:2:"Ν";s:2:"Xi";s:2:"Ξ";s:7:"Omicron";s:2:"Ο";s:2:"Pi";s:2:"Π";s:3:"Rho";s:2:"Ρ";s:5:"Sigma";s:2:"Σ";s:3:"Tau";s:2:"Τ";s:7:"Upsilon";s:2:"Υ";s:3:"Phi";s:2:"Φ";s:3:"Chi";s:2:"Χ";s:3:"Psi";s:2:"Ψ";s:5:"Omega";s:2:"Ω";s:5:"alpha";s:2:"α";s:4:"beta";s:2:"β";s:5:"gamma";s:2:"γ";s:5:"delta";s:2:"δ";s:7:"epsilon";s:2:"ε";s:4:"zeta";s:2:"ζ";s:3:"eta";s:2:"η";s:5:"theta";s:2:"θ";s:4:"iota";s:2:"ι";s:5:"kappa";s:2:"κ";s:6:"lambda";s:2:"λ";s:2:"mu";s:2:"μ";s:2:"nu";s:2:"ν";s:2:"xi";s:2:"ξ";s:7:"omicron";s:2:"ο";s:2:"pi";s:2:"π";s:3:"rho";s:2:"ρ";s:6:"sigmaf";s:2:"ς";s:5:"sigma";s:2:"σ";s:3:"tau";s:2:"τ";s:7:"upsilon";s:2:"υ";s:3:"phi";s:2:"φ";s:3:"chi";s:2:"χ";s:3:"psi";s:2:"ψ";s:5:"omega";s:2:"ω";s:8:"thetasym";s:2:"ϑ";s:5:"upsih";s:2:"ϒ";s:3:"piv";s:2:"ϖ";s:4:"bull";s:3:"•";s:6:"hellip";s:3:"…";s:5:"prime";s:3:"′";s:5:"Prime";s:3:"″";s:5:"oline";s:3:"‾";s:5:"frasl";s:3:"⁄";s:6:"weierp";s:3:"℘";s:5:"image";s:3:"ℑ";s:4:"real";s:3:"ℜ";s:5:"trade";s:3:"™";s:7:"alefsym";s:3:"ℵ";s:4:"larr";s:3:"←";s:4:"uarr";s:3:"↑";s:4:"rarr";s:3:"→";s:4:"darr";s:3:"↓";s:4:"harr";s:3:"↔";s:5:"crarr";s:3:"↵";s:4:"lArr";s:3:"⇐";s:4:"uArr";s:3:"⇑";s:4:"rArr";s:3:"⇒";s:4:"dArr";s:3:"⇓";s:4:"hArr";s:3:"⇔";s:6:"forall";s:3:"∀";s:4:"part";s:3:"∂";s:5:"exist";s:3:"∃";s:5:"empty";s:3:"∅";s:5:"nabla";s:3:"∇";s:4:"isin";s:3:"∈";s:5:"notin";s:3:"∉";s:2:"ni";s:3:"∋";s:4:"prod";s:3:"∏";s:3:"sum";s:3:"∑";s:5:"minus";s:3:"−";s:6:"lowast";s:3:"∗";s:5:"radic";s:3:"√";s:4:"prop";s:3:"∝";s:5:"infin";s:3:"∞";s:3:"ang";s:3:"∠";s:3:"and";s:3:"∧";s:2:"or";s:3:"∨";s:3:"cap";s:3:"∩";s:3:"cup";s:3:"∪";s:3:"int";s:3:"∫";s:6:"there4";s:3:"∴";s:3:"sim";s:3:"∼";s:4:"cong";s:3:"≅";s:5:"asymp";s:3:"≈";s:2:"ne";s:3:"≠";s:5:"equiv";s:3:"≡";s:2:"le";s:3:"≤";s:2:"ge";s:3:"≥";s:3:"sub";s:3:"⊂";s:3:"sup";s:3:"⊃";s:4:"nsub";s:3:"⊄";s:4:"sube";s:3:"⊆";s:4:"supe";s:3:"⊇";s:5:"oplus";s:3:"⊕";s:6:"otimes";s:3:"⊗";s:4:"perp";s:3:"⊥";s:4:"sdot";s:3:"⋅";s:5:"lceil";s:3:"⌈";s:5:"rceil";s:3:"⌉";s:6:"lfloor";s:3:"⌊";s:6:"rfloor";s:3:"⌋";s:4:"lang";s:3:"〈";s:4:"rang";s:3:"〉";s:3:"loz";s:3:"◊";s:6:"spades";s:3:"♠";s:5:"clubs";s:3:"♣";s:6:"hearts";s:3:"♥";s:5:"diams";s:3:"♦";s:4:"quot";s:1:""";s:3:"amp";s:1:"&";s:2:"lt";s:1:"<";s:2:"gt";s:1:">";s:4:"apos";s:1:"'";s:5:"OElig";s:2:"Œ";s:5:"oelig";s:2:"œ";s:6:"Scaron";s:2:"Š";s:6:"scaron";s:2:"š";s:4:"Yuml";s:2:"Ÿ";s:4:"circ";s:2:"ˆ";s:5:"tilde";s:2:"˜";s:4:"ensp";s:3:" ";s:4:"emsp";s:3:" ";s:6:"thinsp";s:3:" ";s:4:"zwnj";s:3:"‌";s:3:"zwj";s:3:"‍";s:3:"lrm";s:3:"‎";s:3:"rlm";s:3:"‏";s:5:"ndash";s:3:"–";s:5:"mdash";s:3:"—";s:5:"lsquo";s:3:"‘";s:5:"rsquo";s:3:"’";s:5:"sbquo";s:3:"‚";s:5:"ldquo";s:3:"“";s:5:"rdquo";s:3:"”";s:5:"bdquo";s:3:"„";s:6:"dagger";s:3:"†";s:6:"Dagger";s:3:"‡";s:6:"permil";s:3:"‰";s:6:"lsaquo";s:3:"‹";s:6:"rsaquo";s:3:"›";s:4:"euro";s:3:"€";s:4:"nbsp";s:2:" ";s:5:"iexcl";s:2:"¡";s:4:"cent";s:2:"¢";s:5:"pound";s:2:"£";s:6:"curren";s:2:"¤";s:3:"yen";s:2:"¥";s:6:"brvbar";s:2:"¦";s:4:"sect";s:2:"§";s:3:"uml";s:2:"¨";s:4:"copy";s:2:"©";s:4:"ordf";s:2:"ª";s:5:"laquo";s:2:"«";s:3:"not";s:2:"¬";s:3:"shy";s:2:"­";s:3:"reg";s:2:"®";s:4:"macr";s:2:"¯";s:3:"deg";s:2:"°";s:6:"plusmn";s:2:"±";s:4:"sup2";s:2:"²";s:4:"sup3";s:2:"³";s:5:"acute";s:2:"´";s:5:"micro";s:2:"µ";s:4:"para";s:2:"¶";s:6:"middot";s:2:"·";s:5:"cedil";s:2:"¸";s:4:"sup1";s:2:"¹";s:4:"ordm";s:2:"º";s:5:"raquo";s:2:"»";s:6:"frac14";s:2:"¼";s:6:"frac12";s:2:"½";s:6:"frac34";s:2:"¾";s:6:"iquest";s:2:"¿";s:6:"Agrave";s:2:"À";s:6:"Aacute";s:2:"Á";s:5:"Acirc";s:2:"Â";s:6:"Atilde";s:2:"Ã";s:4:"Auml";s:2:"Ä";s:5:"Aring";s:2:"Å";s:5:"AElig";s:2:"Æ";s:6:"Ccedil";s:2:"Ç";s:6:"Egrave";s:2:"È";s:6:"Eacute";s:2:"É";s:5:"Ecirc";s:2:"Ê";s:4:"Euml";s:2:"Ë";s:6:"Igrave";s:2:"Ì";s:6:"Iacute";s:2:"Í";s:5:"Icirc";s:2:"Î";s:4:"Iuml";s:2:"Ï";s:3:"ETH";s:2:"Ð";s:6:"Ntilde";s:2:"Ñ";s:6:"Ograve";s:2:"Ò";s:6:"Oacute";s:2:"Ó";s:5:"Ocirc";s:2:"Ô";s:6:"Otilde";s:2:"Õ";s:4:"Ouml";s:2:"Ö";s:5:"times";s:2:"×";s:6:"Oslash";s:2:"Ø";s:6:"Ugrave";s:2:"Ù";s:6:"Uacute";s:2:"Ú";s:5:"Ucirc";s:2:"Û";s:4:"Uuml";s:2:"Ü";s:6:"Yacute";s:2:"Ý";s:5:"THORN";s:2:"Þ";s:5:"szlig";s:2:"ß";s:6:"agrave";s:2:"à";s:6:"aacute";s:2:"á";s:5:"acirc";s:2:"â";s:6:"atilde";s:2:"ã";s:4:"auml";s:2:"ä";s:5:"aring";s:2:"å";s:5:"aelig";s:2:"æ";s:6:"ccedil";s:2:"ç";s:6:"egrave";s:2:"è";s:6:"eacute";s:2:"é";s:5:"ecirc";s:2:"ê";s:4:"euml";s:2:"ë";s:6:"igrave";s:2:"ì";s:6:"iacute";s:2:"í";s:5:"icirc";s:2:"î";s:4:"iuml";s:2:"ï";s:3:"eth";s:2:"ð";s:6:"ntilde";s:2:"ñ";s:6:"ograve";s:2:"ò";s:6:"oacute";s:2:"ó";s:5:"ocirc";s:2:"ô";s:6:"otilde";s:2:"õ";s:4:"ouml";s:2:"ö";s:6:"divide";s:2:"÷";s:6:"oslash";s:2:"ø";s:6:"ugrave";s:2:"ù";s:6:"uacute";s:2:"ú";s:5:"ucirc";s:2:"û";s:4:"uuml";s:2:"ü";s:6:"yacute";s:2:"ý";s:5:"thorn";s:2:"þ";s:4:"yuml";s:2:"ÿ";} \ No newline at end of file diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php new file mode 100644 index 00000000..3ef2d09e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php @@ -0,0 +1,285 @@ +_semiOptionalPrefixRegex = "/&()()()($semi_optional)/"; + + $this->_textEntitiesRegex = + '/&(?:'. + // hex + '[#]x([a-fA-F0-9]+);?|'. + // dec + '[#]0*(\d+);?|'. + // string (mandatory semicolon) + // NB: order matters: match semicolon preferentially + '([A-Za-z_:][A-Za-z0-9.\-_:]*);|'. + // string (optional semicolon) + "($semi_optional)". + ')/'; + + $this->_attrEntitiesRegex = + '/&(?:'. + // hex + '[#]x([a-fA-F0-9]+);?|'. + // dec + '[#]0*(\d+);?|'. + // string (mandatory semicolon) + // NB: order matters: match semicolon preferentially + '([A-Za-z_:][A-Za-z0-9.\-_:]*);|'. + // string (optional semicolon) + // don't match if trailing is equals or alphanumeric (URL + // like) + "($semi_optional)(?![=;A-Za-z0-9])". + ')/'; + + } + + /** + * Substitute entities with the parsed equivalents. Use this on + * textual data in an HTML document (as opposed to attributes.) + * + * @param string $string String to have entities parsed. + * @return string Parsed string. + */ + public function substituteTextEntities($string) + { + return preg_replace_callback( + $this->_textEntitiesRegex, + array($this, 'entityCallback'), + $string + ); + } + + /** + * Substitute entities with the parsed equivalents. Use this on + * attribute contents in documents. + * + * @param string $string String to have entities parsed. + * @return string Parsed string. + */ + public function substituteAttrEntities($string) + { + return preg_replace_callback( + $this->_attrEntitiesRegex, + array($this, 'entityCallback'), + $string + ); + } + + /** + * Callback function for substituteNonSpecialEntities() that does the work. + * + * @param array $matches PCRE matches array, with 0 the entire match, and + * either index 1, 2 or 3 set with a hex value, dec value, + * or string (respectively). + * @return string Replacement string. + */ + + protected function entityCallback($matches) + { + $entity = $matches[0]; + $hex_part = @$matches[1]; + $dec_part = @$matches[2]; + $named_part = empty($matches[3]) ? (empty($matches[4]) ? "" : $matches[4]) : $matches[3]; + if ($hex_part !== NULL && $hex_part !== "") { + return HTMLPurifier_Encoder::unichr(hexdec($hex_part)); + } elseif ($dec_part !== NULL && $dec_part !== "") { + return HTMLPurifier_Encoder::unichr((int) $dec_part); + } else { + if (!$this->_entity_lookup) { + $this->_entity_lookup = HTMLPurifier_EntityLookup::instance(); + } + if (isset($this->_entity_lookup->table[$named_part])) { + return $this->_entity_lookup->table[$named_part]; + } else { + // exact match didn't match anything, so test if + // any of the semicolon optional match the prefix. + // Test that this is an EXACT match is important to + // prevent infinite loop + if (!empty($matches[3])) { + return preg_replace_callback( + $this->_semiOptionalPrefixRegex, + array($this, 'entityCallback'), + $entity + ); + } + return $entity; + } + } + } + + // LEGACY CODE BELOW + + /** + * Callback regex string for parsing entities. + * @type string + */ + protected $_substituteEntitiesRegex = + '/&(?:[#]x([a-fA-F0-9]+)|[#]0*(\d+)|([A-Za-z_:][A-Za-z0-9.\-_:]*));?/'; + // 1. hex 2. dec 3. string (XML style) + + /** + * Decimal to parsed string conversion table for special entities. + * @type array + */ + protected $_special_dec2str = + array( + 34 => '"', + 38 => '&', + 39 => "'", + 60 => '<', + 62 => '>' + ); + + /** + * Stripped entity names to decimal conversion table for special entities. + * @type array + */ + protected $_special_ent2dec = + array( + 'quot' => 34, + 'amp' => 38, + 'lt' => 60, + 'gt' => 62 + ); + + /** + * Substitutes non-special entities with their parsed equivalents. Since + * running this whenever you have parsed character is t3h 5uck, we run + * it before everything else. + * + * @param string $string String to have non-special entities parsed. + * @return string Parsed string. + */ + public function substituteNonSpecialEntities($string) + { + // it will try to detect missing semicolons, but don't rely on it + return preg_replace_callback( + $this->_substituteEntitiesRegex, + array($this, 'nonSpecialEntityCallback'), + $string + ); + } + + /** + * Callback function for substituteNonSpecialEntities() that does the work. + * + * @param array $matches PCRE matches array, with 0 the entire match, and + * either index 1, 2 or 3 set with a hex value, dec value, + * or string (respectively). + * @return string Replacement string. + */ + + protected function nonSpecialEntityCallback($matches) + { + // replaces all but big five + $entity = $matches[0]; + $is_num = (@$matches[0][1] === '#'); + if ($is_num) { + $is_hex = (@$entity[2] === 'x'); + $code = $is_hex ? hexdec($matches[1]) : (int) $matches[2]; + // abort for special characters + if (isset($this->_special_dec2str[$code])) { + return $entity; + } + return HTMLPurifier_Encoder::unichr($code); + } else { + if (isset($this->_special_ent2dec[$matches[3]])) { + return $entity; + } + if (!$this->_entity_lookup) { + $this->_entity_lookup = HTMLPurifier_EntityLookup::instance(); + } + if (isset($this->_entity_lookup->table[$matches[3]])) { + return $this->_entity_lookup->table[$matches[3]]; + } else { + return $entity; + } + } + } + + /** + * Substitutes only special entities with their parsed equivalents. + * + * @notice We try to avoid calling this function because otherwise, it + * would have to be called a lot (for every parsed section). + * + * @param string $string String to have non-special entities parsed. + * @return string Parsed string. + */ + public function substituteSpecialEntities($string) + { + return preg_replace_callback( + $this->_substituteEntitiesRegex, + array($this, 'specialEntityCallback'), + $string + ); + } + + /** + * Callback function for substituteSpecialEntities() that does the work. + * + * This callback has same syntax as nonSpecialEntityCallback(). + * + * @param array $matches PCRE-style matches array, with 0 the entire match, and + * either index 1, 2 or 3 set with a hex value, dec value, + * or string (respectively). + * @return string Replacement string. + */ + protected function specialEntityCallback($matches) + { + $entity = $matches[0]; + $is_num = (@$matches[0][1] === '#'); + if ($is_num) { + $is_hex = (@$entity[2] === 'x'); + $int = $is_hex ? hexdec($matches[1]) : (int) $matches[2]; + return isset($this->_special_dec2str[$int]) ? + $this->_special_dec2str[$int] : + $entity; + } else { + return isset($this->_special_ent2dec[$matches[3]]) ? + $this->_special_dec2str[$this->_special_ent2dec[$matches[3]]] : + $entity; + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php new file mode 100644 index 00000000..d47e3f2e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php @@ -0,0 +1,244 @@ +locale =& $context->get('Locale'); + $this->context = $context; + $this->_current =& $this->_stacks[0]; + $this->errors =& $this->_stacks[0]; + } + + /** + * Sends an error message to the collector for later use + * @param int $severity Error severity, PHP error style (don't use E_USER_) + * @param string $msg Error message text + */ + public function send($severity, $msg) + { + $args = array(); + if (func_num_args() > 2) { + $args = func_get_args(); + array_shift($args); + unset($args[0]); + } + + $token = $this->context->get('CurrentToken', true); + $line = $token ? $token->line : $this->context->get('CurrentLine', true); + $col = $token ? $token->col : $this->context->get('CurrentCol', true); + $attr = $this->context->get('CurrentAttr', true); + + // perform special substitutions, also add custom parameters + $subst = array(); + if (!is_null($token)) { + $args['CurrentToken'] = $token; + } + if (!is_null($attr)) { + $subst['$CurrentAttr.Name'] = $attr; + if (isset($token->attr[$attr])) { + $subst['$CurrentAttr.Value'] = $token->attr[$attr]; + } + } + + if (empty($args)) { + $msg = $this->locale->getMessage($msg); + } else { + $msg = $this->locale->formatMessage($msg, $args); + } + + if (!empty($subst)) { + $msg = strtr($msg, $subst); + } + + // (numerically indexed) + $error = array( + self::LINENO => $line, + self::SEVERITY => $severity, + self::MESSAGE => $msg, + self::CHILDREN => array() + ); + $this->_current[] = $error; + + // NEW CODE BELOW ... + // Top-level errors are either: + // TOKEN type, if $value is set appropriately, or + // "syntax" type, if $value is null + $new_struct = new HTMLPurifier_ErrorStruct(); + $new_struct->type = HTMLPurifier_ErrorStruct::TOKEN; + if ($token) { + $new_struct->value = clone $token; + } + if (is_int($line) && is_int($col)) { + if (isset($this->lines[$line][$col])) { + $struct = $this->lines[$line][$col]; + } else { + $struct = $this->lines[$line][$col] = $new_struct; + } + // These ksorts may present a performance problem + ksort($this->lines[$line], SORT_NUMERIC); + } else { + if (isset($this->lines[-1])) { + $struct = $this->lines[-1]; + } else { + $struct = $this->lines[-1] = $new_struct; + } + } + ksort($this->lines, SORT_NUMERIC); + + // Now, check if we need to operate on a lower structure + if (!empty($attr)) { + $struct = $struct->getChild(HTMLPurifier_ErrorStruct::ATTR, $attr); + if (!$struct->value) { + $struct->value = array($attr, 'PUT VALUE HERE'); + } + } + if (!empty($cssprop)) { + $struct = $struct->getChild(HTMLPurifier_ErrorStruct::CSSPROP, $cssprop); + if (!$struct->value) { + // if we tokenize CSS this might be a little more difficult to do + $struct->value = array($cssprop, 'PUT VALUE HERE'); + } + } + + // Ok, structs are all setup, now time to register the error + $struct->addError($severity, $msg); + } + + /** + * Retrieves raw error data for custom formatter to use + */ + public function getRaw() + { + return $this->errors; + } + + /** + * Default HTML formatting implementation for error messages + * @param HTMLPurifier_Config $config Configuration, vital for HTML output nature + * @param array $errors Errors array to display; used for recursion. + * @return string + */ + public function getHTMLFormatted($config, $errors = null) + { + $ret = array(); + + $this->generator = new HTMLPurifier_Generator($config, $this->context); + if ($errors === null) { + $errors = $this->errors; + } + + // 'At line' message needs to be removed + + // generation code for new structure goes here. It needs to be recursive. + foreach ($this->lines as $line => $col_array) { + if ($line == -1) { + continue; + } + foreach ($col_array as $col => $struct) { + $this->_renderStruct($ret, $struct, $line, $col); + } + } + if (isset($this->lines[-1])) { + $this->_renderStruct($ret, $this->lines[-1]); + } + + if (empty($errors)) { + return '

' . $this->locale->getMessage('ErrorCollector: No errors') . '

'; + } else { + return '
  • ' . implode('
  • ', $ret) . '
'; + } + + } + + private function _renderStruct(&$ret, $struct, $line = null, $col = null) + { + $stack = array($struct); + $context_stack = array(array()); + while ($current = array_pop($stack)) { + $context = array_pop($context_stack); + foreach ($current->errors as $error) { + list($severity, $msg) = $error; + $string = ''; + $string .= '
'; + // W3C uses an icon to indicate the severity of the error. + $error = $this->locale->getErrorName($severity); + $string .= "$error "; + if (!is_null($line) && !is_null($col)) { + $string .= "Line $line, Column $col: "; + } else { + $string .= 'End of Document: '; + } + $string .= '' . $this->generator->escape($msg) . ' '; + $string .= '
'; + // Here, have a marker for the character on the column appropriate. + // Be sure to clip extremely long lines. + //$string .= '
';
+                //$string .= '';
+                //$string .= '
'; + $ret[] = $string; + } + foreach ($current->children as $array) { + $context[] = $current; + $stack = array_merge($stack, array_reverse($array, true)); + for ($i = count($array); $i > 0; $i--) { + $context_stack[] = $context; + } + } + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php new file mode 100644 index 00000000..cf869d32 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php @@ -0,0 +1,74 @@ +children[$type][$id])) { + $this->children[$type][$id] = new HTMLPurifier_ErrorStruct(); + $this->children[$type][$id]->type = $type; + } + return $this->children[$type][$id]; + } + + /** + * @param int $severity + * @param string $message + */ + public function addError($severity, $message) + { + $this->errors[] = array($severity, $message); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php new file mode 100644 index 00000000..be85b4c5 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php @@ -0,0 +1,12 @@ +preFilter, + * 2->preFilter, 3->preFilter, purify, 3->postFilter, 2->postFilter, + * 1->postFilter. + * + * @note Methods are not declared abstract as it is perfectly legitimate + * for an implementation not to want anything to happen on a step + */ + +class HTMLPurifier_Filter +{ + + /** + * Name of the filter for identification purposes. + * @type string + */ + public $name; + + /** + * Pre-processor function, handles HTML before HTML Purifier + * @param string $html + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return string + */ + public function preFilter($html, $config, $context) + { + return $html; + } + + /** + * Post-processor function, handles HTML after HTML Purifier + * @param string $html + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return string + */ + public function postFilter($html, $config, $context) + { + return $html; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php new file mode 100644 index 00000000..6f8e7790 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php @@ -0,0 +1,345 @@ + blocks from input HTML, cleans them up + * using CSSTidy, and then places them in $purifier->context->get('StyleBlocks') + * so they can be used elsewhere in the document. + * + * @note + * See tests/HTMLPurifier/Filter/ExtractStyleBlocksTest.php for + * sample usage. + * + * @note + * This filter can also be used on stylesheets not included in the + * document--something purists would probably prefer. Just directly + * call HTMLPurifier_Filter_ExtractStyleBlocks->cleanCSS() + */ +class HTMLPurifier_Filter_ExtractStyleBlocks extends HTMLPurifier_Filter +{ + /** + * @type string + */ + public $name = 'ExtractStyleBlocks'; + + /** + * @type array + */ + private $_styleMatches = array(); + + /** + * @type csstidy + */ + private $_tidy; + + /** + * @type HTMLPurifier_AttrDef_HTML_ID + */ + private $_id_attrdef; + + /** + * @type HTMLPurifier_AttrDef_CSS_Ident + */ + private $_class_attrdef; + + /** + * @type HTMLPurifier_AttrDef_Enum + */ + private $_enum_attrdef; + + public function __construct() + { + $this->_tidy = new csstidy(); + $this->_tidy->set_cfg('lowercase_s', false); + $this->_id_attrdef = new HTMLPurifier_AttrDef_HTML_ID(true); + $this->_class_attrdef = new HTMLPurifier_AttrDef_CSS_Ident(); + $this->_enum_attrdef = new HTMLPurifier_AttrDef_Enum( + array( + 'first-child', + 'link', + 'visited', + 'active', + 'hover', + 'focus' + ) + ); + } + + /** + * Save the contents of CSS blocks to style matches + * @param array $matches preg_replace style $matches array + */ + protected function styleCallback($matches) + { + $this->_styleMatches[] = $matches[1]; + } + + /** + * Removes inline + // we must not grab foo in a font-family prop). + if ($config->get('Filter.ExtractStyleBlocks.Escaping')) { + $css = str_replace( + array('<', '>', '&'), + array('\3C ', '\3E ', '\26 '), + $css + ); + } + return $css; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php new file mode 100644 index 00000000..276d8362 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php @@ -0,0 +1,65 @@ +]+>.+?' . + '(?:http:)?//www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?#s'; + $pre_replace = '\1'; + return preg_replace($pre_regex, $pre_replace, $html); + } + + /** + * @param string $html + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return string + */ + public function postFilter($html, $config, $context) + { + $post_regex = '#((?:v|cp)/[A-Za-z0-9\-_=]+)#'; + return preg_replace_callback($post_regex, array($this, 'postFilterCallback'), $html); + } + + /** + * @param $url + * @return string + */ + protected function armorUrl($url) + { + return str_replace('--', '--', $url); + } + + /** + * @param array $matches + * @return string + */ + protected function postFilterCallback($matches) + { + $url = $this->armorUrl($matches[1]); + return '' . + '' . + '' . + ''; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php new file mode 100644 index 00000000..eb56e2df --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php @@ -0,0 +1,286 @@ + tags. + * @type bool + */ + private $_scriptFix = false; + + /** + * Cache of HTMLDefinition during HTML output to determine whether or + * not attributes should be minimized. + * @type HTMLPurifier_HTMLDefinition + */ + private $_def; + + /** + * Cache of %Output.SortAttr. + * @type bool + */ + private $_sortAttr; + + /** + * Cache of %Output.FlashCompat. + * @type bool + */ + private $_flashCompat; + + /** + * Cache of %Output.FixInnerHTML. + * @type bool + */ + private $_innerHTMLFix; + + /** + * Stack for keeping track of object information when outputting IE + * compatibility code. + * @type array + */ + private $_flashStack = array(); + + /** + * Configuration for the generator + * @type HTMLPurifier_Config + */ + protected $config; + + /** + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + */ + public function __construct($config, $context) + { + $this->config = $config; + $this->_scriptFix = $config->get('Output.CommentScriptContents'); + $this->_innerHTMLFix = $config->get('Output.FixInnerHTML'); + $this->_sortAttr = $config->get('Output.SortAttr'); + $this->_flashCompat = $config->get('Output.FlashCompat'); + $this->_def = $config->getHTMLDefinition(); + $this->_xhtml = $this->_def->doctype->xml; + } + + /** + * Generates HTML from an array of tokens. + * @param HTMLPurifier_Token[] $tokens Array of HTMLPurifier_Token + * @return string Generated HTML + */ + public function generateFromTokens($tokens) + { + if (!$tokens) { + return ''; + } + + // Basic algorithm + $html = ''; + for ($i = 0, $size = count($tokens); $i < $size; $i++) { + if ($this->_scriptFix && $tokens[$i]->name === 'script' + && $i + 2 < $size && $tokens[$i+2] instanceof HTMLPurifier_Token_End) { + // script special case + // the contents of the script block must be ONE token + // for this to work. + $html .= $this->generateFromToken($tokens[$i++]); + $html .= $this->generateScriptFromToken($tokens[$i++]); + } + $html .= $this->generateFromToken($tokens[$i]); + } + + // Tidy cleanup + if (extension_loaded('tidy') && $this->config->get('Output.TidyFormat')) { + $tidy = new Tidy; + $tidy->parseString( + $html, + array( + 'indent'=> true, + 'output-xhtml' => $this->_xhtml, + 'show-body-only' => true, + 'indent-spaces' => 2, + 'wrap' => 68, + ), + 'utf8' + ); + $tidy->cleanRepair(); + $html = (string) $tidy; // explicit cast necessary + } + + // Normalize newlines to system defined value + if ($this->config->get('Core.NormalizeNewlines')) { + $nl = $this->config->get('Output.Newline'); + if ($nl === null) { + $nl = PHP_EOL; + } + if ($nl !== "\n") { + $html = str_replace("\n", $nl, $html); + } + } + return $html; + } + + /** + * Generates HTML from a single token. + * @param HTMLPurifier_Token $token HTMLPurifier_Token object. + * @return string Generated HTML + */ + public function generateFromToken($token) + { + if (!$token instanceof HTMLPurifier_Token) { + trigger_error('Cannot generate HTML from non-HTMLPurifier_Token object', E_USER_WARNING); + return ''; + + } elseif ($token instanceof HTMLPurifier_Token_Start) { + $attr = $this->generateAttributes($token->attr, $token->name); + if ($this->_flashCompat) { + if ($token->name == "object") { + $flash = new stdClass(); + $flash->attr = $token->attr; + $flash->param = array(); + $this->_flashStack[] = $flash; + } + } + return '<' . $token->name . ($attr ? ' ' : '') . $attr . '>'; + + } elseif ($token instanceof HTMLPurifier_Token_End) { + $_extra = ''; + if ($this->_flashCompat) { + if ($token->name == "object" && !empty($this->_flashStack)) { + // doesn't do anything for now + } + } + return $_extra . 'name . '>'; + + } elseif ($token instanceof HTMLPurifier_Token_Empty) { + if ($this->_flashCompat && $token->name == "param" && !empty($this->_flashStack)) { + $this->_flashStack[count($this->_flashStack)-1]->param[$token->attr['name']] = $token->attr['value']; + } + $attr = $this->generateAttributes($token->attr, $token->name); + return '<' . $token->name . ($attr ? ' ' : '') . $attr . + ( $this->_xhtml ? ' /': '' ) //
v.
+ . '>'; + + } elseif ($token instanceof HTMLPurifier_Token_Text) { + return $this->escape($token->data, ENT_NOQUOTES); + + } elseif ($token instanceof HTMLPurifier_Token_Comment) { + return ''; + } else { + return ''; + + } + } + + /** + * Special case processor for the contents of script tags + * @param HTMLPurifier_Token $token HTMLPurifier_Token object. + * @return string + * @warning This runs into problems if there's already a literal + * --> somewhere inside the script contents. + */ + public function generateScriptFromToken($token) + { + if (!$token instanceof HTMLPurifier_Token_Text) { + return $this->generateFromToken($token); + } + // Thanks + $data = preg_replace('#//\s*$#', '', $token->data); + return ''; + } + + /** + * Generates attribute declarations from attribute array. + * @note This does not include the leading or trailing space. + * @param array $assoc_array_of_attributes Attribute array + * @param string $element Name of element attributes are for, used to check + * attribute minimization. + * @return string Generated HTML fragment for insertion. + */ + public function generateAttributes($assoc_array_of_attributes, $element = '') + { + $html = ''; + if ($this->_sortAttr) { + ksort($assoc_array_of_attributes); + } + foreach ($assoc_array_of_attributes as $key => $value) { + if (!$this->_xhtml) { + // Remove namespaced attributes + if (strpos($key, ':') !== false) { + continue; + } + // Check if we should minimize the attribute: val="val" -> val + if ($element && !empty($this->_def->info[$element]->attr[$key]->minimized)) { + $html .= $key . ' '; + continue; + } + } + // Workaround for Internet Explorer innerHTML bug. + // Essentially, Internet Explorer, when calculating + // innerHTML, omits quotes if there are no instances of + // angled brackets, quotes or spaces. However, when parsing + // HTML (for example, when you assign to innerHTML), it + // treats backticks as quotes. Thus, + // `` + // becomes + // `` + // becomes + // + // Fortunately, all we need to do is trigger an appropriate + // quoting style, which we do by adding an extra space. + // This also is consistent with the W3C spec, which states + // that user agents may ignore leading or trailing + // whitespace (in fact, most don't, at least for attributes + // like alt, but an extra space at the end is barely + // noticeable). Still, we have a configuration knob for + // this, since this transformation is not necesary if you + // don't process user input with innerHTML or you don't plan + // on supporting Internet Explorer. + if ($this->_innerHTMLFix) { + if (strpos($value, '`') !== false) { + // check if correct quoting style would not already be + // triggered + if (strcspn($value, '"\' <>') === strlen($value)) { + // protect! + $value .= ' '; + } + } + } + $html .= $key.'="'.$this->escape($value).'" '; + } + return rtrim($html); + } + + /** + * Escapes raw text data. + * @todo This really ought to be protected, but until we have a facility + * for properly generating HTML here w/o using tokens, it stays + * public. + * @param string $string String data to escape for HTML. + * @param int $quote Quoting style, like htmlspecialchars. ENT_NOQUOTES is + * permissible for non-attribute output. + * @return string escaped data. + */ + public function escape($string, $quote = null) + { + // Workaround for APC bug on Mac Leopard reported by sidepodcast + // http://htmlpurifier.org/phorum/read.php?3,4823,4846 + if ($quote === null) { + $quote = ENT_COMPAT; + } + return htmlspecialchars($string, $quote, 'UTF-8'); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php new file mode 100644 index 00000000..9b7b334d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php @@ -0,0 +1,493 @@ +getAnonymousModule(); + if (!isset($module->info[$element_name])) { + $element = $module->addBlankElement($element_name); + } else { + $element = $module->info[$element_name]; + } + $element->attr[$attr_name] = $def; + } + + /** + * Adds a custom element to your HTML definition + * @see HTMLPurifier_HTMLModule::addElement() for detailed + * parameter and return value descriptions. + */ + public function addElement($element_name, $type, $contents, $attr_collections, $attributes = array()) + { + $module = $this->getAnonymousModule(); + // assume that if the user is calling this, the element + // is safe. This may not be a good idea + $element = $module->addElement($element_name, $type, $contents, $attr_collections, $attributes); + return $element; + } + + /** + * Adds a blank element to your HTML definition, for overriding + * existing behavior + * @param string $element_name + * @return HTMLPurifier_ElementDef + * @see HTMLPurifier_HTMLModule::addBlankElement() for detailed + * parameter and return value descriptions. + */ + public function addBlankElement($element_name) + { + $module = $this->getAnonymousModule(); + $element = $module->addBlankElement($element_name); + return $element; + } + + /** + * Retrieves a reference to the anonymous module, so you can + * bust out advanced features without having to make your own + * module. + * @return HTMLPurifier_HTMLModule + */ + public function getAnonymousModule() + { + if (!$this->_anonModule) { + $this->_anonModule = new HTMLPurifier_HTMLModule(); + $this->_anonModule->name = 'Anonymous'; + } + return $this->_anonModule; + } + + private $_anonModule = null; + + // PUBLIC BUT INTERNAL VARIABLES -------------------------------------- + + /** + * @type string + */ + public $type = 'HTML'; + + /** + * @type HTMLPurifier_HTMLModuleManager + */ + public $manager; + + /** + * Performs low-cost, preliminary initialization. + */ + public function __construct() + { + $this->manager = new HTMLPurifier_HTMLModuleManager(); + } + + /** + * @param HTMLPurifier_Config $config + */ + protected function doSetup($config) + { + $this->processModules($config); + $this->setupConfigStuff($config); + unset($this->manager); + + // cleanup some of the element definitions + foreach ($this->info as $k => $v) { + unset($this->info[$k]->content_model); + unset($this->info[$k]->content_model_type); + } + } + + /** + * Extract out the information from the manager + * @param HTMLPurifier_Config $config + */ + protected function processModules($config) + { + if ($this->_anonModule) { + // for user specific changes + // this is late-loaded so we don't have to deal with PHP4 + // reference wonky-ness + $this->manager->addModule($this->_anonModule); + unset($this->_anonModule); + } + + $this->manager->setup($config); + $this->doctype = $this->manager->doctype; + + foreach ($this->manager->modules as $module) { + foreach ($module->info_tag_transform as $k => $v) { + if ($v === false) { + unset($this->info_tag_transform[$k]); + } else { + $this->info_tag_transform[$k] = $v; + } + } + foreach ($module->info_attr_transform_pre as $k => $v) { + if ($v === false) { + unset($this->info_attr_transform_pre[$k]); + } else { + $this->info_attr_transform_pre[$k] = $v; + } + } + foreach ($module->info_attr_transform_post as $k => $v) { + if ($v === false) { + unset($this->info_attr_transform_post[$k]); + } else { + $this->info_attr_transform_post[$k] = $v; + } + } + foreach ($module->info_injector as $k => $v) { + if ($v === false) { + unset($this->info_injector[$k]); + } else { + $this->info_injector[$k] = $v; + } + } + } + $this->info = $this->manager->getElements(); + $this->info_content_sets = $this->manager->contentSets->lookup; + } + + /** + * Sets up stuff based on config. We need a better way of doing this. + * @param HTMLPurifier_Config $config + */ + protected function setupConfigStuff($config) + { + $block_wrapper = $config->get('HTML.BlockWrapper'); + if (isset($this->info_content_sets['Block'][$block_wrapper])) { + $this->info_block_wrapper = $block_wrapper; + } else { + trigger_error( + 'Cannot use non-block element as block wrapper', + E_USER_ERROR + ); + } + + $parent = $config->get('HTML.Parent'); + $def = $this->manager->getElement($parent, true); + if ($def) { + $this->info_parent = $parent; + $this->info_parent_def = $def; + } else { + trigger_error( + 'Cannot use unrecognized element as parent', + E_USER_ERROR + ); + $this->info_parent_def = $this->manager->getElement($this->info_parent, true); + } + + // support template text + $support = "(for information on implementing this, see the support forums) "; + + // setup allowed elements ----------------------------------------- + + $allowed_elements = $config->get('HTML.AllowedElements'); + $allowed_attributes = $config->get('HTML.AllowedAttributes'); // retrieve early + + if (!is_array($allowed_elements) && !is_array($allowed_attributes)) { + $allowed = $config->get('HTML.Allowed'); + if (is_string($allowed)) { + list($allowed_elements, $allowed_attributes) = $this->parseTinyMCEAllowedList($allowed); + } + } + + if (is_array($allowed_elements)) { + foreach ($this->info as $name => $d) { + if (!isset($allowed_elements[$name])) { + unset($this->info[$name]); + } + unset($allowed_elements[$name]); + } + // emit errors + foreach ($allowed_elements as $element => $d) { + $element = htmlspecialchars($element); // PHP doesn't escape errors, be careful! + trigger_error("Element '$element' is not supported $support", E_USER_WARNING); + } + } + + // setup allowed attributes --------------------------------------- + + $allowed_attributes_mutable = $allowed_attributes; // by copy! + if (is_array($allowed_attributes)) { + // This actually doesn't do anything, since we went away from + // global attributes. It's possible that userland code uses + // it, but HTMLModuleManager doesn't! + foreach ($this->info_global_attr as $attr => $x) { + $keys = array($attr, "*@$attr", "*.$attr"); + $delete = true; + foreach ($keys as $key) { + if ($delete && isset($allowed_attributes[$key])) { + $delete = false; + } + if (isset($allowed_attributes_mutable[$key])) { + unset($allowed_attributes_mutable[$key]); + } + } + if ($delete) { + unset($this->info_global_attr[$attr]); + } + } + + foreach ($this->info as $tag => $info) { + foreach ($info->attr as $attr => $x) { + $keys = array("$tag@$attr", $attr, "*@$attr", "$tag.$attr", "*.$attr"); + $delete = true; + foreach ($keys as $key) { + if ($delete && isset($allowed_attributes[$key])) { + $delete = false; + } + if (isset($allowed_attributes_mutable[$key])) { + unset($allowed_attributes_mutable[$key]); + } + } + if ($delete) { + if ($this->info[$tag]->attr[$attr]->required) { + trigger_error( + "Required attribute '$attr' in element '$tag' " . + "was not allowed, which means '$tag' will not be allowed either", + E_USER_WARNING + ); + } + unset($this->info[$tag]->attr[$attr]); + } + } + } + // emit errors + foreach ($allowed_attributes_mutable as $elattr => $d) { + $bits = preg_split('/[.@]/', $elattr, 2); + $c = count($bits); + switch ($c) { + case 2: + if ($bits[0] !== '*') { + $element = htmlspecialchars($bits[0]); + $attribute = htmlspecialchars($bits[1]); + if (!isset($this->info[$element])) { + trigger_error( + "Cannot allow attribute '$attribute' if element " . + "'$element' is not allowed/supported $support" + ); + } else { + trigger_error( + "Attribute '$attribute' in element '$element' not supported $support", + E_USER_WARNING + ); + } + break; + } + // otherwise fall through + case 1: + $attribute = htmlspecialchars($bits[0]); + trigger_error( + "Global attribute '$attribute' is not ". + "supported in any elements $support", + E_USER_WARNING + ); + break; + } + } + } + + // setup forbidden elements --------------------------------------- + + $forbidden_elements = $config->get('HTML.ForbiddenElements'); + $forbidden_attributes = $config->get('HTML.ForbiddenAttributes'); + + foreach ($this->info as $tag => $info) { + if (isset($forbidden_elements[$tag])) { + unset($this->info[$tag]); + continue; + } + foreach ($info->attr as $attr => $x) { + if (isset($forbidden_attributes["$tag@$attr"]) || + isset($forbidden_attributes["*@$attr"]) || + isset($forbidden_attributes[$attr]) + ) { + unset($this->info[$tag]->attr[$attr]); + continue; + } elseif (isset($forbidden_attributes["$tag.$attr"])) { // this segment might get removed eventually + // $tag.$attr are not user supplied, so no worries! + trigger_error( + "Error with $tag.$attr: tag.attr syntax not supported for " . + "HTML.ForbiddenAttributes; use tag@attr instead", + E_USER_WARNING + ); + } + } + } + foreach ($forbidden_attributes as $key => $v) { + if (strlen($key) < 2) { + continue; + } + if ($key[0] != '*') { + continue; + } + if ($key[1] == '.') { + trigger_error( + "Error with $key: *.attr syntax not supported for HTML.ForbiddenAttributes; use attr instead", + E_USER_WARNING + ); + } + } + + // setup injectors ----------------------------------------------------- + foreach ($this->info_injector as $i => $injector) { + if ($injector->checkNeeded($config) !== false) { + // remove injector that does not have it's required + // elements/attributes present, and is thus not needed. + unset($this->info_injector[$i]); + } + } + } + + /** + * Parses a TinyMCE-flavored Allowed Elements and Attributes list into + * separate lists for processing. Format is element[attr1|attr2],element2... + * @warning Although it's largely drawn from TinyMCE's implementation, + * it is different, and you'll probably have to modify your lists + * @param array $list String list to parse + * @return array + * @todo Give this its own class, probably static interface + */ + public function parseTinyMCEAllowedList($list) + { + $list = str_replace(array(' ', "\t"), '', $list); + + $elements = array(); + $attributes = array(); + + $chunks = preg_split('/(,|[\n\r]+)/', $list); + foreach ($chunks as $chunk) { + if (empty($chunk)) { + continue; + } + // remove TinyMCE element control characters + if (!strpos($chunk, '[')) { + $element = $chunk; + $attr = false; + } else { + list($element, $attr) = explode('[', $chunk); + } + if ($element !== '*') { + $elements[$element] = true; + } + if (!$attr) { + continue; + } + $attr = substr($attr, 0, strlen($attr) - 1); // remove trailing ] + $attr = explode('|', $attr); + foreach ($attr as $key) { + $attributes["$element.$key"] = true; + } + } + return array($elements, $attributes); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php new file mode 100644 index 00000000..9dbb9872 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php @@ -0,0 +1,285 @@ +info, since the object's data is only info, + * with extra behavior associated with it. + * @type array + */ + public $attr_collections = array(); + + /** + * Associative array of deprecated tag name to HTMLPurifier_TagTransform. + * @type array + */ + public $info_tag_transform = array(); + + /** + * List of HTMLPurifier_AttrTransform to be performed before validation. + * @type array + */ + public $info_attr_transform_pre = array(); + + /** + * List of HTMLPurifier_AttrTransform to be performed after validation. + * @type array + */ + public $info_attr_transform_post = array(); + + /** + * List of HTMLPurifier_Injector to be performed during well-formedness fixing. + * An injector will only be invoked if all of it's pre-requisites are met; + * if an injector fails setup, there will be no error; it will simply be + * silently disabled. + * @type array + */ + public $info_injector = array(); + + /** + * Boolean flag that indicates whether or not getChildDef is implemented. + * For optimization reasons: may save a call to a function. Be sure + * to set it if you do implement getChildDef(), otherwise it will have + * no effect! + * @type bool + */ + public $defines_child_def = false; + + /** + * Boolean flag whether or not this module is safe. If it is not safe, all + * of its members are unsafe. Modules are safe by default (this might be + * slightly dangerous, but it doesn't make much sense to force HTML Purifier, + * which is based off of safe HTML, to explicitly say, "This is safe," even + * though there are modules which are "unsafe") + * + * @type bool + * @note Previously, safety could be applied at an element level granularity. + * We've removed this ability, so in order to add "unsafe" elements + * or attributes, a dedicated module with this property set to false + * must be used. + */ + public $safe = true; + + /** + * Retrieves a proper HTMLPurifier_ChildDef subclass based on + * content_model and content_model_type member variables of + * the HTMLPurifier_ElementDef class. There is a similar function + * in HTMLPurifier_HTMLDefinition. + * @param HTMLPurifier_ElementDef $def + * @return HTMLPurifier_ChildDef subclass + */ + public function getChildDef($def) + { + return false; + } + + // -- Convenience ----------------------------------------------------- + + /** + * Convenience function that sets up a new element + * @param string $element Name of element to add + * @param string|bool $type What content set should element be registered to? + * Set as false to skip this step. + * @param string|HTMLPurifier_ChildDef $contents Allowed children in form of: + * "$content_model_type: $content_model" + * @param array|string $attr_includes What attribute collections to register to + * element? + * @param array $attr What unique attributes does the element define? + * @see HTMLPurifier_ElementDef:: for in-depth descriptions of these parameters. + * @return HTMLPurifier_ElementDef Created element definition object, so you + * can set advanced parameters + */ + public function addElement($element, $type, $contents, $attr_includes = array(), $attr = array()) + { + $this->elements[] = $element; + // parse content_model + list($content_model_type, $content_model) = $this->parseContents($contents); + // merge in attribute inclusions + $this->mergeInAttrIncludes($attr, $attr_includes); + // add element to content sets + if ($type) { + $this->addElementToContentSet($element, $type); + } + // create element + $this->info[$element] = HTMLPurifier_ElementDef::create( + $content_model, + $content_model_type, + $attr + ); + // literal object $contents means direct child manipulation + if (!is_string($contents)) { + $this->info[$element]->child = $contents; + } + return $this->info[$element]; + } + + /** + * Convenience function that creates a totally blank, non-standalone + * element. + * @param string $element Name of element to create + * @return HTMLPurifier_ElementDef Created element + */ + public function addBlankElement($element) + { + if (!isset($this->info[$element])) { + $this->elements[] = $element; + $this->info[$element] = new HTMLPurifier_ElementDef(); + $this->info[$element]->standalone = false; + } else { + trigger_error("Definition for $element already exists in module, cannot redefine"); + } + return $this->info[$element]; + } + + /** + * Convenience function that registers an element to a content set + * @param string $element Element to register + * @param string $type Name content set (warning: case sensitive, usually upper-case + * first letter) + */ + public function addElementToContentSet($element, $type) + { + if (!isset($this->content_sets[$type])) { + $this->content_sets[$type] = ''; + } else { + $this->content_sets[$type] .= ' | '; + } + $this->content_sets[$type] .= $element; + } + + /** + * Convenience function that transforms single-string contents + * into separate content model and content model type + * @param string $contents Allowed children in form of: + * "$content_model_type: $content_model" + * @return array + * @note If contents is an object, an array of two nulls will be + * returned, and the callee needs to take the original $contents + * and use it directly. + */ + public function parseContents($contents) + { + if (!is_string($contents)) { + return array(null, null); + } // defer + switch ($contents) { + // check for shorthand content model forms + case 'Empty': + return array('empty', ''); + case 'Inline': + return array('optional', 'Inline | #PCDATA'); + case 'Flow': + return array('optional', 'Flow | #PCDATA'); + } + list($content_model_type, $content_model) = explode(':', $contents); + $content_model_type = strtolower(trim($content_model_type)); + $content_model = trim($content_model); + return array($content_model_type, $content_model); + } + + /** + * Convenience function that merges a list of attribute includes into + * an attribute array. + * @param array $attr Reference to attr array to modify + * @param array $attr_includes Array of includes / string include to merge in + */ + public function mergeInAttrIncludes(&$attr, $attr_includes) + { + if (!is_array($attr_includes)) { + if (empty($attr_includes)) { + $attr_includes = array(); + } else { + $attr_includes = array($attr_includes); + } + } + $attr[0] = $attr_includes; + } + + /** + * Convenience function that generates a lookup table with boolean + * true as value. + * @param string $list List of values to turn into a lookup + * @note You can also pass an arbitrary number of arguments in + * place of the regular argument + * @return array array equivalent of list + */ + public function makeLookup($list) + { + $args = func_get_args(); + if (is_string($list)) { + $list = $args; + } + $ret = array(); + foreach ($list as $value) { + if (is_null($value)) { + continue; + } + $ret[$value] = true; + } + return $ret; + } + + /** + * Lazy load construction of the module after determining whether + * or not it's needed, and also when a finalized configuration object + * is available. + * @param HTMLPurifier_Config $config + */ + public function setup($config) + { + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php new file mode 100644 index 00000000..1e67c790 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php @@ -0,0 +1,44 @@ + array('dir' => false) + ); + + /** + * @param HTMLPurifier_Config $config + */ + public function setup($config) + { + $bdo = $this->addElement( + 'bdo', + 'Inline', + 'Inline', + array('Core', 'Lang'), + array( + 'dir' => 'Enum#ltr,rtl', // required + // The Abstract Module specification has the attribute + // inclusions wrong for bdo: bdo allows Lang + ) + ); + $bdo->attr_transform_post[] = new HTMLPurifier_AttrTransform_BdoDir(); + + $this->attr_collections['I18N']['dir'] = 'Enum#ltr,rtl'; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php new file mode 100644 index 00000000..7220c14c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php @@ -0,0 +1,32 @@ + array( + 0 => array('Style'), + // 'xml:space' => false, + 'class' => 'Class', + 'id' => 'ID', + 'title' => 'CDATA', + 'contenteditable' => 'ContentEditable', + ), + 'Lang' => array(), + 'I18N' => array( + 0 => array('Lang'), // proprietary, for xml:lang/lang + ), + 'Common' => array( + 0 => array('Core', 'I18N') + ) + ); +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php new file mode 100644 index 00000000..a9042a35 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php @@ -0,0 +1,55 @@ + 'URI', + // 'datetime' => 'Datetime', // not implemented + ); + $this->addElement('del', 'Inline', $contents, 'Common', $attr); + $this->addElement('ins', 'Inline', $contents, 'Common', $attr); + } + + // HTML 4.01 specifies that ins/del must not contain block + // elements when used in an inline context, chameleon is + // a complicated workaround to acheive this effect + + // Inline context ! Block context (exclamation mark is + // separator, see getChildDef for parsing) + + /** + * @type bool + */ + public $defines_child_def = true; + + /** + * @param HTMLPurifier_ElementDef $def + * @return HTMLPurifier_ChildDef_Chameleon + */ + public function getChildDef($def) + { + if ($def->content_model_type != 'chameleon') { + return false; + } + $value = explode('!', $def->content_model); + return new HTMLPurifier_ChildDef_Chameleon($value[0], $value[1]); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php new file mode 100644 index 00000000..eb0edcff --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php @@ -0,0 +1,194 @@ + 'Form', + 'Inline' => 'Formctrl', + ); + + /** + * @param HTMLPurifier_Config $config + */ + public function setup($config) + { + if ($config->get('HTML.Forms')) { + $this->safe = true; + } + + $form = $this->addElement( + 'form', + 'Form', + 'Required: Heading | List | Block | fieldset', + 'Common', + array( + 'accept' => 'ContentTypes', + 'accept-charset' => 'Charsets', + 'action*' => 'URI', + 'method' => 'Enum#get,post', + // really ContentType, but these two are the only ones used today + 'enctype' => 'Enum#application/x-www-form-urlencoded,multipart/form-data', + ) + ); + $form->excludes = array('form' => true); + + $input = $this->addElement( + 'input', + 'Formctrl', + 'Empty', + 'Common', + array( + 'accept' => 'ContentTypes', + 'accesskey' => 'Character', + 'alt' => 'Text', + 'checked' => 'Bool#checked', + 'disabled' => 'Bool#disabled', + 'maxlength' => 'Number', + 'name' => 'CDATA', + 'readonly' => 'Bool#readonly', + 'size' => 'Number', + 'src' => 'URI#embedded', + 'tabindex' => 'Number', + 'type' => 'Enum#text,password,checkbox,button,radio,submit,reset,file,hidden,image', + 'value' => 'CDATA', + ) + ); + $input->attr_transform_post[] = new HTMLPurifier_AttrTransform_Input(); + + $this->addElement( + 'select', + 'Formctrl', + 'Required: optgroup | option', + 'Common', + array( + 'disabled' => 'Bool#disabled', + 'multiple' => 'Bool#multiple', + 'name' => 'CDATA', + 'size' => 'Number', + 'tabindex' => 'Number', + ) + ); + + $this->addElement( + 'option', + false, + 'Optional: #PCDATA', + 'Common', + array( + 'disabled' => 'Bool#disabled', + 'label' => 'Text', + 'selected' => 'Bool#selected', + 'value' => 'CDATA', + ) + ); + // It's illegal for there to be more than one selected, but not + // be multiple. Also, no selected means undefined behavior. This might + // be difficult to implement; perhaps an injector, or a context variable. + + $textarea = $this->addElement( + 'textarea', + 'Formctrl', + 'Optional: #PCDATA', + 'Common', + array( + 'accesskey' => 'Character', + 'cols*' => 'Number', + 'disabled' => 'Bool#disabled', + 'name' => 'CDATA', + 'readonly' => 'Bool#readonly', + 'rows*' => 'Number', + 'tabindex' => 'Number', + ) + ); + $textarea->attr_transform_pre[] = new HTMLPurifier_AttrTransform_Textarea(); + + $button = $this->addElement( + 'button', + 'Formctrl', + 'Optional: #PCDATA | Heading | List | Block | Inline', + 'Common', + array( + 'accesskey' => 'Character', + 'disabled' => 'Bool#disabled', + 'name' => 'CDATA', + 'tabindex' => 'Number', + 'type' => 'Enum#button,submit,reset', + 'value' => 'CDATA', + ) + ); + + // For exclusions, ideally we'd specify content sets, not literal elements + $button->excludes = $this->makeLookup( + 'form', + 'fieldset', // Form + 'input', + 'select', + 'textarea', + 'label', + 'button', // Formctrl + 'a', // as per HTML 4.01 spec, this is omitted by modularization + 'isindex', + 'iframe' // legacy items + ); + + // Extra exclusion: img usemap="" is not permitted within this element. + // We'll omit this for now, since we don't have any good way of + // indicating it yet. + + // This is HIGHLY user-unfriendly; we need a custom child-def for this + $this->addElement('fieldset', 'Form', 'Custom: (#WS?,legend,(Flow|#PCDATA)*)', 'Common'); + + $label = $this->addElement( + 'label', + 'Formctrl', + 'Optional: #PCDATA | Inline', + 'Common', + array( + 'accesskey' => 'Character', + // 'for' => 'IDREF', // IDREF not implemented, cannot allow + ) + ); + $label->excludes = array('label' => true); + + $this->addElement( + 'legend', + false, + 'Optional: #PCDATA | Inline', + 'Common', + array( + 'accesskey' => 'Character', + ) + ); + + $this->addElement( + 'optgroup', + false, + 'Required: option', + 'Common', + array( + 'disabled' => 'Bool#disabled', + 'label*' => 'Text', + ) + ); + // Don't forget an injector for . This one's a little complex + // because it maps to multiple elements. + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php new file mode 100644 index 00000000..72d7a31e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php @@ -0,0 +1,40 @@ +addElement( + 'a', + 'Inline', + 'Inline', + 'Common', + array( + // 'accesskey' => 'Character', + // 'charset' => 'Charset', + 'href' => 'URI', + // 'hreflang' => 'LanguageCode', + 'rel' => new HTMLPurifier_AttrDef_HTML_LinkTypes('rel'), + 'rev' => new HTMLPurifier_AttrDef_HTML_LinkTypes('rev'), + // 'tabindex' => 'Number', + // 'type' => 'ContentType', + ) + ); + $a->formatting = true; + $a->excludes = array('a' => true); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php new file mode 100644 index 00000000..f7e7c91c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php @@ -0,0 +1,51 @@ +get('HTML.SafeIframe')) { + $this->safe = true; + } + $this->addElement( + 'iframe', + 'Inline', + 'Flow', + 'Common', + array( + 'src' => 'URI#embedded', + 'width' => 'Length', + 'height' => 'Length', + 'name' => 'ID', + 'scrolling' => 'Enum#yes,no,auto', + 'frameborder' => 'Enum#0,1', + 'longdesc' => 'URI', + 'marginheight' => 'Pixels', + 'marginwidth' => 'Pixels', + ) + ); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php new file mode 100644 index 00000000..0f5fdb3b --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php @@ -0,0 +1,49 @@ +get('HTML.MaxImgLength'); + $img = $this->addElement( + 'img', + 'Inline', + 'Empty', + 'Common', + array( + 'alt*' => 'Text', + // According to the spec, it's Length, but percents can + // be abused, so we allow only Pixels. + 'height' => 'Pixels#' . $max, + 'width' => 'Pixels#' . $max, + 'longdesc' => 'URI', + 'src*' => new HTMLPurifier_AttrDef_URI(true), // embedded + ) + ); + if ($max === null || $config->get('HTML.Trusted')) { + $img->attr['height'] = + $img->attr['width'] = 'Length'; + } + + // kind of strange, but splitting things up would be inefficient + $img->attr_transform_pre[] = + $img->attr_transform_post[] = + new HTMLPurifier_AttrTransform_ImgRequired(); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php new file mode 100644 index 00000000..86b52995 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php @@ -0,0 +1,186 @@ +addElement( + 'basefont', + 'Inline', + 'Empty', + null, + array( + 'color' => 'Color', + 'face' => 'Text', // extremely broad, we should + 'size' => 'Text', // tighten it + 'id' => 'ID' + ) + ); + $this->addElement('center', 'Block', 'Flow', 'Common'); + $this->addElement( + 'dir', + 'Block', + 'Required: li', + 'Common', + array( + 'compact' => 'Bool#compact' + ) + ); + $this->addElement( + 'font', + 'Inline', + 'Inline', + array('Core', 'I18N'), + array( + 'color' => 'Color', + 'face' => 'Text', // extremely broad, we should + 'size' => 'Text', // tighten it + ) + ); + $this->addElement( + 'menu', + 'Block', + 'Required: li', + 'Common', + array( + 'compact' => 'Bool#compact' + ) + ); + + $s = $this->addElement('s', 'Inline', 'Inline', 'Common'); + $s->formatting = true; + + $strike = $this->addElement('strike', 'Inline', 'Inline', 'Common'); + $strike->formatting = true; + + $u = $this->addElement('u', 'Inline', 'Inline', 'Common'); + $u->formatting = true; + + // setup modifications to old elements + + $align = 'Enum#left,right,center,justify'; + + $address = $this->addBlankElement('address'); + $address->content_model = 'Inline | #PCDATA | p'; + $address->content_model_type = 'optional'; + $address->child = false; + + $blockquote = $this->addBlankElement('blockquote'); + $blockquote->content_model = 'Flow | #PCDATA'; + $blockquote->content_model_type = 'optional'; + $blockquote->child = false; + + $br = $this->addBlankElement('br'); + $br->attr['clear'] = 'Enum#left,all,right,none'; + + $caption = $this->addBlankElement('caption'); + $caption->attr['align'] = 'Enum#top,bottom,left,right'; + + $div = $this->addBlankElement('div'); + $div->attr['align'] = $align; + + $dl = $this->addBlankElement('dl'); + $dl->attr['compact'] = 'Bool#compact'; + + for ($i = 1; $i <= 6; $i++) { + $h = $this->addBlankElement("h$i"); + $h->attr['align'] = $align; + } + + $hr = $this->addBlankElement('hr'); + $hr->attr['align'] = $align; + $hr->attr['noshade'] = 'Bool#noshade'; + $hr->attr['size'] = 'Pixels'; + $hr->attr['width'] = 'Length'; + + $img = $this->addBlankElement('img'); + $img->attr['align'] = 'IAlign'; + $img->attr['border'] = 'Pixels'; + $img->attr['hspace'] = 'Pixels'; + $img->attr['vspace'] = 'Pixels'; + + // figure out this integer business + + $li = $this->addBlankElement('li'); + $li->attr['value'] = new HTMLPurifier_AttrDef_Integer(); + $li->attr['type'] = 'Enum#s:1,i,I,a,A,disc,square,circle'; + + $ol = $this->addBlankElement('ol'); + $ol->attr['compact'] = 'Bool#compact'; + $ol->attr['start'] = new HTMLPurifier_AttrDef_Integer(); + $ol->attr['type'] = 'Enum#s:1,i,I,a,A'; + + $p = $this->addBlankElement('p'); + $p->attr['align'] = $align; + + $pre = $this->addBlankElement('pre'); + $pre->attr['width'] = 'Number'; + + // script omitted + + $table = $this->addBlankElement('table'); + $table->attr['align'] = 'Enum#left,center,right'; + $table->attr['bgcolor'] = 'Color'; + + $tr = $this->addBlankElement('tr'); + $tr->attr['bgcolor'] = 'Color'; + + $th = $this->addBlankElement('th'); + $th->attr['bgcolor'] = 'Color'; + $th->attr['height'] = 'Length'; + $th->attr['nowrap'] = 'Bool#nowrap'; + $th->attr['width'] = 'Length'; + + $td = $this->addBlankElement('td'); + $td->attr['bgcolor'] = 'Color'; + $td->attr['height'] = 'Length'; + $td->attr['nowrap'] = 'Bool#nowrap'; + $td->attr['width'] = 'Length'; + + $ul = $this->addBlankElement('ul'); + $ul->attr['compact'] = 'Bool#compact'; + $ul->attr['type'] = 'Enum#square,disc,circle'; + + // "safe" modifications to "unsafe" elements + // WARNING: If you want to add support for an unsafe, legacy + // attribute, make a new TrustedLegacy module with the trusted + // bit set appropriately + + $form = $this->addBlankElement('form'); + $form->content_model = 'Flow | #PCDATA'; + $form->content_model_type = 'optional'; + $form->attr['target'] = 'FrameTarget'; + + $input = $this->addBlankElement('input'); + $input->attr['align'] = 'IAlign'; + + $legend = $this->addBlankElement('legend'); + $legend->attr['align'] = 'LAlign'; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php new file mode 100644 index 00000000..7a20ff70 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php @@ -0,0 +1,51 @@ + 'List'); + + /** + * @param HTMLPurifier_Config $config + */ + public function setup($config) + { + $ol = $this->addElement('ol', 'List', new HTMLPurifier_ChildDef_List(), 'Common'); + $ul = $this->addElement('ul', 'List', new HTMLPurifier_ChildDef_List(), 'Common'); + // XXX The wrap attribute is handled by MakeWellFormed. This is all + // quite unsatisfactory, because we generated this + // *specifically* for lists, and now a big chunk of the handling + // is done properly by the List ChildDef. So actually, we just + // want enough information to make autoclosing work properly, + // and then hand off the tricky stuff to the ChildDef. + $ol->wrap = 'li'; + $ul->wrap = 'li'; + $this->addElement('dl', 'List', 'Required: dt | dd', 'Common'); + + $this->addElement('li', false, 'Flow', 'Common'); + + $this->addElement('dd', false, 'Flow', 'Common'); + $this->addElement('dt', false, 'Inline', 'Common'); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php new file mode 100644 index 00000000..60c05451 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php @@ -0,0 +1,26 @@ +addBlankElement($name); + $element->attr['name'] = 'CDATA'; + if (!$config->get('HTML.Attr.Name.UseCDATA')) { + $element->attr_transform_post[] = new HTMLPurifier_AttrTransform_NameSync(); + } + } + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php new file mode 100644 index 00000000..dc9410a8 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php @@ -0,0 +1,25 @@ +addBlankElement('a'); + $a->attr_transform_post[] = new HTMLPurifier_AttrTransform_Nofollow(); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php new file mode 100644 index 00000000..da722253 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php @@ -0,0 +1,20 @@ + array( + 'lang' => 'LanguageCode', + ) + ); +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php new file mode 100644 index 00000000..2f9efc5c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php @@ -0,0 +1,62 @@ + to cater to legacy browsers: this + * module does not allow this sort of behavior + */ +class HTMLPurifier_HTMLModule_Object extends HTMLPurifier_HTMLModule +{ + /** + * @type string + */ + public $name = 'Object'; + + /** + * @type bool + */ + public $safe = false; + + /** + * @param HTMLPurifier_Config $config + */ + public function setup($config) + { + $this->addElement( + 'object', + 'Inline', + 'Optional: #PCDATA | Flow | param', + 'Common', + array( + 'archive' => 'URI', + 'classid' => 'URI', + 'codebase' => 'URI', + 'codetype' => 'Text', + 'data' => 'URI', + 'declare' => 'Bool#declare', + 'height' => 'Length', + 'name' => 'CDATA', + 'standby' => 'Text', + 'tabindex' => 'Number', + 'type' => 'ContentType', + 'width' => 'Length' + ) + ); + + $this->addElement( + 'param', + false, + 'Empty', + null, + array( + 'id' => 'ID', + 'name*' => 'Text', + 'type' => 'Text', + 'value' => 'Text', + 'valuetype' => 'Enum#data,ref,object' + ) + ); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php new file mode 100644 index 00000000..6458ce9d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php @@ -0,0 +1,42 @@ +addElement('hr', 'Block', 'Empty', 'Common'); + $this->addElement('sub', 'Inline', 'Inline', 'Common'); + $this->addElement('sup', 'Inline', 'Inline', 'Common'); + $b = $this->addElement('b', 'Inline', 'Inline', 'Common'); + $b->formatting = true; + $big = $this->addElement('big', 'Inline', 'Inline', 'Common'); + $big->formatting = true; + $i = $this->addElement('i', 'Inline', 'Inline', 'Common'); + $i->formatting = true; + $small = $this->addElement('small', 'Inline', 'Inline', 'Common'); + $small->formatting = true; + $tt = $this->addElement('tt', 'Inline', 'Inline', 'Common'); + $tt->formatting = true; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php new file mode 100644 index 00000000..5ee3c8e6 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php @@ -0,0 +1,40 @@ +addElement( + 'marquee', + 'Inline', + 'Flow', + 'Common', + array( + 'direction' => 'Enum#left,right,up,down', + 'behavior' => 'Enum#alternate', + 'width' => 'Length', + 'height' => 'Length', + 'scrolldelay' => 'Number', + 'scrollamount' => 'Number', + 'loop' => 'Number', + 'bgcolor' => 'Color', + 'hspace' => 'Pixels', + 'vspace' => 'Pixels', + ) + ); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php new file mode 100644 index 00000000..a0d48924 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php @@ -0,0 +1,36 @@ +addElement( + 'ruby', + 'Inline', + 'Custom: ((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))', + 'Common' + ); + $this->addElement('rbc', false, 'Required: rb', 'Common'); + $this->addElement('rtc', false, 'Required: rt', 'Common'); + $rb = $this->addElement('rb', false, 'Inline', 'Common'); + $rb->excludes = array('ruby' => true); + $rt = $this->addElement('rt', false, 'Inline', 'Common', array('rbspan' => 'Number')); + $rt->excludes = array('ruby' => true); + $this->addElement('rp', false, 'Optional: #PCDATA', 'Common'); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php new file mode 100644 index 00000000..04e6689e --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php @@ -0,0 +1,40 @@ +get('HTML.MaxImgLength'); + $embed = $this->addElement( + 'embed', + 'Inline', + 'Empty', + 'Common', + array( + 'src*' => 'URI#embedded', + 'type' => 'Enum#application/x-shockwave-flash', + 'width' => 'Pixels#' . $max, + 'height' => 'Pixels#' . $max, + 'allowscriptaccess' => 'Enum#never', + 'allownetworking' => 'Enum#internal', + 'flashvars' => 'Text', + 'wmode' => 'Enum#window,transparent,opaque', + 'name' => 'ID', + ) + ); + $embed->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeEmbed(); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php new file mode 100644 index 00000000..1297f80a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php @@ -0,0 +1,62 @@ +get('HTML.MaxImgLength'); + $object = $this->addElement( + 'object', + 'Inline', + 'Optional: param | Flow | #PCDATA', + 'Common', + array( + // While technically not required by the spec, we're forcing + // it to this value. + 'type' => 'Enum#application/x-shockwave-flash', + 'width' => 'Pixels#' . $max, + 'height' => 'Pixels#' . $max, + 'data' => 'URI#embedded', + 'codebase' => new HTMLPurifier_AttrDef_Enum( + array( + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' + ) + ), + ) + ); + $object->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeObject(); + + $param = $this->addElement( + 'param', + false, + 'Empty', + false, + array( + 'id' => 'ID', + 'name*' => 'Text', + 'value' => 'Text' + ) + ); + $param->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeParam(); + $this->info_injector[] = 'SafeObject'; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php new file mode 100644 index 00000000..aea7584c --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php @@ -0,0 +1,40 @@ +get('HTML.SafeScripting'); + $script = $this->addElement( + 'script', + 'Inline', + 'Optional:', // Not `Empty` to not allow to autoclose the #i', '', $html); + } + + return $html; + } + + /** + * Takes a string of HTML (fragment or document) and returns the content + * @todo Consider making protected + */ + public function extractBody($html) + { + $matches = array(); + $result = preg_match('|(.*?)]*>(.*)|is', $html, $matches); + if ($result) { + // Make sure it's not in a comment + $comment_start = strrpos($matches[1], ''); + if ($comment_start === false || + ($comment_end !== false && $comment_end > $comment_start)) { + return $matches[2]; + } + } + return $html; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php new file mode 100644 index 00000000..5e8104be --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php @@ -0,0 +1,337 @@ +factory = new HTMLPurifier_TokenFactory(); + } + + /** + * @param string $html + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return HTMLPurifier_Token[] + */ + public function tokenizeHTML($html, $config, $context) + { + $html = $this->normalize($html, $config, $context); + + // attempt to armor stray angled brackets that cannot possibly + // form tags and thus are probably being used as emoticons + if ($config->get('Core.AggressivelyFixLt')) { + $char = '[^a-z!\/]'; + $comment = "/|\z)/is"; + $html = preg_replace_callback($comment, array($this, 'callbackArmorCommentEntities'), $html); + do { + $old = $html; + $html = preg_replace("/<($char)/i", '<\\1', $html); + } while ($html !== $old); + $html = preg_replace_callback($comment, array($this, 'callbackUndoCommentSubst'), $html); // fix comments + } + + // preprocess html, essential for UTF-8 + $html = $this->wrapHTML($html, $config, $context); + + $doc = new DOMDocument(); + $doc->encoding = 'UTF-8'; // theoretically, the above has this covered + + $options = 0; + if ($config->get('Core.AllowParseManyTags') && defined('LIBXML_PARSEHUGE')) { + $options |= LIBXML_PARSEHUGE; + } + + set_error_handler(array($this, 'muteErrorHandler')); + // loadHTML() fails on PHP 5.3 when second parameter is given + if ($options) { + $doc->loadHTML($html, $options); + } else { + $doc->loadHTML($html); + } + restore_error_handler(); + + $body = $doc->getElementsByTagName('html')->item(0)-> // + getElementsByTagName('body')->item(0); // + + $div = $body->getElementsByTagName('div')->item(0); //
+ $tokens = array(); + $this->tokenizeDOM($div, $tokens, $config); + // If the div has a sibling, that means we tripped across + // a premature
tag. So remove the div we parsed, + // and then tokenize the rest of body. We can't tokenize + // the sibling directly as we'll lose the tags in that case. + if ($div->nextSibling) { + $body->removeChild($div); + $this->tokenizeDOM($body, $tokens, $config); + } + return $tokens; + } + + /** + * Iterative function that tokenizes a node, putting it into an accumulator. + * To iterate is human, to recurse divine - L. Peter Deutsch + * @param DOMNode $node DOMNode to be tokenized. + * @param HTMLPurifier_Token[] $tokens Array-list of already tokenized tokens. + */ + protected function tokenizeDOM($node, &$tokens, $config) + { + $level = 0; + $nodes = array($level => new HTMLPurifier_Queue(array($node))); + $closingNodes = array(); + do { + while (!$nodes[$level]->isEmpty()) { + $node = $nodes[$level]->shift(); // FIFO + $collect = $level > 0 ? true : false; + $needEndingTag = $this->createStartNode($node, $tokens, $collect, $config); + if ($needEndingTag) { + $closingNodes[$level][] = $node; + } + if ($node->childNodes && $node->childNodes->length) { + $level++; + $nodes[$level] = new HTMLPurifier_Queue(); + foreach ($node->childNodes as $childNode) { + $nodes[$level]->push($childNode); + } + } + } + $level--; + if ($level && isset($closingNodes[$level])) { + while ($node = array_pop($closingNodes[$level])) { + $this->createEndNode($node, $tokens); + } + } + } while ($level > 0); + } + + /** + * Portably retrieve the tag name of a node; deals with older versions + * of libxml like 2.7.6 + * @param DOMNode $node + */ + protected function getTagName($node) + { + if (isset($node->tagName)) { + return $node->tagName; + } else if (isset($node->nodeName)) { + return $node->nodeName; + } else if (isset($node->localName)) { + return $node->localName; + } + return null; + } + + /** + * Portably retrieve the data of a node; deals with older versions + * of libxml like 2.7.6 + * @param DOMNode $node + */ + protected function getData($node) + { + if (isset($node->data)) { + return $node->data; + } else if (isset($node->nodeValue)) { + return $node->nodeValue; + } else if (isset($node->textContent)) { + return $node->textContent; + } + return null; + } + + + /** + * @param DOMNode $node DOMNode to be tokenized. + * @param HTMLPurifier_Token[] $tokens Array-list of already tokenized tokens. + * @param bool $collect Says whether or start and close are collected, set to + * false at first recursion because it's the implicit DIV + * tag you're dealing with. + * @return bool if the token needs an endtoken + * @todo data and tagName properties don't seem to exist in DOMNode? + */ + protected function createStartNode($node, &$tokens, $collect, $config) + { + // intercept non element nodes. WE MUST catch all of them, + // but we're not getting the character reference nodes because + // those should have been preprocessed + if ($node->nodeType === XML_TEXT_NODE) { + $data = $this->getData($node); // Handle variable data property + if ($data !== null) { + $tokens[] = $this->factory->createText($data); + } + return false; + } elseif ($node->nodeType === XML_CDATA_SECTION_NODE) { + // undo libxml's special treatment of )#si', + array($this, 'scriptCallback'), + $html + ); + } + + $html = $this->normalize($html, $config, $context); + + $cursor = 0; // our location in the text + $inside_tag = false; // whether or not we're parsing the inside of a tag + $array = array(); // result array + + // This is also treated to mean maintain *column* numbers too + $maintain_line_numbers = $config->get('Core.MaintainLineNumbers'); + + if ($maintain_line_numbers === null) { + // automatically determine line numbering by checking + // if error collection is on + $maintain_line_numbers = $config->get('Core.CollectErrors'); + } + + if ($maintain_line_numbers) { + $current_line = 1; + $current_col = 0; + $length = strlen($html); + } else { + $current_line = false; + $current_col = false; + $length = false; + } + $context->register('CurrentLine', $current_line); + $context->register('CurrentCol', $current_col); + $nl = "\n"; + // how often to manually recalculate. This will ALWAYS be right, + // but it's pretty wasteful. Set to 0 to turn off + $synchronize_interval = $config->get('Core.DirectLexLineNumberSyncInterval'); + + $e = false; + if ($config->get('Core.CollectErrors')) { + $e =& $context->get('ErrorCollector'); + } + + // for testing synchronization + $loops = 0; + + while (++$loops) { + // $cursor is either at the start of a token, or inside of + // a tag (i.e. there was a < immediately before it), as indicated + // by $inside_tag + + if ($maintain_line_numbers) { + // $rcursor, however, is always at the start of a token. + $rcursor = $cursor - (int)$inside_tag; + + // Column number is cheap, so we calculate it every round. + // We're interested at the *end* of the newline string, so + // we need to add strlen($nl) == 1 to $nl_pos before subtracting it + // from our "rcursor" position. + $nl_pos = strrpos($html, $nl, $rcursor - $length); + $current_col = $rcursor - (is_bool($nl_pos) ? 0 : $nl_pos + 1); + + // recalculate lines + if ($synchronize_interval && // synchronization is on + $cursor > 0 && // cursor is further than zero + $loops % $synchronize_interval === 0) { // time to synchronize! + $current_line = 1 + $this->substrCount($html, $nl, 0, $cursor); + } + } + + $position_next_lt = strpos($html, '<', $cursor); + $position_next_gt = strpos($html, '>', $cursor); + + // triggers on "asdf" but not "asdf " + // special case to set up context + if ($position_next_lt === $cursor) { + $inside_tag = true; + $cursor++; + } + + if (!$inside_tag && $position_next_lt !== false) { + // We are not inside tag and there still is another tag to parse + $token = new + HTMLPurifier_Token_Text( + $this->parseText( + substr( + $html, + $cursor, + $position_next_lt - $cursor + ), $config + ) + ); + if ($maintain_line_numbers) { + $token->rawPosition($current_line, $current_col); + $current_line += $this->substrCount($html, $nl, $cursor, $position_next_lt - $cursor); + } + $array[] = $token; + $cursor = $position_next_lt + 1; + $inside_tag = true; + continue; + } elseif (!$inside_tag) { + // We are not inside tag but there are no more tags + // If we're already at the end, break + if ($cursor === strlen($html)) { + break; + } + // Create Text of rest of string + $token = new + HTMLPurifier_Token_Text( + $this->parseText( + substr( + $html, + $cursor + ), $config + ) + ); + if ($maintain_line_numbers) { + $token->rawPosition($current_line, $current_col); + } + $array[] = $token; + break; + } elseif ($inside_tag && $position_next_gt !== false) { + // We are in tag and it is well formed + // Grab the internals of the tag + $strlen_segment = $position_next_gt - $cursor; + + if ($strlen_segment < 1) { + // there's nothing to process! + $token = new HTMLPurifier_Token_Text('<'); + $cursor++; + continue; + } + + $segment = substr($html, $cursor, $strlen_segment); + + if ($segment === false) { + // somehow, we attempted to access beyond the end of + // the string, defense-in-depth, reported by Nate Abele + break; + } + + // Check if it's a comment + if (substr($segment, 0, 3) === '!--') { + // re-determine segment length, looking for --> + $position_comment_end = strpos($html, '-->', $cursor); + if ($position_comment_end === false) { + // uh oh, we have a comment that extends to + // infinity. Can't be helped: set comment + // end position to end of string + if ($e) { + $e->send(E_WARNING, 'Lexer: Unclosed comment'); + } + $position_comment_end = strlen($html); + $end = true; + } else { + $end = false; + } + $strlen_segment = $position_comment_end - $cursor; + $segment = substr($html, $cursor, $strlen_segment); + $token = new + HTMLPurifier_Token_Comment( + substr( + $segment, + 3, + $strlen_segment - 3 + ) + ); + if ($maintain_line_numbers) { + $token->rawPosition($current_line, $current_col); + $current_line += $this->substrCount($html, $nl, $cursor, $strlen_segment); + } + $array[] = $token; + $cursor = $end ? $position_comment_end : $position_comment_end + 3; + $inside_tag = false; + continue; + } + + // Check if it's an end tag + $is_end_tag = (strpos($segment, '/') === 0); + if ($is_end_tag) { + $type = substr($segment, 1); + $token = new HTMLPurifier_Token_End($type); + if ($maintain_line_numbers) { + $token->rawPosition($current_line, $current_col); + $current_line += $this->substrCount($html, $nl, $cursor, $position_next_gt - $cursor); + } + $array[] = $token; + $inside_tag = false; + $cursor = $position_next_gt + 1; + continue; + } + + // Check leading character is alnum, if not, we may + // have accidently grabbed an emoticon. Translate into + // text and go our merry way + if (!ctype_alpha($segment[0])) { + // XML: $segment[0] !== '_' && $segment[0] !== ':' + if ($e) { + $e->send(E_NOTICE, 'Lexer: Unescaped lt'); + } + $token = new HTMLPurifier_Token_Text('<'); + if ($maintain_line_numbers) { + $token->rawPosition($current_line, $current_col); + $current_line += $this->substrCount($html, $nl, $cursor, $position_next_gt - $cursor); + } + $array[] = $token; + $inside_tag = false; + continue; + } + + // Check if it is explicitly self closing, if so, remove + // trailing slash. Remember, we could have a tag like
, so + // any later token processing scripts must convert improperly + // classified EmptyTags from StartTags. + $is_self_closing = (strrpos($segment, '/') === $strlen_segment - 1); + if ($is_self_closing) { + $strlen_segment--; + $segment = substr($segment, 0, $strlen_segment); + } + + // Check if there are any attributes + $position_first_space = strcspn($segment, $this->_whitespace); + + if ($position_first_space >= $strlen_segment) { + if ($is_self_closing) { + $token = new HTMLPurifier_Token_Empty($segment); + } else { + $token = new HTMLPurifier_Token_Start($segment); + } + if ($maintain_line_numbers) { + $token->rawPosition($current_line, $current_col); + $current_line += $this->substrCount($html, $nl, $cursor, $position_next_gt - $cursor); + } + $array[] = $token; + $inside_tag = false; + $cursor = $position_next_gt + 1; + continue; + } + + // Grab out all the data + $type = substr($segment, 0, $position_first_space); + $attribute_string = + trim( + substr( + $segment, + $position_first_space + ) + ); + if ($attribute_string) { + $attr = $this->parseAttributeString( + $attribute_string, + $config, + $context + ); + } else { + $attr = array(); + } + + if ($is_self_closing) { + $token = new HTMLPurifier_Token_Empty($type, $attr); + } else { + $token = new HTMLPurifier_Token_Start($type, $attr); + } + if ($maintain_line_numbers) { + $token->rawPosition($current_line, $current_col); + $current_line += $this->substrCount($html, $nl, $cursor, $position_next_gt - $cursor); + } + $array[] = $token; + $cursor = $position_next_gt + 1; + $inside_tag = false; + continue; + } else { + // inside tag, but there's no ending > sign + if ($e) { + $e->send(E_WARNING, 'Lexer: Missing gt'); + } + $token = new + HTMLPurifier_Token_Text( + '<' . + $this->parseText( + substr($html, $cursor), $config + ) + ); + if ($maintain_line_numbers) { + $token->rawPosition($current_line, $current_col); + } + // no cursor scroll? Hmm... + $array[] = $token; + break; + } + break; + } + + $context->destroy('CurrentLine'); + $context->destroy('CurrentCol'); + return $array; + } + + /** + * PHP 5.0.x compatible substr_count that implements offset and length + * @param string $haystack + * @param string $needle + * @param int $offset + * @param int $length + * @return int + */ + protected function substrCount($haystack, $needle, $offset, $length) + { + static $oldVersion; + if ($oldVersion === null) { + $oldVersion = version_compare(PHP_VERSION, '5.1', '<'); + } + if ($oldVersion) { + $haystack = substr($haystack, $offset, $length); + return substr_count($haystack, $needle); + } else { + return substr_count($haystack, $needle, $offset, $length); + } + } + + /** + * Takes the inside of an HTML tag and makes an assoc array of attributes. + * + * @param string $string Inside of tag excluding name. + * @param HTMLPurifier_Config $config + * @param HTMLPurifier_Context $context + * @return array Assoc array of attributes. + */ + public function parseAttributeString($string, $config, $context) + { + $string = (string)$string; // quick typecast + + if ($string == '') { + return array(); + } // no attributes + + $e = false; + if ($config->get('Core.CollectErrors')) { + $e =& $context->get('ErrorCollector'); + } + + // let's see if we can abort as quickly as possible + // one equal sign, no spaces => one attribute + $num_equal = substr_count($string, '='); + $has_space = strpos($string, ' '); + if ($num_equal === 0 && !$has_space) { + // bool attribute + return array($string => $string); + } elseif ($num_equal === 1 && !$has_space) { + // only one attribute + list($key, $quoted_value) = explode('=', $string); + $quoted_value = trim($quoted_value); + if (!$key) { + if ($e) { + $e->send(E_ERROR, 'Lexer: Missing attribute key'); + } + return array(); + } + if (!$quoted_value) { + return array($key => ''); + } + $first_char = @$quoted_value[0]; + $last_char = @$quoted_value[strlen($quoted_value) - 1]; + + $same_quote = ($first_char == $last_char); + $open_quote = ($first_char == '"' || $first_char == "'"); + + if ($same_quote && $open_quote) { + // well behaved + $value = substr($quoted_value, 1, strlen($quoted_value) - 2); + } else { + // not well behaved + if ($open_quote) { + if ($e) { + $e->send(E_ERROR, 'Lexer: Missing end quote'); + } + $value = substr($quoted_value, 1); + } else { + $value = $quoted_value; + } + } + if ($value === false) { + $value = ''; + } + return array($key => $this->parseAttr($value, $config)); + } + + // setup loop environment + $array = array(); // return assoc array of attributes + $cursor = 0; // current position in string (moves forward) + $size = strlen($string); // size of the string (stays the same) + + // if we have unquoted attributes, the parser expects a terminating + // space, so let's guarantee that there's always a terminating space. + $string .= ' '; + + $old_cursor = -1; + while ($cursor < $size) { + if ($old_cursor >= $cursor) { + throw new Exception("Infinite loop detected"); + } + $old_cursor = $cursor; + + $cursor += ($value = strspn($string, $this->_whitespace, $cursor)); + // grab the key + + $key_begin = $cursor; //we're currently at the start of the key + + // scroll past all characters that are the key (not whitespace or =) + $cursor += strcspn($string, $this->_whitespace . '=', $cursor); + + $key_end = $cursor; // now at the end of the key + + $key = substr($string, $key_begin, $key_end - $key_begin); + + if (!$key) { + if ($e) { + $e->send(E_ERROR, 'Lexer: Missing attribute key'); + } + $cursor += 1 + strcspn($string, $this->_whitespace, $cursor + 1); // prevent infinite loop + continue; // empty key + } + + // scroll past all whitespace + $cursor += strspn($string, $this->_whitespace, $cursor); + + if ($cursor >= $size) { + $array[$key] = $key; + break; + } + + // if the next character is an equal sign, we've got a regular + // pair, otherwise, it's a bool attribute + $first_char = @$string[$cursor]; + + if ($first_char == '=') { + // key="value" + + $cursor++; + $cursor += strspn($string, $this->_whitespace, $cursor); + + if ($cursor === false) { + $array[$key] = ''; + break; + } + + // we might be in front of a quote right now + + $char = @$string[$cursor]; + + if ($char == '"' || $char == "'") { + // it's quoted, end bound is $char + $cursor++; + $value_begin = $cursor; + $cursor = strpos($string, $char, $cursor); + $value_end = $cursor; + } else { + // it's not quoted, end bound is whitespace + $value_begin = $cursor; + $cursor += strcspn($string, $this->_whitespace, $cursor); + $value_end = $cursor; + } + + // we reached a premature end + if ($cursor === false) { + $cursor = $size; + $value_end = $cursor; + } + + $value = substr($string, $value_begin, $value_end - $value_begin); + if ($value === false) { + $value = ''; + } + $array[$key] = $this->parseAttr($value, $config); + $cursor++; + } else { + // boolattr + if ($key !== '') { + $array[$key] = $key; + } else { + // purely theoretical + if ($e) { + $e->send(E_ERROR, 'Lexer: Missing attribute key'); + } + } + } + } + return $array; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php new file mode 100644 index 00000000..1564f283 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php @@ -0,0 +1,4788 @@ +normalize($html, $config, $context); + $new_html = $this->wrapHTML($new_html, $config, $context, false /* no div */); + try { + $parser = new HTML5($new_html); + $doc = $parser->save(); + } catch (DOMException $e) { + // Uh oh, it failed. Punt to DirectLex. + $lexer = new HTMLPurifier_Lexer_DirectLex(); + $context->register('PH5PError', $e); // save the error, so we can detect it + return $lexer->tokenizeHTML($html, $config, $context); // use original HTML + } + $tokens = array(); + $this->tokenizeDOM( + $doc->getElementsByTagName('html')->item(0)-> // + getElementsByTagName('body')->item(0) // + , + $tokens, $config + ); + return $tokens; + } +} + +/* + +Copyright 2007 Jeroen van der Meer + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +*/ + +class HTML5 +{ + private $data; + private $char; + private $EOF; + private $state; + private $tree; + private $token; + private $content_model; + private $escape = false; + private $entities = array( + 'AElig;', + 'AElig', + 'AMP;', + 'AMP', + 'Aacute;', + 'Aacute', + 'Acirc;', + 'Acirc', + 'Agrave;', + 'Agrave', + 'Alpha;', + 'Aring;', + 'Aring', + 'Atilde;', + 'Atilde', + 'Auml;', + 'Auml', + 'Beta;', + 'COPY;', + 'COPY', + 'Ccedil;', + 'Ccedil', + 'Chi;', + 'Dagger;', + 'Delta;', + 'ETH;', + 'ETH', + 'Eacute;', + 'Eacute', + 'Ecirc;', + 'Ecirc', + 'Egrave;', + 'Egrave', + 'Epsilon;', + 'Eta;', + 'Euml;', + 'Euml', + 'GT;', + 'GT', + 'Gamma;', + 'Iacute;', + 'Iacute', + 'Icirc;', + 'Icirc', + 'Igrave;', + 'Igrave', + 'Iota;', + 'Iuml;', + 'Iuml', + 'Kappa;', + 'LT;', + 'LT', + 'Lambda;', + 'Mu;', + 'Ntilde;', + 'Ntilde', + 'Nu;', + 'OElig;', + 'Oacute;', + 'Oacute', + 'Ocirc;', + 'Ocirc', + 'Ograve;', + 'Ograve', + 'Omega;', + 'Omicron;', + 'Oslash;', + 'Oslash', + 'Otilde;', + 'Otilde', + 'Ouml;', + 'Ouml', + 'Phi;', + 'Pi;', + 'Prime;', + 'Psi;', + 'QUOT;', + 'QUOT', + 'REG;', + 'REG', + 'Rho;', + 'Scaron;', + 'Sigma;', + 'THORN;', + 'THORN', + 'TRADE;', + 'Tau;', + 'Theta;', + 'Uacute;', + 'Uacute', + 'Ucirc;', + 'Ucirc', + 'Ugrave;', + 'Ugrave', + 'Upsilon;', + 'Uuml;', + 'Uuml', + 'Xi;', + 'Yacute;', + 'Yacute', + 'Yuml;', + 'Zeta;', + 'aacute;', + 'aacute', + 'acirc;', + 'acirc', + 'acute;', + 'acute', + 'aelig;', + 'aelig', + 'agrave;', + 'agrave', + 'alefsym;', + 'alpha;', + 'amp;', + 'amp', + 'and;', + 'ang;', + 'apos;', + 'aring;', + 'aring', + 'asymp;', + 'atilde;', + 'atilde', + 'auml;', + 'auml', + 'bdquo;', + 'beta;', + 'brvbar;', + 'brvbar', + 'bull;', + 'cap;', + 'ccedil;', + 'ccedil', + 'cedil;', + 'cedil', + 'cent;', + 'cent', + 'chi;', + 'circ;', + 'clubs;', + 'cong;', + 'copy;', + 'copy', + 'crarr;', + 'cup;', + 'curren;', + 'curren', + 'dArr;', + 'dagger;', + 'darr;', + 'deg;', + 'deg', + 'delta;', + 'diams;', + 'divide;', + 'divide', + 'eacute;', + 'eacute', + 'ecirc;', + 'ecirc', + 'egrave;', + 'egrave', + 'empty;', + 'emsp;', + 'ensp;', + 'epsilon;', + 'equiv;', + 'eta;', + 'eth;', + 'eth', + 'euml;', + 'euml', + 'euro;', + 'exist;', + 'fnof;', + 'forall;', + 'frac12;', + 'frac12', + 'frac14;', + 'frac14', + 'frac34;', + 'frac34', + 'frasl;', + 'gamma;', + 'ge;', + 'gt;', + 'gt', + 'hArr;', + 'harr;', + 'hearts;', + 'hellip;', + 'iacute;', + 'iacute', + 'icirc;', + 'icirc', + 'iexcl;', + 'iexcl', + 'igrave;', + 'igrave', + 'image;', + 'infin;', + 'int;', + 'iota;', + 'iquest;', + 'iquest', + 'isin;', + 'iuml;', + 'iuml', + 'kappa;', + 'lArr;', + 'lambda;', + 'lang;', + 'laquo;', + 'laquo', + 'larr;', + 'lceil;', + 'ldquo;', + 'le;', + 'lfloor;', + 'lowast;', + 'loz;', + 'lrm;', + 'lsaquo;', + 'lsquo;', + 'lt;', + 'lt', + 'macr;', + 'macr', + 'mdash;', + 'micro;', + 'micro', + 'middot;', + 'middot', + 'minus;', + 'mu;', + 'nabla;', + 'nbsp;', + 'nbsp', + 'ndash;', + 'ne;', + 'ni;', + 'not;', + 'not', + 'notin;', + 'nsub;', + 'ntilde;', + 'ntilde', + 'nu;', + 'oacute;', + 'oacute', + 'ocirc;', + 'ocirc', + 'oelig;', + 'ograve;', + 'ograve', + 'oline;', + 'omega;', + 'omicron;', + 'oplus;', + 'or;', + 'ordf;', + 'ordf', + 'ordm;', + 'ordm', + 'oslash;', + 'oslash', + 'otilde;', + 'otilde', + 'otimes;', + 'ouml;', + 'ouml', + 'para;', + 'para', + 'part;', + 'permil;', + 'perp;', + 'phi;', + 'pi;', + 'piv;', + 'plusmn;', + 'plusmn', + 'pound;', + 'pound', + 'prime;', + 'prod;', + 'prop;', + 'psi;', + 'quot;', + 'quot', + 'rArr;', + 'radic;', + 'rang;', + 'raquo;', + 'raquo', + 'rarr;', + 'rceil;', + 'rdquo;', + 'real;', + 'reg;', + 'reg', + 'rfloor;', + 'rho;', + 'rlm;', + 'rsaquo;', + 'rsquo;', + 'sbquo;', + 'scaron;', + 'sdot;', + 'sect;', + 'sect', + 'shy;', + 'shy', + 'sigma;', + 'sigmaf;', + 'sim;', + 'spades;', + 'sub;', + 'sube;', + 'sum;', + 'sup1;', + 'sup1', + 'sup2;', + 'sup2', + 'sup3;', + 'sup3', + 'sup;', + 'supe;', + 'szlig;', + 'szlig', + 'tau;', + 'there4;', + 'theta;', + 'thetasym;', + 'thinsp;', + 'thorn;', + 'thorn', + 'tilde;', + 'times;', + 'times', + 'trade;', + 'uArr;', + 'uacute;', + 'uacute', + 'uarr;', + 'ucirc;', + 'ucirc', + 'ugrave;', + 'ugrave', + 'uml;', + 'uml', + 'upsih;', + 'upsilon;', + 'uuml;', + 'uuml', + 'weierp;', + 'xi;', + 'yacute;', + 'yacute', + 'yen;', + 'yen', + 'yuml;', + 'yuml', + 'zeta;', + 'zwj;', + 'zwnj;' + ); + + const PCDATA = 0; + const RCDATA = 1; + const CDATA = 2; + const PLAINTEXT = 3; + + const DOCTYPE = 0; + const STARTTAG = 1; + const ENDTAG = 2; + const COMMENT = 3; + const CHARACTR = 4; + const EOF = 5; + + public function __construct($data) + { + $this->data = $data; + $this->char = -1; + $this->EOF = strlen($data); + $this->tree = new HTML5TreeConstructer; + $this->content_model = self::PCDATA; + + $this->state = 'data'; + + while ($this->state !== null) { + $this->{$this->state . 'State'}(); + } + } + + public function save() + { + return $this->tree->save(); + } + + private function char() + { + return ($this->char < $this->EOF) + ? $this->data[$this->char] + : false; + } + + private function character($s, $l = 0) + { + if ($s + $l < $this->EOF) { + if ($l === 0) { + return $this->data[$s]; + } else { + return substr($this->data, $s, $l); + } + } + } + + private function characters($char_class, $start) + { + return preg_replace('#^([' . $char_class . ']+).*#s', '\\1', substr($this->data, $start)); + } + + private function dataState() + { + // Consume the next input character + $this->char++; + $char = $this->char(); + + if ($char === '&' && ($this->content_model === self::PCDATA || $this->content_model === self::RCDATA)) { + /* U+0026 AMPERSAND (&) + When the content model flag is set to one of the PCDATA or RCDATA + states: switch to the entity data state. Otherwise: treat it as per + the "anything else" entry below. */ + $this->state = 'entityData'; + + } elseif ($char === '-') { + /* If the content model flag is set to either the RCDATA state or + the CDATA state, and the escape flag is false, and there are at + least three characters before this one in the input stream, and the + last four characters in the input stream, including this one, are + U+003C LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS, + and U+002D HYPHEN-MINUS (""), + set the escape flag to false. */ + if (($this->content_model === self::RCDATA || + $this->content_model === self::CDATA) && $this->escape === true && + $this->character($this->char, 3) === '-->' + ) { + $this->escape = false; + } + + /* In any case, emit the input character as a character token. + Stay in the data state. */ + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => $char + ) + ); + + } elseif ($this->char === $this->EOF) { + /* EOF + Emit an end-of-file token. */ + $this->EOF(); + + } elseif ($this->content_model === self::PLAINTEXT) { + /* When the content model flag is set to the PLAINTEXT state + THIS DIFFERS GREATLY FROM THE SPEC: Get the remaining characters of + the text and emit it as a character token. */ + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => substr($this->data, $this->char) + ) + ); + + $this->EOF(); + + } else { + /* Anything else + THIS DIFFERS GREATLY FROM THE SPEC: Get as many character that + otherwise would also be treated as a character token and emit it + as a single character token. Stay in the data state. */ + $len = strcspn($this->data, '<&', $this->char); + $char = substr($this->data, $this->char, $len); + $this->char += $len - 1; + + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => $char + ) + ); + + $this->state = 'data'; + } + } + + private function entityDataState() + { + // Attempt to consume an entity. + $entity = $this->entity(); + + // If nothing is returned, emit a U+0026 AMPERSAND character token. + // Otherwise, emit the character token that was returned. + $char = (!$entity) ? '&' : $entity; + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => $char + ) + ); + + // Finally, switch to the data state. + $this->state = 'data'; + } + + private function tagOpenState() + { + switch ($this->content_model) { + case self::RCDATA: + case self::CDATA: + /* If the next input character is a U+002F SOLIDUS (/) character, + consume it and switch to the close tag open state. If the next + input character is not a U+002F SOLIDUS (/) character, emit a + U+003C LESS-THAN SIGN character token and switch to the data + state to process the next input character. */ + if ($this->character($this->char + 1) === '/') { + $this->char++; + $this->state = 'closeTagOpen'; + + } else { + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => '<' + ) + ); + + $this->state = 'data'; + } + break; + + case self::PCDATA: + // If the content model flag is set to the PCDATA state + // Consume the next input character: + $this->char++; + $char = $this->char(); + + if ($char === '!') { + /* U+0021 EXCLAMATION MARK (!) + Switch to the markup declaration open state. */ + $this->state = 'markupDeclarationOpen'; + + } elseif ($char === '/') { + /* U+002F SOLIDUS (/) + Switch to the close tag open state. */ + $this->state = 'closeTagOpen'; + + } elseif (preg_match('/^[A-Za-z]$/', $char)) { + /* U+0041 LATIN LETTER A through to U+005A LATIN LETTER Z + Create a new start tag token, set its tag name to the lowercase + version of the input character (add 0x0020 to the character's code + point), then switch to the tag name state. (Don't emit the token + yet; further details will be filled in before it is emitted.) */ + $this->token = array( + 'name' => strtolower($char), + 'type' => self::STARTTAG, + 'attr' => array() + ); + + $this->state = 'tagName'; + + } elseif ($char === '>') { + /* U+003E GREATER-THAN SIGN (>) + Parse error. Emit a U+003C LESS-THAN SIGN character token and a + U+003E GREATER-THAN SIGN character token. Switch to the data state. */ + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => '<>' + ) + ); + + $this->state = 'data'; + + } elseif ($char === '?') { + /* U+003F QUESTION MARK (?) + Parse error. Switch to the bogus comment state. */ + $this->state = 'bogusComment'; + + } else { + /* Anything else + Parse error. Emit a U+003C LESS-THAN SIGN character token and + reconsume the current input character in the data state. */ + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => '<' + ) + ); + + $this->char--; + $this->state = 'data'; + } + break; + } + } + + private function closeTagOpenState() + { + $next_node = strtolower($this->characters('A-Za-z', $this->char + 1)); + $the_same = count($this->tree->stack) > 0 && $next_node === end($this->tree->stack)->nodeName; + + if (($this->content_model === self::RCDATA || $this->content_model === self::CDATA) && + (!$the_same || ($the_same && (!preg_match( + '/[\t\n\x0b\x0c >\/]/', + $this->character($this->char + 1 + strlen($next_node)) + ) || $this->EOF === $this->char))) + ) { + /* If the content model flag is set to the RCDATA or CDATA states then + examine the next few characters. If they do not match the tag name of + the last start tag token emitted (case insensitively), or if they do but + they are not immediately followed by one of the following characters: + * U+0009 CHARACTER TABULATION + * U+000A LINE FEED (LF) + * U+000B LINE TABULATION + * U+000C FORM FEED (FF) + * U+0020 SPACE + * U+003E GREATER-THAN SIGN (>) + * U+002F SOLIDUS (/) + * EOF + ...then there is a parse error. Emit a U+003C LESS-THAN SIGN character + token, a U+002F SOLIDUS character token, and switch to the data state + to process the next input character. */ + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => 'state = 'data'; + + } else { + /* Otherwise, if the content model flag is set to the PCDATA state, + or if the next few characters do match that tag name, consume the + next input character: */ + $this->char++; + $char = $this->char(); + + if (preg_match('/^[A-Za-z]$/', $char)) { + /* U+0041 LATIN LETTER A through to U+005A LATIN LETTER Z + Create a new end tag token, set its tag name to the lowercase version + of the input character (add 0x0020 to the character's code point), then + switch to the tag name state. (Don't emit the token yet; further details + will be filled in before it is emitted.) */ + $this->token = array( + 'name' => strtolower($char), + 'type' => self::ENDTAG + ); + + $this->state = 'tagName'; + + } elseif ($char === '>') { + /* U+003E GREATER-THAN SIGN (>) + Parse error. Switch to the data state. */ + $this->state = 'data'; + + } elseif ($this->char === $this->EOF) { + /* EOF + Parse error. Emit a U+003C LESS-THAN SIGN character token and a U+002F + SOLIDUS character token. Reconsume the EOF character in the data state. */ + $this->emitToken( + array( + 'type' => self::CHARACTR, + 'data' => 'char--; + $this->state = 'data'; + + } else { + /* Parse error. Switch to the bogus comment state. */ + $this->state = 'bogusComment'; + } + } + } + + private function tagNameState() + { + // Consume the next input character: + $this->char++; + $char = $this->character($this->char); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + /* U+0009 CHARACTER TABULATION + U+000A LINE FEED (LF) + U+000B LINE TABULATION + U+000C FORM FEED (FF) + U+0020 SPACE + Switch to the before attribute name state. */ + $this->state = 'beforeAttributeName'; + + } elseif ($char === '>') { + /* U+003E GREATER-THAN SIGN (>) + Emit the current tag token. Switch to the data state. */ + $this->emitToken($this->token); + $this->state = 'data'; + + } elseif ($this->char === $this->EOF) { + /* EOF + Parse error. Emit the current tag token. Reconsume the EOF + character in the data state. */ + $this->emitToken($this->token); + + $this->char--; + $this->state = 'data'; + + } elseif ($char === '/') { + /* U+002F SOLIDUS (/) + Parse error unless this is a permitted slash. Switch to the before + attribute name state. */ + $this->state = 'beforeAttributeName'; + + } else { + /* Anything else + Append the current input character to the current tag token's tag name. + Stay in the tag name state. */ + $this->token['name'] .= strtolower($char); + $this->state = 'tagName'; + } + } + + private function beforeAttributeNameState() + { + // Consume the next input character: + $this->char++; + $char = $this->character($this->char); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + /* U+0009 CHARACTER TABULATION + U+000A LINE FEED (LF) + U+000B LINE TABULATION + U+000C FORM FEED (FF) + U+0020 SPACE + Stay in the before attribute name state. */ + $this->state = 'beforeAttributeName'; + + } elseif ($char === '>') { + /* U+003E GREATER-THAN SIGN (>) + Emit the current tag token. Switch to the data state. */ + $this->emitToken($this->token); + $this->state = 'data'; + + } elseif ($char === '/') { + /* U+002F SOLIDUS (/) + Parse error unless this is a permitted slash. Stay in the before + attribute name state. */ + $this->state = 'beforeAttributeName'; + + } elseif ($this->char === $this->EOF) { + /* EOF + Parse error. Emit the current tag token. Reconsume the EOF + character in the data state. */ + $this->emitToken($this->token); + + $this->char--; + $this->state = 'data'; + + } else { + /* Anything else + Start a new attribute in the current tag token. Set that attribute's + name to the current input character, and its value to the empty string. + Switch to the attribute name state. */ + $this->token['attr'][] = array( + 'name' => strtolower($char), + 'value' => null + ); + + $this->state = 'attributeName'; + } + } + + private function attributeNameState() + { + // Consume the next input character: + $this->char++; + $char = $this->character($this->char); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + /* U+0009 CHARACTER TABULATION + U+000A LINE FEED (LF) + U+000B LINE TABULATION + U+000C FORM FEED (FF) + U+0020 SPACE + Stay in the before attribute name state. */ + $this->state = 'afterAttributeName'; + + } elseif ($char === '=') { + /* U+003D EQUALS SIGN (=) + Switch to the before attribute value state. */ + $this->state = 'beforeAttributeValue'; + + } elseif ($char === '>') { + /* U+003E GREATER-THAN SIGN (>) + Emit the current tag token. Switch to the data state. */ + $this->emitToken($this->token); + $this->state = 'data'; + + } elseif ($char === '/' && $this->character($this->char + 1) !== '>') { + /* U+002F SOLIDUS (/) + Parse error unless this is a permitted slash. Switch to the before + attribute name state. */ + $this->state = 'beforeAttributeName'; + + } elseif ($this->char === $this->EOF) { + /* EOF + Parse error. Emit the current tag token. Reconsume the EOF + character in the data state. */ + $this->emitToken($this->token); + + $this->char--; + $this->state = 'data'; + + } else { + /* Anything else + Append the current input character to the current attribute's name. + Stay in the attribute name state. */ + $last = count($this->token['attr']) - 1; + $this->token['attr'][$last]['name'] .= strtolower($char); + + $this->state = 'attributeName'; + } + } + + private function afterAttributeNameState() + { + // Consume the next input character: + $this->char++; + $char = $this->character($this->char); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + /* U+0009 CHARACTER TABULATION + U+000A LINE FEED (LF) + U+000B LINE TABULATION + U+000C FORM FEED (FF) + U+0020 SPACE + Stay in the after attribute name state. */ + $this->state = 'afterAttributeName'; + + } elseif ($char === '=') { + /* U+003D EQUALS SIGN (=) + Switch to the before attribute value state. */ + $this->state = 'beforeAttributeValue'; + + } elseif ($char === '>') { + /* U+003E GREATER-THAN SIGN (>) + Emit the current tag token. Switch to the data state. */ + $this->emitToken($this->token); + $this->state = 'data'; + + } elseif ($char === '/' && $this->character($this->char + 1) !== '>') { + /* U+002F SOLIDUS (/) + Parse error unless this is a permitted slash. Switch to the + before attribute name state. */ + $this->state = 'beforeAttributeName'; + + } elseif ($this->char === $this->EOF) { + /* EOF + Parse error. Emit the current tag token. Reconsume the EOF + character in the data state. */ + $this->emitToken($this->token); + + $this->char--; + $this->state = 'data'; + + } else { + /* Anything else + Start a new attribute in the current tag token. Set that attribute's + name to the current input character, and its value to the empty string. + Switch to the attribute name state. */ + $this->token['attr'][] = array( + 'name' => strtolower($char), + 'value' => null + ); + + $this->state = 'attributeName'; + } + } + + private function beforeAttributeValueState() + { + // Consume the next input character: + $this->char++; + $char = $this->character($this->char); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + /* U+0009 CHARACTER TABULATION + U+000A LINE FEED (LF) + U+000B LINE TABULATION + U+000C FORM FEED (FF) + U+0020 SPACE + Stay in the before attribute value state. */ + $this->state = 'beforeAttributeValue'; + + } elseif ($char === '"') { + /* U+0022 QUOTATION MARK (") + Switch to the attribute value (double-quoted) state. */ + $this->state = 'attributeValueDoubleQuoted'; + + } elseif ($char === '&') { + /* U+0026 AMPERSAND (&) + Switch to the attribute value (unquoted) state and reconsume + this input character. */ + $this->char--; + $this->state = 'attributeValueUnquoted'; + + } elseif ($char === '\'') { + /* U+0027 APOSTROPHE (') + Switch to the attribute value (single-quoted) state. */ + $this->state = 'attributeValueSingleQuoted'; + + } elseif ($char === '>') { + /* U+003E GREATER-THAN SIGN (>) + Emit the current tag token. Switch to the data state. */ + $this->emitToken($this->token); + $this->state = 'data'; + + } else { + /* Anything else + Append the current input character to the current attribute's value. + Switch to the attribute value (unquoted) state. */ + $last = count($this->token['attr']) - 1; + $this->token['attr'][$last]['value'] .= $char; + + $this->state = 'attributeValueUnquoted'; + } + } + + private function attributeValueDoubleQuotedState() + { + // Consume the next input character: + $this->char++; + $char = $this->character($this->char); + + if ($char === '"') { + /* U+0022 QUOTATION MARK (") + Switch to the before attribute name state. */ + $this->state = 'beforeAttributeName'; + + } elseif ($char === '&') { + /* U+0026 AMPERSAND (&) + Switch to the entity in attribute value state. */ + $this->entityInAttributeValueState('double'); + + } elseif ($this->char === $this->EOF) { + /* EOF + Parse error. Emit the current tag token. Reconsume the character + in the data state. */ + $this->emitToken($this->token); + + $this->char--; + $this->state = 'data'; + + } else { + /* Anything else + Append the current input character to the current attribute's value. + Stay in the attribute value (double-quoted) state. */ + $last = count($this->token['attr']) - 1; + $this->token['attr'][$last]['value'] .= $char; + + $this->state = 'attributeValueDoubleQuoted'; + } + } + + private function attributeValueSingleQuotedState() + { + // Consume the next input character: + $this->char++; + $char = $this->character($this->char); + + if ($char === '\'') { + /* U+0022 QUOTATION MARK (') + Switch to the before attribute name state. */ + $this->state = 'beforeAttributeName'; + + } elseif ($char === '&') { + /* U+0026 AMPERSAND (&) + Switch to the entity in attribute value state. */ + $this->entityInAttributeValueState('single'); + + } elseif ($this->char === $this->EOF) { + /* EOF + Parse error. Emit the current tag token. Reconsume the character + in the data state. */ + $this->emitToken($this->token); + + $this->char--; + $this->state = 'data'; + + } else { + /* Anything else + Append the current input character to the current attribute's value. + Stay in the attribute value (single-quoted) state. */ + $last = count($this->token['attr']) - 1; + $this->token['attr'][$last]['value'] .= $char; + + $this->state = 'attributeValueSingleQuoted'; + } + } + + private function attributeValueUnquotedState() + { + // Consume the next input character: + $this->char++; + $char = $this->character($this->char); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + /* U+0009 CHARACTER TABULATION + U+000A LINE FEED (LF) + U+000B LINE TABULATION + U+000C FORM FEED (FF) + U+0020 SPACE + Switch to the before attribute name state. */ + $this->state = 'beforeAttributeName'; + + } elseif ($char === '&') { + /* U+0026 AMPERSAND (&) + Switch to the entity in attribute value state. */ + $this->entityInAttributeValueState(); + + } elseif ($char === '>') { + /* U+003E GREATER-THAN SIGN (>) + Emit the current tag token. Switch to the data state. */ + $this->emitToken($this->token); + $this->state = 'data'; + + } else { + /* Anything else + Append the current input character to the current attribute's value. + Stay in the attribute value (unquoted) state. */ + $last = count($this->token['attr']) - 1; + $this->token['attr'][$last]['value'] .= $char; + + $this->state = 'attributeValueUnquoted'; + } + } + + private function entityInAttributeValueState() + { + // Attempt to consume an entity. + $entity = $this->entity(); + + // If nothing is returned, append a U+0026 AMPERSAND character to the + // current attribute's value. Otherwise, emit the character token that + // was returned. + $char = (!$entity) + ? '&' + : $entity; + + $last = count($this->token['attr']) - 1; + $this->token['attr'][$last]['value'] .= $char; + } + + private function bogusCommentState() + { + /* Consume every character up to the first U+003E GREATER-THAN SIGN + character (>) or the end of the file (EOF), whichever comes first. Emit + a comment token whose data is the concatenation of all the characters + starting from and including the character that caused the state machine + to switch into the bogus comment state, up to and including the last + consumed character before the U+003E character, if any, or up to the + end of the file otherwise. (If the comment was started by the end of + the file (EOF), the token is empty.) */ + $data = $this->characters('^>', $this->char); + $this->emitToken( + array( + 'data' => $data, + 'type' => self::COMMENT + ) + ); + + $this->char += strlen($data); + + /* Switch to the data state. */ + $this->state = 'data'; + + /* If the end of the file was reached, reconsume the EOF character. */ + if ($this->char === $this->EOF) { + $this->char = $this->EOF - 1; + } + } + + private function markupDeclarationOpenState() + { + /* If the next two characters are both U+002D HYPHEN-MINUS (-) + characters, consume those two characters, create a comment token whose + data is the empty string, and switch to the comment state. */ + if ($this->character($this->char + 1, 2) === '--') { + $this->char += 2; + $this->state = 'comment'; + $this->token = array( + 'data' => null, + 'type' => self::COMMENT + ); + + /* Otherwise if the next seven chacacters are a case-insensitive match + for the word "DOCTYPE", then consume those characters and switch to the + DOCTYPE state. */ + } elseif (strtolower($this->character($this->char + 1, 7)) === 'doctype') { + $this->char += 7; + $this->state = 'doctype'; + + /* Otherwise, is is a parse error. Switch to the bogus comment state. + The next character that is consumed, if any, is the first character + that will be in the comment. */ + } else { + $this->char++; + $this->state = 'bogusComment'; + } + } + + private function commentState() + { + /* Consume the next input character: */ + $this->char++; + $char = $this->char(); + + /* U+002D HYPHEN-MINUS (-) */ + if ($char === '-') { + /* Switch to the comment dash state */ + $this->state = 'commentDash'; + + /* EOF */ + } elseif ($this->char === $this->EOF) { + /* Parse error. Emit the comment token. Reconsume the EOF character + in the data state. */ + $this->emitToken($this->token); + $this->char--; + $this->state = 'data'; + + /* Anything else */ + } else { + /* Append the input character to the comment token's data. Stay in + the comment state. */ + $this->token['data'] .= $char; + } + } + + private function commentDashState() + { + /* Consume the next input character: */ + $this->char++; + $char = $this->char(); + + /* U+002D HYPHEN-MINUS (-) */ + if ($char === '-') { + /* Switch to the comment end state */ + $this->state = 'commentEnd'; + + /* EOF */ + } elseif ($this->char === $this->EOF) { + /* Parse error. Emit the comment token. Reconsume the EOF character + in the data state. */ + $this->emitToken($this->token); + $this->char--; + $this->state = 'data'; + + /* Anything else */ + } else { + /* Append a U+002D HYPHEN-MINUS (-) character and the input + character to the comment token's data. Switch to the comment state. */ + $this->token['data'] .= '-' . $char; + $this->state = 'comment'; + } + } + + private function commentEndState() + { + /* Consume the next input character: */ + $this->char++; + $char = $this->char(); + + if ($char === '>') { + $this->emitToken($this->token); + $this->state = 'data'; + + } elseif ($char === '-') { + $this->token['data'] .= '-'; + + } elseif ($this->char === $this->EOF) { + $this->emitToken($this->token); + $this->char--; + $this->state = 'data'; + + } else { + $this->token['data'] .= '--' . $char; + $this->state = 'comment'; + } + } + + private function doctypeState() + { + /* Consume the next input character: */ + $this->char++; + $char = $this->char(); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + $this->state = 'beforeDoctypeName'; + + } else { + $this->char--; + $this->state = 'beforeDoctypeName'; + } + } + + private function beforeDoctypeNameState() + { + /* Consume the next input character: */ + $this->char++; + $char = $this->char(); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + // Stay in the before DOCTYPE name state. + + } elseif (preg_match('/^[a-z]$/', $char)) { + $this->token = array( + 'name' => strtoupper($char), + 'type' => self::DOCTYPE, + 'error' => true + ); + + $this->state = 'doctypeName'; + + } elseif ($char === '>') { + $this->emitToken( + array( + 'name' => null, + 'type' => self::DOCTYPE, + 'error' => true + ) + ); + + $this->state = 'data'; + + } elseif ($this->char === $this->EOF) { + $this->emitToken( + array( + 'name' => null, + 'type' => self::DOCTYPE, + 'error' => true + ) + ); + + $this->char--; + $this->state = 'data'; + + } else { + $this->token = array( + 'name' => $char, + 'type' => self::DOCTYPE, + 'error' => true + ); + + $this->state = 'doctypeName'; + } + } + + private function doctypeNameState() + { + /* Consume the next input character: */ + $this->char++; + $char = $this->char(); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + $this->state = 'AfterDoctypeName'; + + } elseif ($char === '>') { + $this->emitToken($this->token); + $this->state = 'data'; + + } elseif (preg_match('/^[a-z]$/', $char)) { + $this->token['name'] .= strtoupper($char); + + } elseif ($this->char === $this->EOF) { + $this->emitToken($this->token); + $this->char--; + $this->state = 'data'; + + } else { + $this->token['name'] .= $char; + } + + $this->token['error'] = ($this->token['name'] === 'HTML') + ? false + : true; + } + + private function afterDoctypeNameState() + { + /* Consume the next input character: */ + $this->char++; + $char = $this->char(); + + if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) { + // Stay in the DOCTYPE name state. + + } elseif ($char === '>') { + $this->emitToken($this->token); + $this->state = 'data'; + + } elseif ($this->char === $this->EOF) { + $this->emitToken($this->token); + $this->char--; + $this->state = 'data'; + + } else { + $this->token['error'] = true; + $this->state = 'bogusDoctype'; + } + } + + private function bogusDoctypeState() + { + /* Consume the next input character: */ + $this->char++; + $char = $this->char(); + + if ($char === '>') { + $this->emitToken($this->token); + $this->state = 'data'; + + } elseif ($this->char === $this->EOF) { + $this->emitToken($this->token); + $this->char--; + $this->state = 'data'; + + } else { + // Stay in the bogus DOCTYPE state. + } + } + + private function entity() + { + $start = $this->char; + + // This section defines how to consume an entity. This definition is + // used when parsing entities in text and in attributes. + + // The behaviour depends on the identity of the next character (the + // one immediately after the U+0026 AMPERSAND character): + + switch ($this->character($this->char + 1)) { + // U+0023 NUMBER SIGN (#) + case '#': + + // The behaviour further depends on the character after the + // U+0023 NUMBER SIGN: + switch ($this->character($this->char + 1)) { + // U+0078 LATIN SMALL LETTER X + // U+0058 LATIN CAPITAL LETTER X + case 'x': + case 'X': + // Follow the steps below, but using the range of + // characters U+0030 DIGIT ZERO through to U+0039 DIGIT + // NINE, U+0061 LATIN SMALL LETTER A through to U+0066 + // LATIN SMALL LETTER F, and U+0041 LATIN CAPITAL LETTER + // A, through to U+0046 LATIN CAPITAL LETTER F (in other + // words, 0-9, A-F, a-f). + $char = 1; + $char_class = '0-9A-Fa-f'; + break; + + // Anything else + default: + // Follow the steps below, but using the range of + // characters U+0030 DIGIT ZERO through to U+0039 DIGIT + // NINE (i.e. just 0-9). + $char = 0; + $char_class = '0-9'; + break; + } + + // Consume as many characters as match the range of characters + // given above. + $this->char++; + $e_name = $this->characters($char_class, $this->char + $char + 1); + $entity = $this->character($start, $this->char); + $cond = strlen($e_name) > 0; + + // The rest of the parsing happens below. + break; + + // Anything else + default: + // Consume the maximum number of characters possible, with the + // consumed characters case-sensitively matching one of the + // identifiers in the first column of the entities table. + + $e_name = $this->characters('0-9A-Za-z;', $this->char + 1); + $len = strlen($e_name); + + for ($c = 1; $c <= $len; $c++) { + $id = substr($e_name, 0, $c); + $this->char++; + + if (in_array($id, $this->entities)) { + if ($e_name[$c - 1] !== ';') { + if ($c < $len && $e_name[$c] == ';') { + $this->char++; // consume extra semicolon + } + } + $entity = $id; + break; + } + } + + $cond = isset($entity); + // The rest of the parsing happens below. + break; + } + + if (!$cond) { + // If no match can be made, then this is a parse error. No + // characters are consumed, and nothing is returned. + $this->char = $start; + return false; + } + + // Return a character token for the character corresponding to the + // entity name (as given by the second column of the entities table). + return html_entity_decode('&' . rtrim($entity, ';') . ';', ENT_QUOTES, 'UTF-8'); + } + + private function emitToken($token) + { + $emit = $this->tree->emitToken($token); + + if (is_int($emit)) { + $this->content_model = $emit; + + } elseif ($token['type'] === self::ENDTAG) { + $this->content_model = self::PCDATA; + } + } + + private function EOF() + { + $this->state = null; + $this->tree->emitToken( + array( + 'type' => self::EOF + ) + ); + } +} + +class HTML5TreeConstructer +{ + public $stack = array(); + + private $phase; + private $mode; + private $dom; + private $foster_parent = null; + private $a_formatting = array(); + + private $head_pointer = null; + private $form_pointer = null; + + private $scoping = array('button', 'caption', 'html', 'marquee', 'object', 'table', 'td', 'th'); + private $formatting = array( + 'a', + 'b', + 'big', + 'em', + 'font', + 'i', + 'nobr', + 's', + 'small', + 'strike', + 'strong', + 'tt', + 'u' + ); + private $special = array( + 'address', + 'area', + 'base', + 'basefont', + 'bgsound', + 'blockquote', + 'body', + 'br', + 'center', + 'col', + 'colgroup', + 'dd', + 'dir', + 'div', + 'dl', + 'dt', + 'embed', + 'fieldset', + 'form', + 'frame', + 'frameset', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'hr', + 'iframe', + 'image', + 'img', + 'input', + 'isindex', + 'li', + 'link', + 'listing', + 'menu', + 'meta', + 'noembed', + 'noframes', + 'noscript', + 'ol', + 'optgroup', + 'option', + 'p', + 'param', + 'plaintext', + 'pre', + 'script', + 'select', + 'spacer', + 'style', + 'tbody', + 'textarea', + 'tfoot', + 'thead', + 'title', + 'tr', + 'ul', + 'wbr' + ); + + // The different phases. + const INIT_PHASE = 0; + const ROOT_PHASE = 1; + const MAIN_PHASE = 2; + const END_PHASE = 3; + + // The different insertion modes for the main phase. + const BEFOR_HEAD = 0; + const IN_HEAD = 1; + const AFTER_HEAD = 2; + const IN_BODY = 3; + const IN_TABLE = 4; + const IN_CAPTION = 5; + const IN_CGROUP = 6; + const IN_TBODY = 7; + const IN_ROW = 8; + const IN_CELL = 9; + const IN_SELECT = 10; + const AFTER_BODY = 11; + const IN_FRAME = 12; + const AFTR_FRAME = 13; + + // The different types of elements. + const SPECIAL = 0; + const SCOPING = 1; + const FORMATTING = 2; + const PHRASING = 3; + + const MARKER = 0; + + public function __construct() + { + $this->phase = self::INIT_PHASE; + $this->mode = self::BEFOR_HEAD; + $this->dom = new DOMDocument; + + $this->dom->encoding = 'UTF-8'; + $this->dom->preserveWhiteSpace = true; + $this->dom->substituteEntities = true; + $this->dom->strictErrorChecking = false; + } + + // Process tag tokens + public function emitToken($token) + { + switch ($this->phase) { + case self::INIT_PHASE: + return $this->initPhase($token); + break; + case self::ROOT_PHASE: + return $this->rootElementPhase($token); + break; + case self::MAIN_PHASE: + return $this->mainPhase($token); + break; + case self::END_PHASE : + return $this->trailingEndPhase($token); + break; + } + } + + private function initPhase($token) + { + /* Initially, the tree construction stage must handle each token + emitted from the tokenisation stage as follows: */ + + /* A DOCTYPE token that is marked as being in error + A comment token + A start tag token + An end tag token + A character token that is not one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE + An end-of-file token */ + if ((isset($token['error']) && $token['error']) || + $token['type'] === HTML5::COMMENT || + $token['type'] === HTML5::STARTTAG || + $token['type'] === HTML5::ENDTAG || + $token['type'] === HTML5::EOF || + ($token['type'] === HTML5::CHARACTR && isset($token['data']) && + !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) + ) { + /* This specification does not define how to handle this case. In + particular, user agents may ignore the entirety of this specification + altogether for such documents, and instead invoke special parse modes + with a greater emphasis on backwards compatibility. */ + + $this->phase = self::ROOT_PHASE; + return $this->rootElementPhase($token); + + /* A DOCTYPE token marked as being correct */ + } elseif (isset($token['error']) && !$token['error']) { + /* Append a DocumentType node to the Document node, with the name + attribute set to the name given in the DOCTYPE token (which will be + "HTML"), and the other attributes specific to DocumentType objects + set to null, empty lists, or the empty string as appropriate. */ + $doctype = new DOMDocumentType(null, null, 'HTML'); + + /* Then, switch to the root element phase of the tree construction + stage. */ + $this->phase = self::ROOT_PHASE; + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE */ + } elseif (isset($token['data']) && preg_match( + '/^[\t\n\x0b\x0c ]+$/', + $token['data'] + ) + ) { + /* Append that character to the Document node. */ + $text = $this->dom->createTextNode($token['data']); + $this->dom->appendChild($text); + } + } + + private function rootElementPhase($token) + { + /* After the initial phase, as each token is emitted from the tokenisation + stage, it must be processed as described in this section. */ + + /* A DOCTYPE token */ + if ($token['type'] === HTML5::DOCTYPE) { + // Parse error. Ignore the token. + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the Document object with the data + attribute set to the data given in the comment token. */ + $comment = $this->dom->createComment($token['data']); + $this->dom->appendChild($comment); + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE */ + } elseif ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Append that character to the Document node. */ + $text = $this->dom->createTextNode($token['data']); + $this->dom->appendChild($text); + + /* A character token that is not one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED + (FF), or U+0020 SPACE + A start tag token + An end tag token + An end-of-file token */ + } elseif (($token['type'] === HTML5::CHARACTR && + !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) || + $token['type'] === HTML5::STARTTAG || + $token['type'] === HTML5::ENDTAG || + $token['type'] === HTML5::EOF + ) { + /* Create an HTMLElement node with the tag name html, in the HTML + namespace. Append it to the Document object. Switch to the main + phase and reprocess the current token. */ + $html = $this->dom->createElement('html'); + $this->dom->appendChild($html); + $this->stack[] = $html; + + $this->phase = self::MAIN_PHASE; + return $this->mainPhase($token); + } + } + + private function mainPhase($token) + { + /* Tokens in the main phase must be handled as follows: */ + + /* A DOCTYPE token */ + if ($token['type'] === HTML5::DOCTYPE) { + // Parse error. Ignore the token. + + /* A start tag token with the tag name "html" */ + } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'html') { + /* If this start tag token was not the first start tag token, then + it is a parse error. */ + + /* For each attribute on the token, check to see if the attribute + is already present on the top element of the stack of open elements. + If it is not, add the attribute and its corresponding value to that + element. */ + foreach ($token['attr'] as $attr) { + if (!$this->stack[0]->hasAttribute($attr['name'])) { + $this->stack[0]->setAttribute($attr['name'], $attr['value']); + } + } + + /* An end-of-file token */ + } elseif ($token['type'] === HTML5::EOF) { + /* Generate implied end tags. */ + $this->generateImpliedEndTags(); + + /* Anything else. */ + } else { + /* Depends on the insertion mode: */ + switch ($this->mode) { + case self::BEFOR_HEAD: + return $this->beforeHead($token); + break; + case self::IN_HEAD: + return $this->inHead($token); + break; + case self::AFTER_HEAD: + return $this->afterHead($token); + break; + case self::IN_BODY: + return $this->inBody($token); + break; + case self::IN_TABLE: + return $this->inTable($token); + break; + case self::IN_CAPTION: + return $this->inCaption($token); + break; + case self::IN_CGROUP: + return $this->inColumnGroup($token); + break; + case self::IN_TBODY: + return $this->inTableBody($token); + break; + case self::IN_ROW: + return $this->inRow($token); + break; + case self::IN_CELL: + return $this->inCell($token); + break; + case self::IN_SELECT: + return $this->inSelect($token); + break; + case self::AFTER_BODY: + return $this->afterBody($token); + break; + case self::IN_FRAME: + return $this->inFrameset($token); + break; + case self::AFTR_FRAME: + return $this->afterFrameset($token); + break; + case self::END_PHASE: + return $this->trailingEndPhase($token); + break; + } + } + } + + private function beforeHead($token) + { + /* Handle the token as follows: */ + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE */ + if ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Append the character to the current node. */ + $this->insertText($token['data']); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the current node with the data attribute + set to the data given in the comment token. */ + $this->insertComment($token['data']); + + /* A start tag token with the tag name "head" */ + } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') { + /* Create an element for the token, append the new element to the + current node and push it onto the stack of open elements. */ + $element = $this->insertElement($token); + + /* Set the head element pointer to this new element node. */ + $this->head_pointer = $element; + + /* Change the insertion mode to "in head". */ + $this->mode = self::IN_HEAD; + + /* A start tag token whose tag name is one of: "base", "link", "meta", + "script", "style", "title". Or an end tag with the tag name "html". + Or a character token that is not one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE. Or any other start tag token */ + } elseif ($token['type'] === HTML5::STARTTAG || + ($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') || + ($token['type'] === HTML5::CHARACTR && !preg_match( + '/^[\t\n\x0b\x0c ]$/', + $token['data'] + )) + ) { + /* Act as if a start tag token with the tag name "head" and no + attributes had been seen, then reprocess the current token. */ + $this->beforeHead( + array( + 'name' => 'head', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + return $this->inHead($token); + + /* Any other end tag */ + } elseif ($token['type'] === HTML5::ENDTAG) { + /* Parse error. Ignore the token. */ + } + } + + private function inHead($token) + { + /* Handle the token as follows: */ + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE. + + THIS DIFFERS FROM THE SPEC: If the current node is either a title, style + or script element, append the character to the current node regardless + of its content. */ + if (($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) || ( + $token['type'] === HTML5::CHARACTR && in_array( + end($this->stack)->nodeName, + array('title', 'style', 'script') + )) + ) { + /* Append the character to the current node. */ + $this->insertText($token['data']); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the current node with the data attribute + set to the data given in the comment token. */ + $this->insertComment($token['data']); + + } elseif ($token['type'] === HTML5::ENDTAG && + in_array($token['name'], array('title', 'style', 'script')) + ) { + array_pop($this->stack); + return HTML5::PCDATA; + + /* A start tag with the tag name "title" */ + } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'title') { + /* Create an element for the token and append the new element to the + node pointed to by the head element pointer, or, if that is null + (innerHTML case), to the current node. */ + if ($this->head_pointer !== null) { + $element = $this->insertElement($token, false); + $this->head_pointer->appendChild($element); + + } else { + $element = $this->insertElement($token); + } + + /* Switch the tokeniser's content model flag to the RCDATA state. */ + return HTML5::RCDATA; + + /* A start tag with the tag name "style" */ + } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'style') { + /* Create an element for the token and append the new element to the + node pointed to by the head element pointer, or, if that is null + (innerHTML case), to the current node. */ + if ($this->head_pointer !== null) { + $element = $this->insertElement($token, false); + $this->head_pointer->appendChild($element); + + } else { + $this->insertElement($token); + } + + /* Switch the tokeniser's content model flag to the CDATA state. */ + return HTML5::CDATA; + + /* A start tag with the tag name "script" */ + } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'script') { + /* Create an element for the token. */ + $element = $this->insertElement($token, false); + $this->head_pointer->appendChild($element); + + /* Switch the tokeniser's content model flag to the CDATA state. */ + return HTML5::CDATA; + + /* A start tag with the tag name "base", "link", or "meta" */ + } elseif ($token['type'] === HTML5::STARTTAG && in_array( + $token['name'], + array('base', 'link', 'meta') + ) + ) { + /* Create an element for the token and append the new element to the + node pointed to by the head element pointer, or, if that is null + (innerHTML case), to the current node. */ + if ($this->head_pointer !== null) { + $element = $this->insertElement($token, false); + $this->head_pointer->appendChild($element); + array_pop($this->stack); + + } else { + $this->insertElement($token); + } + + /* An end tag with the tag name "head" */ + } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'head') { + /* If the current node is a head element, pop the current node off + the stack of open elements. */ + if ($this->head_pointer->isSameNode(end($this->stack))) { + array_pop($this->stack); + + /* Otherwise, this is a parse error. */ + } else { + // k + } + + /* Change the insertion mode to "after head". */ + $this->mode = self::AFTER_HEAD; + + /* A start tag with the tag name "head" or an end tag except "html". */ + } elseif (($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') || + ($token['type'] === HTML5::ENDTAG && $token['name'] !== 'html') + ) { + // Parse error. Ignore the token. + + /* Anything else */ + } else { + /* If the current node is a head element, act as if an end tag + token with the tag name "head" had been seen. */ + if ($this->head_pointer->isSameNode(end($this->stack))) { + $this->inHead( + array( + 'name' => 'head', + 'type' => HTML5::ENDTAG + ) + ); + + /* Otherwise, change the insertion mode to "after head". */ + } else { + $this->mode = self::AFTER_HEAD; + } + + /* Then, reprocess the current token. */ + return $this->afterHead($token); + } + } + + private function afterHead($token) + { + /* Handle the token as follows: */ + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE */ + if ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Append the character to the current node. */ + $this->insertText($token['data']); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the current node with the data attribute + set to the data given in the comment token. */ + $this->insertComment($token['data']); + + /* A start tag token with the tag name "body" */ + } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'body') { + /* Insert a body element for the token. */ + $this->insertElement($token); + + /* Change the insertion mode to "in body". */ + $this->mode = self::IN_BODY; + + /* A start tag token with the tag name "frameset" */ + } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'frameset') { + /* Insert a frameset element for the token. */ + $this->insertElement($token); + + /* Change the insertion mode to "in frameset". */ + $this->mode = self::IN_FRAME; + + /* A start tag token whose tag name is one of: "base", "link", "meta", + "script", "style", "title" */ + } elseif ($token['type'] === HTML5::STARTTAG && in_array( + $token['name'], + array('base', 'link', 'meta', 'script', 'style', 'title') + ) + ) { + /* Parse error. Switch the insertion mode back to "in head" and + reprocess the token. */ + $this->mode = self::IN_HEAD; + return $this->inHead($token); + + /* Anything else */ + } else { + /* Act as if a start tag token with the tag name "body" and no + attributes had been seen, and then reprocess the current token. */ + $this->afterHead( + array( + 'name' => 'body', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + return $this->inBody($token); + } + } + + private function inBody($token) + { + /* Handle the token as follows: */ + + switch ($token['type']) { + /* A character token */ + case HTML5::CHARACTR: + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Append the token's character to the current node. */ + $this->insertText($token['data']); + break; + + /* A comment token */ + case HTML5::COMMENT: + /* Append a Comment node to the current node with the data + attribute set to the data given in the comment token. */ + $this->insertComment($token['data']); + break; + + case HTML5::STARTTAG: + switch ($token['name']) { + /* A start tag token whose tag name is one of: "script", + "style" */ + case 'script': + case 'style': + /* Process the token as if the insertion mode had been "in + head". */ + return $this->inHead($token); + break; + + /* A start tag token whose tag name is one of: "base", "link", + "meta", "title" */ + case 'base': + case 'link': + case 'meta': + case 'title': + /* Parse error. Process the token as if the insertion mode + had been "in head". */ + return $this->inHead($token); + break; + + /* A start tag token with the tag name "body" */ + case 'body': + /* Parse error. If the second element on the stack of open + elements is not a body element, or, if the stack of open + elements has only one node on it, then ignore the token. + (innerHTML case) */ + if (count($this->stack) === 1 || $this->stack[1]->nodeName !== 'body') { + // Ignore + + /* Otherwise, for each attribute on the token, check to see + if the attribute is already present on the body element (the + second element) on the stack of open elements. If it is not, + add the attribute and its corresponding value to that + element. */ + } else { + foreach ($token['attr'] as $attr) { + if (!$this->stack[1]->hasAttribute($attr['name'])) { + $this->stack[1]->setAttribute($attr['name'], $attr['value']); + } + } + } + break; + + /* A start tag whose tag name is one of: "address", + "blockquote", "center", "dir", "div", "dl", "fieldset", + "listing", "menu", "ol", "p", "ul" */ + case 'address': + case 'blockquote': + case 'center': + case 'dir': + case 'div': + case 'dl': + case 'fieldset': + case 'listing': + case 'menu': + case 'ol': + case 'p': + case 'ul': + /* If the stack of open elements has a p element in scope, + then act as if an end tag with the tag name p had been + seen. */ + if ($this->elementInScope('p')) { + $this->emitToken( + array( + 'name' => 'p', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + break; + + /* A start tag whose tag name is "form" */ + case 'form': + /* If the form element pointer is not null, ignore the + token with a parse error. */ + if ($this->form_pointer !== null) { + // Ignore. + + /* Otherwise: */ + } else { + /* If the stack of open elements has a p element in + scope, then act as if an end tag with the tag name p + had been seen. */ + if ($this->elementInScope('p')) { + $this->emitToken( + array( + 'name' => 'p', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* Insert an HTML element for the token, and set the + form element pointer to point to the element created. */ + $element = $this->insertElement($token); + $this->form_pointer = $element; + } + break; + + /* A start tag whose tag name is "li", "dd" or "dt" */ + case 'li': + case 'dd': + case 'dt': + /* If the stack of open elements has a p element in scope, + then act as if an end tag with the tag name p had been + seen. */ + if ($this->elementInScope('p')) { + $this->emitToken( + array( + 'name' => 'p', + 'type' => HTML5::ENDTAG + ) + ); + } + + $stack_length = count($this->stack) - 1; + + for ($n = $stack_length; 0 <= $n; $n--) { + /* 1. Initialise node to be the current node (the + bottommost node of the stack). */ + $stop = false; + $node = $this->stack[$n]; + $cat = $this->getElementCategory($node->tagName); + + /* 2. If node is an li, dd or dt element, then pop all + the nodes from the current node up to node, including + node, then stop this algorithm. */ + if ($token['name'] === $node->tagName || ($token['name'] !== 'li' + && ($node->tagName === 'dd' || $node->tagName === 'dt')) + ) { + for ($x = $stack_length; $x >= $n; $x--) { + array_pop($this->stack); + } + + break; + } + + /* 3. If node is not in the formatting category, and is + not in the phrasing category, and is not an address or + div element, then stop this algorithm. */ + if ($cat !== self::FORMATTING && $cat !== self::PHRASING && + $node->tagName !== 'address' && $node->tagName !== 'div' + ) { + break; + } + } + + /* Finally, insert an HTML element with the same tag + name as the token's. */ + $this->insertElement($token); + break; + + /* A start tag token whose tag name is "plaintext" */ + case 'plaintext': + /* If the stack of open elements has a p element in scope, + then act as if an end tag with the tag name p had been + seen. */ + if ($this->elementInScope('p')) { + $this->emitToken( + array( + 'name' => 'p', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + return HTML5::PLAINTEXT; + break; + + /* A start tag whose tag name is one of: "h1", "h2", "h3", "h4", + "h5", "h6" */ + case 'h1': + case 'h2': + case 'h3': + case 'h4': + case 'h5': + case 'h6': + /* If the stack of open elements has a p element in scope, + then act as if an end tag with the tag name p had been seen. */ + if ($this->elementInScope('p')) { + $this->emitToken( + array( + 'name' => 'p', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* If the stack of open elements has in scope an element whose + tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then + this is a parse error; pop elements from the stack until an + element with one of those tag names has been popped from the + stack. */ + while ($this->elementInScope(array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'))) { + array_pop($this->stack); + } + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + break; + + /* A start tag whose tag name is "a" */ + case 'a': + /* If the list of active formatting elements contains + an element whose tag name is "a" between the end of the + list and the last marker on the list (or the start of + the list if there is no marker on the list), then this + is a parse error; act as if an end tag with the tag name + "a" had been seen, then remove that element from the list + of active formatting elements and the stack of open + elements if the end tag didn't already remove it (it + might not have if the element is not in table scope). */ + $leng = count($this->a_formatting); + + for ($n = $leng - 1; $n >= 0; $n--) { + if ($this->a_formatting[$n] === self::MARKER) { + break; + + } elseif ($this->a_formatting[$n]->nodeName === 'a') { + $this->emitToken( + array( + 'name' => 'a', + 'type' => HTML5::ENDTAG + ) + ); + break; + } + } + + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Insert an HTML element for the token. */ + $el = $this->insertElement($token); + + /* Add that element to the list of active formatting + elements. */ + $this->a_formatting[] = $el; + break; + + /* A start tag whose tag name is one of: "b", "big", "em", "font", + "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */ + case 'b': + case 'big': + case 'em': + case 'font': + case 'i': + case 'nobr': + case 's': + case 'small': + case 'strike': + case 'strong': + case 'tt': + case 'u': + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Insert an HTML element for the token. */ + $el = $this->insertElement($token); + + /* Add that element to the list of active formatting + elements. */ + $this->a_formatting[] = $el; + break; + + /* A start tag token whose tag name is "button" */ + case 'button': + /* If the stack of open elements has a button element in scope, + then this is a parse error; act as if an end tag with the tag + name "button" had been seen, then reprocess the token. (We don't + do that. Unnecessary.) */ + if ($this->elementInScope('button')) { + $this->inBody( + array( + 'name' => 'button', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* Insert a marker at the end of the list of active + formatting elements. */ + $this->a_formatting[] = self::MARKER; + break; + + /* A start tag token whose tag name is one of: "marquee", "object" */ + case 'marquee': + case 'object': + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* Insert a marker at the end of the list of active + formatting elements. */ + $this->a_formatting[] = self::MARKER; + break; + + /* A start tag token whose tag name is "xmp" */ + case 'xmp': + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* Switch the content model flag to the CDATA state. */ + return HTML5::CDATA; + break; + + /* A start tag whose tag name is "table" */ + case 'table': + /* If the stack of open elements has a p element in scope, + then act as if an end tag with the tag name p had been seen. */ + if ($this->elementInScope('p')) { + $this->emitToken( + array( + 'name' => 'p', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* Change the insertion mode to "in table". */ + $this->mode = self::IN_TABLE; + break; + + /* A start tag whose tag name is one of: "area", "basefont", + "bgsound", "br", "embed", "img", "param", "spacer", "wbr" */ + case 'area': + case 'basefont': + case 'bgsound': + case 'br': + case 'embed': + case 'img': + case 'param': + case 'spacer': + case 'wbr': + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* Immediately pop the current node off the stack of open elements. */ + array_pop($this->stack); + break; + + /* A start tag whose tag name is "hr" */ + case 'hr': + /* If the stack of open elements has a p element in scope, + then act as if an end tag with the tag name p had been seen. */ + if ($this->elementInScope('p')) { + $this->emitToken( + array( + 'name' => 'p', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* Immediately pop the current node off the stack of open elements. */ + array_pop($this->stack); + break; + + /* A start tag whose tag name is "image" */ + case 'image': + /* Parse error. Change the token's tag name to "img" and + reprocess it. (Don't ask.) */ + $token['name'] = 'img'; + return $this->inBody($token); + break; + + /* A start tag whose tag name is "input" */ + case 'input': + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Insert an input element for the token. */ + $element = $this->insertElement($token, false); + + /* If the form element pointer is not null, then associate the + input element with the form element pointed to by the form + element pointer. */ + $this->form_pointer !== null + ? $this->form_pointer->appendChild($element) + : end($this->stack)->appendChild($element); + + /* Pop that input element off the stack of open elements. */ + array_pop($this->stack); + break; + + /* A start tag whose tag name is "isindex" */ + case 'isindex': + /* Parse error. */ + // w/e + + /* If the form element pointer is not null, + then ignore the token. */ + if ($this->form_pointer === null) { + /* Act as if a start tag token with the tag name "form" had + been seen. */ + $this->inBody( + array( + 'name' => 'body', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + /* Act as if a start tag token with the tag name "hr" had + been seen. */ + $this->inBody( + array( + 'name' => 'hr', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + /* Act as if a start tag token with the tag name "p" had + been seen. */ + $this->inBody( + array( + 'name' => 'p', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + /* Act as if a start tag token with the tag name "label" + had been seen. */ + $this->inBody( + array( + 'name' => 'label', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + /* Act as if a stream of character tokens had been seen. */ + $this->insertText( + 'This is a searchable index. ' . + 'Insert your search keywords here: ' + ); + + /* Act as if a start tag token with the tag name "input" + had been seen, with all the attributes from the "isindex" + token, except with the "name" attribute set to the value + "isindex" (ignoring any explicit "name" attribute). */ + $attr = $token['attr']; + $attr[] = array('name' => 'name', 'value' => 'isindex'); + + $this->inBody( + array( + 'name' => 'input', + 'type' => HTML5::STARTTAG, + 'attr' => $attr + ) + ); + + /* Act as if a stream of character tokens had been seen + (see below for what they should say). */ + $this->insertText( + 'This is a searchable index. ' . + 'Insert your search keywords here: ' + ); + + /* Act as if an end tag token with the tag name "label" + had been seen. */ + $this->inBody( + array( + 'name' => 'label', + 'type' => HTML5::ENDTAG + ) + ); + + /* Act as if an end tag token with the tag name "p" had + been seen. */ + $this->inBody( + array( + 'name' => 'p', + 'type' => HTML5::ENDTAG + ) + ); + + /* Act as if a start tag token with the tag name "hr" had + been seen. */ + $this->inBody( + array( + 'name' => 'hr', + 'type' => HTML5::ENDTAG + ) + ); + + /* Act as if an end tag token with the tag name "form" had + been seen. */ + $this->inBody( + array( + 'name' => 'form', + 'type' => HTML5::ENDTAG + ) + ); + } + break; + + /* A start tag whose tag name is "textarea" */ + case 'textarea': + $this->insertElement($token); + + /* Switch the tokeniser's content model flag to the + RCDATA state. */ + return HTML5::RCDATA; + break; + + /* A start tag whose tag name is one of: "iframe", "noembed", + "noframes" */ + case 'iframe': + case 'noembed': + case 'noframes': + $this->insertElement($token); + + /* Switch the tokeniser's content model flag to the CDATA state. */ + return HTML5::CDATA; + break; + + /* A start tag whose tag name is "select" */ + case 'select': + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* Change the insertion mode to "in select". */ + $this->mode = self::IN_SELECT; + break; + + /* A start or end tag whose tag name is one of: "caption", "col", + "colgroup", "frame", "frameset", "head", "option", "optgroup", + "tbody", "td", "tfoot", "th", "thead", "tr". */ + case 'caption': + case 'col': + case 'colgroup': + case 'frame': + case 'frameset': + case 'head': + case 'option': + case 'optgroup': + case 'tbody': + case 'td': + case 'tfoot': + case 'th': + case 'thead': + case 'tr': + // Parse error. Ignore the token. + break; + + /* A start or end tag whose tag name is one of: "event-source", + "section", "nav", "article", "aside", "header", "footer", + "datagrid", "command" */ + case 'event-source': + case 'section': + case 'nav': + case 'article': + case 'aside': + case 'header': + case 'footer': + case 'datagrid': + case 'command': + // Work in progress! + break; + + /* A start tag token not covered by the previous entries */ + default: + /* Reconstruct the active formatting elements, if any. */ + $this->reconstructActiveFormattingElements(); + + $this->insertElement($token, true, true); + break; + } + break; + + case HTML5::ENDTAG: + switch ($token['name']) { + /* An end tag with the tag name "body" */ + case 'body': + /* If the second element in the stack of open elements is + not a body element, this is a parse error. Ignore the token. + (innerHTML case) */ + if (count($this->stack) < 2 || $this->stack[1]->nodeName !== 'body') { + // Ignore. + + /* If the current node is not the body element, then this + is a parse error. */ + } elseif (end($this->stack)->nodeName !== 'body') { + // Parse error. + } + + /* Change the insertion mode to "after body". */ + $this->mode = self::AFTER_BODY; + break; + + /* An end tag with the tag name "html" */ + case 'html': + /* Act as if an end tag with tag name "body" had been seen, + then, if that token wasn't ignored, reprocess the current + token. */ + $this->inBody( + array( + 'name' => 'body', + 'type' => HTML5::ENDTAG + ) + ); + + return $this->afterBody($token); + break; + + /* An end tag whose tag name is one of: "address", "blockquote", + "center", "dir", "div", "dl", "fieldset", "listing", "menu", + "ol", "pre", "ul" */ + case 'address': + case 'blockquote': + case 'center': + case 'dir': + case 'div': + case 'dl': + case 'fieldset': + case 'listing': + case 'menu': + case 'ol': + case 'pre': + case 'ul': + /* If the stack of open elements has an element in scope + with the same tag name as that of the token, then generate + implied end tags. */ + if ($this->elementInScope($token['name'])) { + $this->generateImpliedEndTags(); + + /* Now, if the current node is not an element with + the same tag name as that of the token, then this + is a parse error. */ + // w/e + + /* If the stack of open elements has an element in + scope with the same tag name as that of the token, + then pop elements from this stack until an element + with that tag name has been popped from the stack. */ + for ($n = count($this->stack) - 1; $n >= 0; $n--) { + if ($this->stack[$n]->nodeName === $token['name']) { + $n = -1; + } + + array_pop($this->stack); + } + } + break; + + /* An end tag whose tag name is "form" */ + case 'form': + /* If the stack of open elements has an element in scope + with the same tag name as that of the token, then generate + implied end tags. */ + if ($this->elementInScope($token['name'])) { + $this->generateImpliedEndTags(); + + } + + if (end($this->stack)->nodeName !== $token['name']) { + /* Now, if the current node is not an element with the + same tag name as that of the token, then this is a parse + error. */ + // w/e + + } else { + /* Otherwise, if the current node is an element with + the same tag name as that of the token pop that element + from the stack. */ + array_pop($this->stack); + } + + /* In any case, set the form element pointer to null. */ + $this->form_pointer = null; + break; + + /* An end tag whose tag name is "p" */ + case 'p': + /* If the stack of open elements has a p element in scope, + then generate implied end tags, except for p elements. */ + if ($this->elementInScope('p')) { + $this->generateImpliedEndTags(array('p')); + + /* If the current node is not a p element, then this is + a parse error. */ + // k + + /* If the stack of open elements has a p element in + scope, then pop elements from this stack until the stack + no longer has a p element in scope. */ + for ($n = count($this->stack) - 1; $n >= 0; $n--) { + if ($this->elementInScope('p')) { + array_pop($this->stack); + + } else { + break; + } + } + } + break; + + /* An end tag whose tag name is "dd", "dt", or "li" */ + case 'dd': + case 'dt': + case 'li': + /* If the stack of open elements has an element in scope + whose tag name matches the tag name of the token, then + generate implied end tags, except for elements with the + same tag name as the token. */ + if ($this->elementInScope($token['name'])) { + $this->generateImpliedEndTags(array($token['name'])); + + /* If the current node is not an element with the same + tag name as the token, then this is a parse error. */ + // w/e + + /* If the stack of open elements has an element in scope + whose tag name matches the tag name of the token, then + pop elements from this stack until an element with that + tag name has been popped from the stack. */ + for ($n = count($this->stack) - 1; $n >= 0; $n--) { + if ($this->stack[$n]->nodeName === $token['name']) { + $n = -1; + } + + array_pop($this->stack); + } + } + break; + + /* An end tag whose tag name is one of: "h1", "h2", "h3", "h4", + "h5", "h6" */ + case 'h1': + case 'h2': + case 'h3': + case 'h4': + case 'h5': + case 'h6': + $elements = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'); + + /* If the stack of open elements has in scope an element whose + tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then + generate implied end tags. */ + if ($this->elementInScope($elements)) { + $this->generateImpliedEndTags(); + + /* Now, if the current node is not an element with the same + tag name as that of the token, then this is a parse error. */ + // w/e + + /* If the stack of open elements has in scope an element + whose tag name is one of "h1", "h2", "h3", "h4", "h5", or + "h6", then pop elements from the stack until an element + with one of those tag names has been popped from the stack. */ + while ($this->elementInScope($elements)) { + array_pop($this->stack); + } + } + break; + + /* An end tag whose tag name is one of: "a", "b", "big", "em", + "font", "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */ + case 'a': + case 'b': + case 'big': + case 'em': + case 'font': + case 'i': + case 'nobr': + case 's': + case 'small': + case 'strike': + case 'strong': + case 'tt': + case 'u': + /* 1. Let the formatting element be the last element in + the list of active formatting elements that: + * is between the end of the list and the last scope + marker in the list, if any, or the start of the list + otherwise, and + * has the same tag name as the token. + */ + while (true) { + for ($a = count($this->a_formatting) - 1; $a >= 0; $a--) { + if ($this->a_formatting[$a] === self::MARKER) { + break; + + } elseif ($this->a_formatting[$a]->tagName === $token['name']) { + $formatting_element = $this->a_formatting[$a]; + $in_stack = in_array($formatting_element, $this->stack, true); + $fe_af_pos = $a; + break; + } + } + + /* If there is no such node, or, if that node is + also in the stack of open elements but the element + is not in scope, then this is a parse error. Abort + these steps. The token is ignored. */ + if (!isset($formatting_element) || ($in_stack && + !$this->elementInScope($token['name'])) + ) { + break; + + /* Otherwise, if there is such a node, but that node + is not in the stack of open elements, then this is a + parse error; remove the element from the list, and + abort these steps. */ + } elseif (isset($formatting_element) && !$in_stack) { + unset($this->a_formatting[$fe_af_pos]); + $this->a_formatting = array_merge($this->a_formatting); + break; + } + + /* 2. Let the furthest block be the topmost node in the + stack of open elements that is lower in the stack + than the formatting element, and is not an element in + the phrasing or formatting categories. There might + not be one. */ + $fe_s_pos = array_search($formatting_element, $this->stack, true); + $length = count($this->stack); + + for ($s = $fe_s_pos + 1; $s < $length; $s++) { + $category = $this->getElementCategory($this->stack[$s]->nodeName); + + if ($category !== self::PHRASING && $category !== self::FORMATTING) { + $furthest_block = $this->stack[$s]; + } + } + + /* 3. If there is no furthest block, then the UA must + skip the subsequent steps and instead just pop all + the nodes from the bottom of the stack of open + elements, from the current node up to the formatting + element, and remove the formatting element from the + list of active formatting elements. */ + if (!isset($furthest_block)) { + for ($n = $length - 1; $n >= $fe_s_pos; $n--) { + array_pop($this->stack); + } + + unset($this->a_formatting[$fe_af_pos]); + $this->a_formatting = array_merge($this->a_formatting); + break; + } + + /* 4. Let the common ancestor be the element + immediately above the formatting element in the stack + of open elements. */ + $common_ancestor = $this->stack[$fe_s_pos - 1]; + + /* 5. If the furthest block has a parent node, then + remove the furthest block from its parent node. */ + if ($furthest_block->parentNode !== null) { + $furthest_block->parentNode->removeChild($furthest_block); + } + + /* 6. Let a bookmark note the position of the + formatting element in the list of active formatting + elements relative to the elements on either side + of it in the list. */ + $bookmark = $fe_af_pos; + + /* 7. Let node and last node be the furthest block. + Follow these steps: */ + $node = $furthest_block; + $last_node = $furthest_block; + + while (true) { + for ($n = array_search($node, $this->stack, true) - 1; $n >= 0; $n--) { + /* 7.1 Let node be the element immediately + prior to node in the stack of open elements. */ + $node = $this->stack[$n]; + + /* 7.2 If node is not in the list of active + formatting elements, then remove node from + the stack of open elements and then go back + to step 1. */ + if (!in_array($node, $this->a_formatting, true)) { + unset($this->stack[$n]); + $this->stack = array_merge($this->stack); + + } else { + break; + } + } + + /* 7.3 Otherwise, if node is the formatting + element, then go to the next step in the overall + algorithm. */ + if ($node === $formatting_element) { + break; + + /* 7.4 Otherwise, if last node is the furthest + block, then move the aforementioned bookmark to + be immediately after the node in the list of + active formatting elements. */ + } elseif ($last_node === $furthest_block) { + $bookmark = array_search($node, $this->a_formatting, true) + 1; + } + + /* 7.5 If node has any children, perform a + shallow clone of node, replace the entry for + node in the list of active formatting elements + with an entry for the clone, replace the entry + for node in the stack of open elements with an + entry for the clone, and let node be the clone. */ + if ($node->hasChildNodes()) { + $clone = $node->cloneNode(); + $s_pos = array_search($node, $this->stack, true); + $a_pos = array_search($node, $this->a_formatting, true); + + $this->stack[$s_pos] = $clone; + $this->a_formatting[$a_pos] = $clone; + $node = $clone; + } + + /* 7.6 Insert last node into node, first removing + it from its previous parent node if any. */ + if ($last_node->parentNode !== null) { + $last_node->parentNode->removeChild($last_node); + } + + $node->appendChild($last_node); + + /* 7.7 Let last node be node. */ + $last_node = $node; + } + + /* 8. Insert whatever last node ended up being in + the previous step into the common ancestor node, + first removing it from its previous parent node if + any. */ + if ($last_node->parentNode !== null) { + $last_node->parentNode->removeChild($last_node); + } + + $common_ancestor->appendChild($last_node); + + /* 9. Perform a shallow clone of the formatting + element. */ + $clone = $formatting_element->cloneNode(); + + /* 10. Take all of the child nodes of the furthest + block and append them to the clone created in the + last step. */ + while ($furthest_block->hasChildNodes()) { + $child = $furthest_block->firstChild; + $furthest_block->removeChild($child); + $clone->appendChild($child); + } + + /* 11. Append that clone to the furthest block. */ + $furthest_block->appendChild($clone); + + /* 12. Remove the formatting element from the list + of active formatting elements, and insert the clone + into the list of active formatting elements at the + position of the aforementioned bookmark. */ + $fe_af_pos = array_search($formatting_element, $this->a_formatting, true); + unset($this->a_formatting[$fe_af_pos]); + $this->a_formatting = array_merge($this->a_formatting); + + $af_part1 = array_slice($this->a_formatting, 0, $bookmark - 1); + $af_part2 = array_slice($this->a_formatting, $bookmark, count($this->a_formatting)); + $this->a_formatting = array_merge($af_part1, array($clone), $af_part2); + + /* 13. Remove the formatting element from the stack + of open elements, and insert the clone into the stack + of open elements immediately after (i.e. in a more + deeply nested position than) the position of the + furthest block in that stack. */ + $fe_s_pos = array_search($formatting_element, $this->stack, true); + $fb_s_pos = array_search($furthest_block, $this->stack, true); + unset($this->stack[$fe_s_pos]); + + $s_part1 = array_slice($this->stack, 0, $fb_s_pos); + $s_part2 = array_slice($this->stack, $fb_s_pos + 1, count($this->stack)); + $this->stack = array_merge($s_part1, array($clone), $s_part2); + + /* 14. Jump back to step 1 in this series of steps. */ + unset($formatting_element, $fe_af_pos, $fe_s_pos, $furthest_block); + } + break; + + /* An end tag token whose tag name is one of: "button", + "marquee", "object" */ + case 'button': + case 'marquee': + case 'object': + /* If the stack of open elements has an element in scope whose + tag name matches the tag name of the token, then generate implied + tags. */ + if ($this->elementInScope($token['name'])) { + $this->generateImpliedEndTags(); + + /* Now, if the current node is not an element with the same + tag name as the token, then this is a parse error. */ + // k + + /* Now, if the stack of open elements has an element in scope + whose tag name matches the tag name of the token, then pop + elements from the stack until that element has been popped from + the stack, and clear the list of active formatting elements up + to the last marker. */ + for ($n = count($this->stack) - 1; $n >= 0; $n--) { + if ($this->stack[$n]->nodeName === $token['name']) { + $n = -1; + } + + array_pop($this->stack); + } + + $marker = end(array_keys($this->a_formatting, self::MARKER, true)); + + for ($n = count($this->a_formatting) - 1; $n > $marker; $n--) { + array_pop($this->a_formatting); + } + } + break; + + /* Or an end tag whose tag name is one of: "area", "basefont", + "bgsound", "br", "embed", "hr", "iframe", "image", "img", + "input", "isindex", "noembed", "noframes", "param", "select", + "spacer", "table", "textarea", "wbr" */ + case 'area': + case 'basefont': + case 'bgsound': + case 'br': + case 'embed': + case 'hr': + case 'iframe': + case 'image': + case 'img': + case 'input': + case 'isindex': + case 'noembed': + case 'noframes': + case 'param': + case 'select': + case 'spacer': + case 'table': + case 'textarea': + case 'wbr': + // Parse error. Ignore the token. + break; + + /* An end tag token not covered by the previous entries */ + default: + for ($n = count($this->stack) - 1; $n >= 0; $n--) { + /* Initialise node to be the current node (the bottommost + node of the stack). */ + $node = end($this->stack); + + /* If node has the same tag name as the end tag token, + then: */ + if ($token['name'] === $node->nodeName) { + /* Generate implied end tags. */ + $this->generateImpliedEndTags(); + + /* If the tag name of the end tag token does not + match the tag name of the current node, this is a + parse error. */ + // k + + /* Pop all the nodes from the current node up to + node, including node, then stop this algorithm. */ + for ($x = count($this->stack) - $n; $x >= $n; $x--) { + array_pop($this->stack); + } + + } else { + $category = $this->getElementCategory($node); + + if ($category !== self::SPECIAL && $category !== self::SCOPING) { + /* Otherwise, if node is in neither the formatting + category nor the phrasing category, then this is a + parse error. Stop this algorithm. The end tag token + is ignored. */ + return false; + } + } + } + break; + } + break; + } + } + + private function inTable($token) + { + $clear = array('html', 'table'); + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE */ + if ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Append the character to the current node. */ + $text = $this->dom->createTextNode($token['data']); + end($this->stack)->appendChild($text); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the current node with the data + attribute set to the data given in the comment token. */ + $comment = $this->dom->createComment($token['data']); + end($this->stack)->appendChild($comment); + + /* A start tag whose tag name is "caption" */ + } elseif ($token['type'] === HTML5::STARTTAG && + $token['name'] === 'caption' + ) { + /* Clear the stack back to a table context. */ + $this->clearStackToTableContext($clear); + + /* Insert a marker at the end of the list of active + formatting elements. */ + $this->a_formatting[] = self::MARKER; + + /* Insert an HTML element for the token, then switch the + insertion mode to "in caption". */ + $this->insertElement($token); + $this->mode = self::IN_CAPTION; + + /* A start tag whose tag name is "colgroup" */ + } elseif ($token['type'] === HTML5::STARTTAG && + $token['name'] === 'colgroup' + ) { + /* Clear the stack back to a table context. */ + $this->clearStackToTableContext($clear); + + /* Insert an HTML element for the token, then switch the + insertion mode to "in column group". */ + $this->insertElement($token); + $this->mode = self::IN_CGROUP; + + /* A start tag whose tag name is "col" */ + } elseif ($token['type'] === HTML5::STARTTAG && + $token['name'] === 'col' + ) { + $this->inTable( + array( + 'name' => 'colgroup', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + $this->inColumnGroup($token); + + /* A start tag whose tag name is one of: "tbody", "tfoot", "thead" */ + } elseif ($token['type'] === HTML5::STARTTAG && in_array( + $token['name'], + array('tbody', 'tfoot', 'thead') + ) + ) { + /* Clear the stack back to a table context. */ + $this->clearStackToTableContext($clear); + + /* Insert an HTML element for the token, then switch the insertion + mode to "in table body". */ + $this->insertElement($token); + $this->mode = self::IN_TBODY; + + /* A start tag whose tag name is one of: "td", "th", "tr" */ + } elseif ($token['type'] === HTML5::STARTTAG && + in_array($token['name'], array('td', 'th', 'tr')) + ) { + /* Act as if a start tag token with the tag name "tbody" had been + seen, then reprocess the current token. */ + $this->inTable( + array( + 'name' => 'tbody', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + return $this->inTableBody($token); + + /* A start tag whose tag name is "table" */ + } elseif ($token['type'] === HTML5::STARTTAG && + $token['name'] === 'table' + ) { + /* Parse error. Act as if an end tag token with the tag name "table" + had been seen, then, if that token wasn't ignored, reprocess the + current token. */ + $this->inTable( + array( + 'name' => 'table', + 'type' => HTML5::ENDTAG + ) + ); + + return $this->mainPhase($token); + + /* An end tag whose tag name is "table" */ + } elseif ($token['type'] === HTML5::ENDTAG && + $token['name'] === 'table' + ) { + /* If the stack of open elements does not have an element in table + scope with the same tag name as the token, this is a parse error. + Ignore the token. (innerHTML case) */ + if (!$this->elementInScope($token['name'], true)) { + return false; + + /* Otherwise: */ + } else { + /* Generate implied end tags. */ + $this->generateImpliedEndTags(); + + /* Now, if the current node is not a table element, then this + is a parse error. */ + // w/e + + /* Pop elements from this stack until a table element has been + popped from the stack. */ + while (true) { + $current = end($this->stack)->nodeName; + array_pop($this->stack); + + if ($current === 'table') { + break; + } + } + + /* Reset the insertion mode appropriately. */ + $this->resetInsertionMode(); + } + + /* An end tag whose tag name is one of: "body", "caption", "col", + "colgroup", "html", "tbody", "td", "tfoot", "th", "thead", "tr" */ + } elseif ($token['type'] === HTML5::ENDTAG && in_array( + $token['name'], + array( + 'body', + 'caption', + 'col', + 'colgroup', + 'html', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'tr' + ) + ) + ) { + // Parse error. Ignore the token. + + /* Anything else */ + } else { + /* Parse error. Process the token as if the insertion mode was "in + body", with the following exception: */ + + /* If the current node is a table, tbody, tfoot, thead, or tr + element, then, whenever a node would be inserted into the current + node, it must instead be inserted into the foster parent element. */ + if (in_array( + end($this->stack)->nodeName, + array('table', 'tbody', 'tfoot', 'thead', 'tr') + ) + ) { + /* The foster parent element is the parent element of the last + table element in the stack of open elements, if there is a + table element and it has such a parent element. If there is no + table element in the stack of open elements (innerHTML case), + then the foster parent element is the first element in the + stack of open elements (the html element). Otherwise, if there + is a table element in the stack of open elements, but the last + table element in the stack of open elements has no parent, or + its parent node is not an element, then the foster parent + element is the element before the last table element in the + stack of open elements. */ + for ($n = count($this->stack) - 1; $n >= 0; $n--) { + if ($this->stack[$n]->nodeName === 'table') { + $table = $this->stack[$n]; + break; + } + } + + if (isset($table) && $table->parentNode !== null) { + $this->foster_parent = $table->parentNode; + + } elseif (!isset($table)) { + $this->foster_parent = $this->stack[0]; + + } elseif (isset($table) && ($table->parentNode === null || + $table->parentNode->nodeType !== XML_ELEMENT_NODE) + ) { + $this->foster_parent = $this->stack[$n - 1]; + } + } + + $this->inBody($token); + } + } + + private function inCaption($token) + { + /* An end tag whose tag name is "caption" */ + if ($token['type'] === HTML5::ENDTAG && $token['name'] === 'caption') { + /* If the stack of open elements does not have an element in table + scope with the same tag name as the token, this is a parse error. + Ignore the token. (innerHTML case) */ + if (!$this->elementInScope($token['name'], true)) { + // Ignore + + /* Otherwise: */ + } else { + /* Generate implied end tags. */ + $this->generateImpliedEndTags(); + + /* Now, if the current node is not a caption element, then this + is a parse error. */ + // w/e + + /* Pop elements from this stack until a caption element has + been popped from the stack. */ + while (true) { + $node = end($this->stack)->nodeName; + array_pop($this->stack); + + if ($node === 'caption') { + break; + } + } + + /* Clear the list of active formatting elements up to the last + marker. */ + $this->clearTheActiveFormattingElementsUpToTheLastMarker(); + + /* Switch the insertion mode to "in table". */ + $this->mode = self::IN_TABLE; + } + + /* A start tag whose tag name is one of: "caption", "col", "colgroup", + "tbody", "td", "tfoot", "th", "thead", "tr", or an end tag whose tag + name is "table" */ + } elseif (($token['type'] === HTML5::STARTTAG && in_array( + $token['name'], + array( + 'caption', + 'col', + 'colgroup', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'tr' + ) + )) || ($token['type'] === HTML5::ENDTAG && + $token['name'] === 'table') + ) { + /* Parse error. Act as if an end tag with the tag name "caption" + had been seen, then, if that token wasn't ignored, reprocess the + current token. */ + $this->inCaption( + array( + 'name' => 'caption', + 'type' => HTML5::ENDTAG + ) + ); + + return $this->inTable($token); + + /* An end tag whose tag name is one of: "body", "col", "colgroup", + "html", "tbody", "td", "tfoot", "th", "thead", "tr" */ + } elseif ($token['type'] === HTML5::ENDTAG && in_array( + $token['name'], + array( + 'body', + 'col', + 'colgroup', + 'html', + 'tbody', + 'tfoot', + 'th', + 'thead', + 'tr' + ) + ) + ) { + // Parse error. Ignore the token. + + /* Anything else */ + } else { + /* Process the token as if the insertion mode was "in body". */ + $this->inBody($token); + } + } + + private function inColumnGroup($token) + { + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE */ + if ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Append the character to the current node. */ + $text = $this->dom->createTextNode($token['data']); + end($this->stack)->appendChild($text); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the current node with the data + attribute set to the data given in the comment token. */ + $comment = $this->dom->createComment($token['data']); + end($this->stack)->appendChild($comment); + + /* A start tag whose tag name is "col" */ + } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'col') { + /* Insert a col element for the token. Immediately pop the current + node off the stack of open elements. */ + $this->insertElement($token); + array_pop($this->stack); + + /* An end tag whose tag name is "colgroup" */ + } elseif ($token['type'] === HTML5::ENDTAG && + $token['name'] === 'colgroup' + ) { + /* If the current node is the root html element, then this is a + parse error, ignore the token. (innerHTML case) */ + if (end($this->stack)->nodeName === 'html') { + // Ignore + + /* Otherwise, pop the current node (which will be a colgroup + element) from the stack of open elements. Switch the insertion + mode to "in table". */ + } else { + array_pop($this->stack); + $this->mode = self::IN_TABLE; + } + + /* An end tag whose tag name is "col" */ + } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'col') { + /* Parse error. Ignore the token. */ + + /* Anything else */ + } else { + /* Act as if an end tag with the tag name "colgroup" had been seen, + and then, if that token wasn't ignored, reprocess the current token. */ + $this->inColumnGroup( + array( + 'name' => 'colgroup', + 'type' => HTML5::ENDTAG + ) + ); + + return $this->inTable($token); + } + } + + private function inTableBody($token) + { + $clear = array('tbody', 'tfoot', 'thead', 'html'); + + /* A start tag whose tag name is "tr" */ + if ($token['type'] === HTML5::STARTTAG && $token['name'] === 'tr') { + /* Clear the stack back to a table body context. */ + $this->clearStackToTableContext($clear); + + /* Insert a tr element for the token, then switch the insertion + mode to "in row". */ + $this->insertElement($token); + $this->mode = self::IN_ROW; + + /* A start tag whose tag name is one of: "th", "td" */ + } elseif ($token['type'] === HTML5::STARTTAG && + ($token['name'] === 'th' || $token['name'] === 'td') + ) { + /* Parse error. Act as if a start tag with the tag name "tr" had + been seen, then reprocess the current token. */ + $this->inTableBody( + array( + 'name' => 'tr', + 'type' => HTML5::STARTTAG, + 'attr' => array() + ) + ); + + return $this->inRow($token); + + /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */ + } elseif ($token['type'] === HTML5::ENDTAG && + in_array($token['name'], array('tbody', 'tfoot', 'thead')) + ) { + /* If the stack of open elements does not have an element in table + scope with the same tag name as the token, this is a parse error. + Ignore the token. */ + if (!$this->elementInScope($token['name'], true)) { + // Ignore + + /* Otherwise: */ + } else { + /* Clear the stack back to a table body context. */ + $this->clearStackToTableContext($clear); + + /* Pop the current node from the stack of open elements. Switch + the insertion mode to "in table". */ + array_pop($this->stack); + $this->mode = self::IN_TABLE; + } + + /* A start tag whose tag name is one of: "caption", "col", "colgroup", + "tbody", "tfoot", "thead", or an end tag whose tag name is "table" */ + } elseif (($token['type'] === HTML5::STARTTAG && in_array( + $token['name'], + array('caption', 'col', 'colgroup', 'tbody', 'tfoor', 'thead') + )) || + ($token['type'] === HTML5::STARTTAG && $token['name'] === 'table') + ) { + /* If the stack of open elements does not have a tbody, thead, or + tfoot element in table scope, this is a parse error. Ignore the + token. (innerHTML case) */ + if (!$this->elementInScope(array('tbody', 'thead', 'tfoot'), true)) { + // Ignore. + + /* Otherwise: */ + } else { + /* Clear the stack back to a table body context. */ + $this->clearStackToTableContext($clear); + + /* Act as if an end tag with the same tag name as the current + node ("tbody", "tfoot", or "thead") had been seen, then + reprocess the current token. */ + $this->inTableBody( + array( + 'name' => end($this->stack)->nodeName, + 'type' => HTML5::ENDTAG + ) + ); + + return $this->mainPhase($token); + } + + /* An end tag whose tag name is one of: "body", "caption", "col", + "colgroup", "html", "td", "th", "tr" */ + } elseif ($token['type'] === HTML5::ENDTAG && in_array( + $token['name'], + array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr') + ) + ) { + /* Parse error. Ignore the token. */ + + /* Anything else */ + } else { + /* Process the token as if the insertion mode was "in table". */ + $this->inTable($token); + } + } + + private function inRow($token) + { + $clear = array('tr', 'html'); + + /* A start tag whose tag name is one of: "th", "td" */ + if ($token['type'] === HTML5::STARTTAG && + ($token['name'] === 'th' || $token['name'] === 'td') + ) { + /* Clear the stack back to a table row context. */ + $this->clearStackToTableContext($clear); + + /* Insert an HTML element for the token, then switch the insertion + mode to "in cell". */ + $this->insertElement($token); + $this->mode = self::IN_CELL; + + /* Insert a marker at the end of the list of active formatting + elements. */ + $this->a_formatting[] = self::MARKER; + + /* An end tag whose tag name is "tr" */ + } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'tr') { + /* If the stack of open elements does not have an element in table + scope with the same tag name as the token, this is a parse error. + Ignore the token. (innerHTML case) */ + if (!$this->elementInScope($token['name'], true)) { + // Ignore. + + /* Otherwise: */ + } else { + /* Clear the stack back to a table row context. */ + $this->clearStackToTableContext($clear); + + /* Pop the current node (which will be a tr element) from the + stack of open elements. Switch the insertion mode to "in table + body". */ + array_pop($this->stack); + $this->mode = self::IN_TBODY; + } + + /* A start tag whose tag name is one of: "caption", "col", "colgroup", + "tbody", "tfoot", "thead", "tr" or an end tag whose tag name is "table" */ + } elseif ($token['type'] === HTML5::STARTTAG && in_array( + $token['name'], + array('caption', 'col', 'colgroup', 'tbody', 'tfoot', 'thead', 'tr') + ) + ) { + /* Act as if an end tag with the tag name "tr" had been seen, then, + if that token wasn't ignored, reprocess the current token. */ + $this->inRow( + array( + 'name' => 'tr', + 'type' => HTML5::ENDTAG + ) + ); + + return $this->inCell($token); + + /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */ + } elseif ($token['type'] === HTML5::ENDTAG && + in_array($token['name'], array('tbody', 'tfoot', 'thead')) + ) { + /* If the stack of open elements does not have an element in table + scope with the same tag name as the token, this is a parse error. + Ignore the token. */ + if (!$this->elementInScope($token['name'], true)) { + // Ignore. + + /* Otherwise: */ + } else { + /* Otherwise, act as if an end tag with the tag name "tr" had + been seen, then reprocess the current token. */ + $this->inRow( + array( + 'name' => 'tr', + 'type' => HTML5::ENDTAG + ) + ); + + return $this->inCell($token); + } + + /* An end tag whose tag name is one of: "body", "caption", "col", + "colgroup", "html", "td", "th" */ + } elseif ($token['type'] === HTML5::ENDTAG && in_array( + $token['name'], + array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr') + ) + ) { + /* Parse error. Ignore the token. */ + + /* Anything else */ + } else { + /* Process the token as if the insertion mode was "in table". */ + $this->inTable($token); + } + } + + private function inCell($token) + { + /* An end tag whose tag name is one of: "td", "th" */ + if ($token['type'] === HTML5::ENDTAG && + ($token['name'] === 'td' || $token['name'] === 'th') + ) { + /* If the stack of open elements does not have an element in table + scope with the same tag name as that of the token, then this is a + parse error and the token must be ignored. */ + if (!$this->elementInScope($token['name'], true)) { + // Ignore. + + /* Otherwise: */ + } else { + /* Generate implied end tags, except for elements with the same + tag name as the token. */ + $this->generateImpliedEndTags(array($token['name'])); + + /* Now, if the current node is not an element with the same tag + name as the token, then this is a parse error. */ + // k + + /* Pop elements from this stack until an element with the same + tag name as the token has been popped from the stack. */ + while (true) { + $node = end($this->stack)->nodeName; + array_pop($this->stack); + + if ($node === $token['name']) { + break; + } + } + + /* Clear the list of active formatting elements up to the last + marker. */ + $this->clearTheActiveFormattingElementsUpToTheLastMarker(); + + /* Switch the insertion mode to "in row". (The current node + will be a tr element at this point.) */ + $this->mode = self::IN_ROW; + } + + /* A start tag whose tag name is one of: "caption", "col", "colgroup", + "tbody", "td", "tfoot", "th", "thead", "tr" */ + } elseif ($token['type'] === HTML5::STARTTAG && in_array( + $token['name'], + array( + 'caption', + 'col', + 'colgroup', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'tr' + ) + ) + ) { + /* If the stack of open elements does not have a td or th element + in table scope, then this is a parse error; ignore the token. + (innerHTML case) */ + if (!$this->elementInScope(array('td', 'th'), true)) { + // Ignore. + + /* Otherwise, close the cell (see below) and reprocess the current + token. */ + } else { + $this->closeCell(); + return $this->inRow($token); + } + + /* A start tag whose tag name is one of: "caption", "col", "colgroup", + "tbody", "td", "tfoot", "th", "thead", "tr" */ + } elseif ($token['type'] === HTML5::STARTTAG && in_array( + $token['name'], + array( + 'caption', + 'col', + 'colgroup', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'tr' + ) + ) + ) { + /* If the stack of open elements does not have a td or th element + in table scope, then this is a parse error; ignore the token. + (innerHTML case) */ + if (!$this->elementInScope(array('td', 'th'), true)) { + // Ignore. + + /* Otherwise, close the cell (see below) and reprocess the current + token. */ + } else { + $this->closeCell(); + return $this->inRow($token); + } + + /* An end tag whose tag name is one of: "body", "caption", "col", + "colgroup", "html" */ + } elseif ($token['type'] === HTML5::ENDTAG && in_array( + $token['name'], + array('body', 'caption', 'col', 'colgroup', 'html') + ) + ) { + /* Parse error. Ignore the token. */ + + /* An end tag whose tag name is one of: "table", "tbody", "tfoot", + "thead", "tr" */ + } elseif ($token['type'] === HTML5::ENDTAG && in_array( + $token['name'], + array('table', 'tbody', 'tfoot', 'thead', 'tr') + ) + ) { + /* If the stack of open elements does not have an element in table + scope with the same tag name as that of the token (which can only + happen for "tbody", "tfoot" and "thead", or, in the innerHTML case), + then this is a parse error and the token must be ignored. */ + if (!$this->elementInScope($token['name'], true)) { + // Ignore. + + /* Otherwise, close the cell (see below) and reprocess the current + token. */ + } else { + $this->closeCell(); + return $this->inRow($token); + } + + /* Anything else */ + } else { + /* Process the token as if the insertion mode was "in body". */ + $this->inBody($token); + } + } + + private function inSelect($token) + { + /* Handle the token as follows: */ + + /* A character token */ + if ($token['type'] === HTML5::CHARACTR) { + /* Append the token's character to the current node. */ + $this->insertText($token['data']); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the current node with the data + attribute set to the data given in the comment token. */ + $this->insertComment($token['data']); + + /* A start tag token whose tag name is "option" */ + } elseif ($token['type'] === HTML5::STARTTAG && + $token['name'] === 'option' + ) { + /* If the current node is an option element, act as if an end tag + with the tag name "option" had been seen. */ + if (end($this->stack)->nodeName === 'option') { + $this->inSelect( + array( + 'name' => 'option', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* A start tag token whose tag name is "optgroup" */ + } elseif ($token['type'] === HTML5::STARTTAG && + $token['name'] === 'optgroup' + ) { + /* If the current node is an option element, act as if an end tag + with the tag name "option" had been seen. */ + if (end($this->stack)->nodeName === 'option') { + $this->inSelect( + array( + 'name' => 'option', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* If the current node is an optgroup element, act as if an end tag + with the tag name "optgroup" had been seen. */ + if (end($this->stack)->nodeName === 'optgroup') { + $this->inSelect( + array( + 'name' => 'optgroup', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* An end tag token whose tag name is "optgroup" */ + } elseif ($token['type'] === HTML5::ENDTAG && + $token['name'] === 'optgroup' + ) { + /* First, if the current node is an option element, and the node + immediately before it in the stack of open elements is an optgroup + element, then act as if an end tag with the tag name "option" had + been seen. */ + $elements_in_stack = count($this->stack); + + if ($this->stack[$elements_in_stack - 1]->nodeName === 'option' && + $this->stack[$elements_in_stack - 2]->nodeName === 'optgroup' + ) { + $this->inSelect( + array( + 'name' => 'option', + 'type' => HTML5::ENDTAG + ) + ); + } + + /* If the current node is an optgroup element, then pop that node + from the stack of open elements. Otherwise, this is a parse error, + ignore the token. */ + if ($this->stack[$elements_in_stack - 1] === 'optgroup') { + array_pop($this->stack); + } + + /* An end tag token whose tag name is "option" */ + } elseif ($token['type'] === HTML5::ENDTAG && + $token['name'] === 'option' + ) { + /* If the current node is an option element, then pop that node + from the stack of open elements. Otherwise, this is a parse error, + ignore the token. */ + if (end($this->stack)->nodeName === 'option') { + array_pop($this->stack); + } + + /* An end tag whose tag name is "select" */ + } elseif ($token['type'] === HTML5::ENDTAG && + $token['name'] === 'select' + ) { + /* If the stack of open elements does not have an element in table + scope with the same tag name as the token, this is a parse error. + Ignore the token. (innerHTML case) */ + if (!$this->elementInScope($token['name'], true)) { + // w/e + + /* Otherwise: */ + } else { + /* Pop elements from the stack of open elements until a select + element has been popped from the stack. */ + while (true) { + $current = end($this->stack)->nodeName; + array_pop($this->stack); + + if ($current === 'select') { + break; + } + } + + /* Reset the insertion mode appropriately. */ + $this->resetInsertionMode(); + } + + /* A start tag whose tag name is "select" */ + } elseif ($token['name'] === 'select' && + $token['type'] === HTML5::STARTTAG + ) { + /* Parse error. Act as if the token had been an end tag with the + tag name "select" instead. */ + $this->inSelect( + array( + 'name' => 'select', + 'type' => HTML5::ENDTAG + ) + ); + + /* An end tag whose tag name is one of: "caption", "table", "tbody", + "tfoot", "thead", "tr", "td", "th" */ + } elseif (in_array( + $token['name'], + array( + 'caption', + 'table', + 'tbody', + 'tfoot', + 'thead', + 'tr', + 'td', + 'th' + ) + ) && $token['type'] === HTML5::ENDTAG + ) { + /* Parse error. */ + // w/e + + /* If the stack of open elements has an element in table scope with + the same tag name as that of the token, then act as if an end tag + with the tag name "select" had been seen, and reprocess the token. + Otherwise, ignore the token. */ + if ($this->elementInScope($token['name'], true)) { + $this->inSelect( + array( + 'name' => 'select', + 'type' => HTML5::ENDTAG + ) + ); + + $this->mainPhase($token); + } + + /* Anything else */ + } else { + /* Parse error. Ignore the token. */ + } + } + + private function afterBody($token) + { + /* Handle the token as follows: */ + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE */ + if ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Process the token as it would be processed if the insertion mode + was "in body". */ + $this->inBody($token); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the first element in the stack of open + elements (the html element), with the data attribute set to the + data given in the comment token. */ + $comment = $this->dom->createComment($token['data']); + $this->stack[0]->appendChild($comment); + + /* An end tag with the tag name "html" */ + } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') { + /* If the parser was originally created in order to handle the + setting of an element's innerHTML attribute, this is a parse error; + ignore the token. (The element will be an html element in this + case.) (innerHTML case) */ + + /* Otherwise, switch to the trailing end phase. */ + $this->phase = self::END_PHASE; + + /* Anything else */ + } else { + /* Parse error. Set the insertion mode to "in body" and reprocess + the token. */ + $this->mode = self::IN_BODY; + return $this->inBody($token); + } + } + + private function inFrameset($token) + { + /* Handle the token as follows: */ + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + U+000D CARRIAGE RETURN (CR), or U+0020 SPACE */ + if ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Append the character to the current node. */ + $this->insertText($token['data']); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the current node with the data + attribute set to the data given in the comment token. */ + $this->insertComment($token['data']); + + /* A start tag with the tag name "frameset" */ + } elseif ($token['name'] === 'frameset' && + $token['type'] === HTML5::STARTTAG + ) { + $this->insertElement($token); + + /* An end tag with the tag name "frameset" */ + } elseif ($token['name'] === 'frameset' && + $token['type'] === HTML5::ENDTAG + ) { + /* If the current node is the root html element, then this is a + parse error; ignore the token. (innerHTML case) */ + if (end($this->stack)->nodeName === 'html') { + // Ignore + + } else { + /* Otherwise, pop the current node from the stack of open + elements. */ + array_pop($this->stack); + + /* If the parser was not originally created in order to handle + the setting of an element's innerHTML attribute (innerHTML case), + and the current node is no longer a frameset element, then change + the insertion mode to "after frameset". */ + $this->mode = self::AFTR_FRAME; + } + + /* A start tag with the tag name "frame" */ + } elseif ($token['name'] === 'frame' && + $token['type'] === HTML5::STARTTAG + ) { + /* Insert an HTML element for the token. */ + $this->insertElement($token); + + /* Immediately pop the current node off the stack of open elements. */ + array_pop($this->stack); + + /* A start tag with the tag name "noframes" */ + } elseif ($token['name'] === 'noframes' && + $token['type'] === HTML5::STARTTAG + ) { + /* Process the token as if the insertion mode had been "in body". */ + $this->inBody($token); + + /* Anything else */ + } else { + /* Parse error. Ignore the token. */ + } + } + + private function afterFrameset($token) + { + /* Handle the token as follows: */ + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + U+000D CARRIAGE RETURN (CR), or U+0020 SPACE */ + if ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Append the character to the current node. */ + $this->insertText($token['data']); + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the current node with the data + attribute set to the data given in the comment token. */ + $this->insertComment($token['data']); + + /* An end tag with the tag name "html" */ + } elseif ($token['name'] === 'html' && + $token['type'] === HTML5::ENDTAG + ) { + /* Switch to the trailing end phase. */ + $this->phase = self::END_PHASE; + + /* A start tag with the tag name "noframes" */ + } elseif ($token['name'] === 'noframes' && + $token['type'] === HTML5::STARTTAG + ) { + /* Process the token as if the insertion mode had been "in body". */ + $this->inBody($token); + + /* Anything else */ + } else { + /* Parse error. Ignore the token. */ + } + } + + private function trailingEndPhase($token) + { + /* After the main phase, as each token is emitted from the tokenisation + stage, it must be processed as described in this section. */ + + /* A DOCTYPE token */ + if ($token['type'] === HTML5::DOCTYPE) { + // Parse error. Ignore the token. + + /* A comment token */ + } elseif ($token['type'] === HTML5::COMMENT) { + /* Append a Comment node to the Document object with the data + attribute set to the data given in the comment token. */ + $comment = $this->dom->createComment($token['data']); + $this->dom->appendChild($comment); + + /* A character token that is one of one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE */ + } elseif ($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']) + ) { + /* Process the token as it would be processed in the main phase. */ + $this->mainPhase($token); + + /* A character token that is not one of U+0009 CHARACTER TABULATION, + U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF), + or U+0020 SPACE. Or a start tag token. Or an end tag token. */ + } elseif (($token['type'] === HTML5::CHARACTR && + preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) || + $token['type'] === HTML5::STARTTAG || $token['type'] === HTML5::ENDTAG + ) { + /* Parse error. Switch back to the main phase and reprocess the + token. */ + $this->phase = self::MAIN_PHASE; + return $this->mainPhase($token); + + /* An end-of-file token */ + } elseif ($token['type'] === HTML5::EOF) { + /* OMG DONE!! */ + } + } + + private function insertElement($token, $append = true, $check = false) + { + // Proprietary workaround for libxml2's limitations with tag names + if ($check) { + // Slightly modified HTML5 tag-name modification, + // removing anything that's not an ASCII letter, digit, or hyphen + $token['name'] = preg_replace('/[^a-z0-9-]/i', '', $token['name']); + // Remove leading hyphens and numbers + $token['name'] = ltrim($token['name'], '-0..9'); + // In theory, this should ever be needed, but just in case + if ($token['name'] === '') { + $token['name'] = 'span'; + } // arbitrary generic choice + } + + $el = $this->dom->createElement($token['name']); + + foreach ($token['attr'] as $attr) { + if (!$el->hasAttribute($attr['name'])) { + $el->setAttribute($attr['name'], (string)$attr['value']); + } + } + + $this->appendToRealParent($el); + $this->stack[] = $el; + + return $el; + } + + private function insertText($data) + { + $text = $this->dom->createTextNode($data); + $this->appendToRealParent($text); + } + + private function insertComment($data) + { + $comment = $this->dom->createComment($data); + $this->appendToRealParent($comment); + } + + private function appendToRealParent($node) + { + if ($this->foster_parent === null) { + end($this->stack)->appendChild($node); + + } elseif ($this->foster_parent !== null) { + /* If the foster parent element is the parent element of the + last table element in the stack of open elements, then the new + node must be inserted immediately before the last table element + in the stack of open elements in the foster parent element; + otherwise, the new node must be appended to the foster parent + element. */ + for ($n = count($this->stack) - 1; $n >= 0; $n--) { + if ($this->stack[$n]->nodeName === 'table' && + $this->stack[$n]->parentNode !== null + ) { + $table = $this->stack[$n]; + break; + } + } + + if (isset($table) && $this->foster_parent->isSameNode($table->parentNode)) { + $this->foster_parent->insertBefore($node, $table); + } else { + $this->foster_parent->appendChild($node); + } + + $this->foster_parent = null; + } + } + + private function elementInScope($el, $table = false) + { + if (is_array($el)) { + foreach ($el as $element) { + if ($this->elementInScope($element, $table)) { + return true; + } + } + + return false; + } + + $leng = count($this->stack); + + for ($n = 0; $n < $leng; $n++) { + /* 1. Initialise node to be the current node (the bottommost node of + the stack). */ + $node = $this->stack[$leng - 1 - $n]; + + if ($node->tagName === $el) { + /* 2. If node is the target node, terminate in a match state. */ + return true; + + } elseif ($node->tagName === 'table') { + /* 3. Otherwise, if node is a table element, terminate in a failure + state. */ + return false; + + } elseif ($table === true && in_array( + $node->tagName, + array( + 'caption', + 'td', + 'th', + 'button', + 'marquee', + 'object' + ) + ) + ) { + /* 4. Otherwise, if the algorithm is the "has an element in scope" + variant (rather than the "has an element in table scope" variant), + and node is one of the following, terminate in a failure state. */ + return false; + + } elseif ($node === $node->ownerDocument->documentElement) { + /* 5. Otherwise, if node is an html element (root element), terminate + in a failure state. (This can only happen if the node is the topmost + node of the stack of open elements, and prevents the next step from + being invoked if there are no more elements in the stack.) */ + return false; + } + + /* Otherwise, set node to the previous entry in the stack of open + elements and return to step 2. (This will never fail, since the loop + will always terminate in the previous step if the top of the stack + is reached.) */ + } + } + + private function reconstructActiveFormattingElements() + { + /* 1. If there are no entries in the list of active formatting elements, + then there is nothing to reconstruct; stop this algorithm. */ + $formatting_elements = count($this->a_formatting); + + if ($formatting_elements === 0) { + return false; + } + + /* 3. Let entry be the last (most recently added) element in the list + of active formatting elements. */ + $entry = end($this->a_formatting); + + /* 2. If the last (most recently added) entry in the list of active + formatting elements is a marker, or if it is an element that is in the + stack of open elements, then there is nothing to reconstruct; stop this + algorithm. */ + if ($entry === self::MARKER || in_array($entry, $this->stack, true)) { + return false; + } + + for ($a = $formatting_elements - 1; $a >= 0; true) { + /* 4. If there are no entries before entry in the list of active + formatting elements, then jump to step 8. */ + if ($a === 0) { + $step_seven = false; + break; + } + + /* 5. Let entry be the entry one earlier than entry in the list of + active formatting elements. */ + $a--; + $entry = $this->a_formatting[$a]; + + /* 6. If entry is neither a marker nor an element that is also in + thetack of open elements, go to step 4. */ + if ($entry === self::MARKER || in_array($entry, $this->stack, true)) { + break; + } + } + + while (true) { + /* 7. Let entry be the element one later than entry in the list of + active formatting elements. */ + if (isset($step_seven) && $step_seven === true) { + $a++; + $entry = $this->a_formatting[$a]; + } + + /* 8. Perform a shallow clone of the element entry to obtain clone. */ + $clone = $entry->cloneNode(); + + /* 9. Append clone to the current node and push it onto the stack + of open elements so that it is the new current node. */ + end($this->stack)->appendChild($clone); + $this->stack[] = $clone; + + /* 10. Replace the entry for entry in the list with an entry for + clone. */ + $this->a_formatting[$a] = $clone; + + /* 11. If the entry for clone in the list of active formatting + elements is not the last entry in the list, return to step 7. */ + if (end($this->a_formatting) !== $clone) { + $step_seven = true; + } else { + break; + } + } + } + + private function clearTheActiveFormattingElementsUpToTheLastMarker() + { + /* When the steps below require the UA to clear the list of active + formatting elements up to the last marker, the UA must perform the + following steps: */ + + while (true) { + /* 1. Let entry be the last (most recently added) entry in the list + of active formatting elements. */ + $entry = end($this->a_formatting); + + /* 2. Remove entry from the list of active formatting elements. */ + array_pop($this->a_formatting); + + /* 3. If entry was a marker, then stop the algorithm at this point. + The list has been cleared up to the last marker. */ + if ($entry === self::MARKER) { + break; + } + } + } + + private function generateImpliedEndTags($exclude = array()) + { + /* When the steps below require the UA to generate implied end tags, + then, if the current node is a dd element, a dt element, an li element, + a p element, a td element, a th element, or a tr element, the UA must + act as if an end tag with the respective tag name had been seen and + then generate implied end tags again. */ + $node = end($this->stack); + $elements = array_diff(array('dd', 'dt', 'li', 'p', 'td', 'th', 'tr'), $exclude); + + while (in_array(end($this->stack)->nodeName, $elements)) { + array_pop($this->stack); + } + } + + private function getElementCategory($node) + { + $name = $node->tagName; + if (in_array($name, $this->special)) { + return self::SPECIAL; + } elseif (in_array($name, $this->scoping)) { + return self::SCOPING; + } elseif (in_array($name, $this->formatting)) { + return self::FORMATTING; + } else { + return self::PHRASING; + } + } + + private function clearStackToTableContext($elements) + { + /* When the steps above require the UA to clear the stack back to a + table context, it means that the UA must, while the current node is not + a table element or an html element, pop elements from the stack of open + elements. If this causes any elements to be popped from the stack, then + this is a parse error. */ + while (true) { + $node = end($this->stack)->nodeName; + + if (in_array($node, $elements)) { + break; + } else { + array_pop($this->stack); + } + } + } + + private function resetInsertionMode() + { + /* 1. Let last be false. */ + $last = false; + $leng = count($this->stack); + + for ($n = $leng - 1; $n >= 0; $n--) { + /* 2. Let node be the last node in the stack of open elements. */ + $node = $this->stack[$n]; + + /* 3. If node is the first node in the stack of open elements, then + set last to true. If the element whose innerHTML attribute is being + set is neither a td element nor a th element, then set node to the + element whose innerHTML attribute is being set. (innerHTML case) */ + if ($this->stack[0]->isSameNode($node)) { + $last = true; + } + + /* 4. If node is a select element, then switch the insertion mode to + "in select" and abort these steps. (innerHTML case) */ + if ($node->nodeName === 'select') { + $this->mode = self::IN_SELECT; + break; + + /* 5. If node is a td or th element, then switch the insertion mode + to "in cell" and abort these steps. */ + } elseif ($node->nodeName === 'td' || $node->nodeName === 'th') { + $this->mode = self::IN_CELL; + break; + + /* 6. If node is a tr element, then switch the insertion mode to + "in row" and abort these steps. */ + } elseif ($node->nodeName === 'tr') { + $this->mode = self::IN_ROW; + break; + + /* 7. If node is a tbody, thead, or tfoot element, then switch the + insertion mode to "in table body" and abort these steps. */ + } elseif (in_array($node->nodeName, array('tbody', 'thead', 'tfoot'))) { + $this->mode = self::IN_TBODY; + break; + + /* 8. If node is a caption element, then switch the insertion mode + to "in caption" and abort these steps. */ + } elseif ($node->nodeName === 'caption') { + $this->mode = self::IN_CAPTION; + break; + + /* 9. If node is a colgroup element, then switch the insertion mode + to "in column group" and abort these steps. (innerHTML case) */ + } elseif ($node->nodeName === 'colgroup') { + $this->mode = self::IN_CGROUP; + break; + + /* 10. If node is a table element, then switch the insertion mode + to "in table" and abort these steps. */ + } elseif ($node->nodeName === 'table') { + $this->mode = self::IN_TABLE; + break; + + /* 11. If node is a head element, then switch the insertion mode + to "in body" ("in body"! not "in head"!) and abort these steps. + (innerHTML case) */ + } elseif ($node->nodeName === 'head') { + $this->mode = self::IN_BODY; + break; + + /* 12. If node is a body element, then switch the insertion mode to + "in body" and abort these steps. */ + } elseif ($node->nodeName === 'body') { + $this->mode = self::IN_BODY; + break; + + /* 13. If node is a frameset element, then switch the insertion + mode to "in frameset" and abort these steps. (innerHTML case) */ + } elseif ($node->nodeName === 'frameset') { + $this->mode = self::IN_FRAME; + break; + + /* 14. If node is an html element, then: if the head element + pointer is null, switch the insertion mode to "before head", + otherwise, switch the insertion mode to "after head". In either + case, abort these steps. (innerHTML case) */ + } elseif ($node->nodeName === 'html') { + $this->mode = ($this->head_pointer === null) + ? self::BEFOR_HEAD + : self::AFTER_HEAD; + + break; + + /* 15. If last is true, then set the insertion mode to "in body" + and abort these steps. (innerHTML case) */ + } elseif ($last) { + $this->mode = self::IN_BODY; + break; + } + } + } + + private function closeCell() + { + /* If the stack of open elements has a td or th element in table scope, + then act as if an end tag token with that tag name had been seen. */ + foreach (array('td', 'th') as $cell) { + if ($this->elementInScope($cell, true)) { + $this->inCell( + array( + 'name' => $cell, + 'type' => HTML5::ENDTAG + ) + ); + + break; + } + } + } + + public function save() + { + return $this->dom; + } +} diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php new file mode 100644 index 00000000..3995fec9 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php @@ -0,0 +1,49 @@ +data = $data; + $this->line = $line; + $this->col = $col; + } + + public function toTokenPair() { + return array(new HTMLPurifier_Token_Comment($this->data, $this->line, $this->col), null); + } +} diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php new file mode 100644 index 00000000..6cbf56da --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php @@ -0,0 +1,59 @@ + form or the form, i.e. + * is it a pair of start/end tokens or an empty token. + * @bool + */ + public $empty = false; + + public $endCol = null, $endLine = null, $endArmor = array(); + + public function __construct($name, $attr = array(), $line = null, $col = null, $armor = array()) { + $this->name = $name; + $this->attr = $attr; + $this->line = $line; + $this->col = $col; + $this->armor = $armor; + } + + public function toTokenPair() { + // XXX inefficiency here, normalization is not necessary + if ($this->empty) { + return array(new HTMLPurifier_Token_Empty($this->name, $this->attr, $this->line, $this->col, $this->armor), null); + } else { + $start = new HTMLPurifier_Token_Start($this->name, $this->attr, $this->line, $this->col, $this->armor); + $end = new HTMLPurifier_Token_End($this->name, array(), $this->endLine, $this->endCol, $this->endArmor); + //$end->start = $start; + return array($start, $end); + } + } +} + diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php new file mode 100644 index 00000000..aec91664 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php @@ -0,0 +1,54 @@ +data = $data; + $this->is_whitespace = $is_whitespace; + $this->line = $line; + $this->col = $col; + } + + public function toTokenPair() { + return array(new HTMLPurifier_Token_Text($this->data, $this->line, $this->col), null); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php new file mode 100644 index 00000000..18c8bbb0 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php @@ -0,0 +1,111 @@ +preserve[$i] = true; + } + for ($i = 65; $i <= 90; $i++) { // upper-case + $this->preserve[$i] = true; + } + for ($i = 97; $i <= 122; $i++) { // lower-case + $this->preserve[$i] = true; + } + $this->preserve[45] = true; // Dash - + $this->preserve[46] = true; // Period . + $this->preserve[95] = true; // Underscore _ + $this->preserve[126]= true; // Tilde ~ + + // extra letters not to escape + if ($preserve !== false) { + for ($i = 0, $c = strlen($preserve); $i < $c; $i++) { + $this->preserve[ord($preserve[$i])] = true; + } + } + } + + /** + * Our replacement for urlencode, it encodes all non-reserved characters, + * as well as any extra characters that were instructed to be preserved. + * @note + * Assumes that the string has already been normalized, making any + * and all percent escape sequences valid. Percents will not be + * re-escaped, regardless of their status in $preserve + * @param string $string String to be encoded + * @return string Encoded string. + */ + public function encode($string) + { + $ret = ''; + for ($i = 0, $c = strlen($string); $i < $c; $i++) { + if ($string[$i] !== '%' && !isset($this->preserve[$int = ord($string[$i])])) { + $ret .= '%' . sprintf('%02X', $int); + } else { + $ret .= $string[$i]; + } + } + return $ret; + } + + /** + * Fix up percent-encoding by decoding unreserved characters and normalizing. + * @warning This function is affected by $preserve, even though the + * usual desired behavior is for this not to preserve those + * characters. Be careful when reusing instances of PercentEncoder! + * @param string $string String to normalize + * @return string + */ + public function normalize($string) + { + if ($string == '') { + return ''; + } + $parts = explode('%', $string); + $ret = array_shift($parts); + foreach ($parts as $part) { + $length = strlen($part); + if ($length < 2) { + $ret .= '%25' . $part; + continue; + } + $encoding = substr($part, 0, 2); + $text = substr($part, 2); + if (!ctype_xdigit($encoding)) { + $ret .= '%25' . $part; + continue; + } + $int = hexdec($encoding); + if (isset($this->preserve[$int])) { + $ret .= chr($int) . $text; + continue; + } + $encoding = strtoupper($encoding); + $ret .= '%' . $encoding . $text; + } + return $ret; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php new file mode 100644 index 00000000..549e4cea --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php @@ -0,0 +1,218 @@ +getAll(); + $context = new HTMLPurifier_Context(); + $this->generator = new HTMLPurifier_Generator($config, $context); + } + + /** + * Main function that renders object or aspect of that object + * @note Parameters vary depending on printer + */ + // function render() {} + + /** + * Returns a start tag + * @param string $tag Tag name + * @param array $attr Attribute array + * @return string + */ + protected function start($tag, $attr = array()) + { + return $this->generator->generateFromToken( + new HTMLPurifier_Token_Start($tag, $attr ? $attr : array()) + ); + } + + /** + * Returns an end tag + * @param string $tag Tag name + * @return string + */ + protected function end($tag) + { + return $this->generator->generateFromToken( + new HTMLPurifier_Token_End($tag) + ); + } + + /** + * Prints a complete element with content inside + * @param string $tag Tag name + * @param string $contents Element contents + * @param array $attr Tag attributes + * @param bool $escape whether or not to escape contents + * @return string + */ + protected function element($tag, $contents, $attr = array(), $escape = true) + { + return $this->start($tag, $attr) . + ($escape ? $this->escape($contents) : $contents) . + $this->end($tag); + } + + /** + * @param string $tag + * @param array $attr + * @return string + */ + protected function elementEmpty($tag, $attr = array()) + { + return $this->generator->generateFromToken( + new HTMLPurifier_Token_Empty($tag, $attr) + ); + } + + /** + * @param string $text + * @return string + */ + protected function text($text) + { + return $this->generator->generateFromToken( + new HTMLPurifier_Token_Text($text) + ); + } + + /** + * Prints a simple key/value row in a table. + * @param string $name Key + * @param mixed $value Value + * @return string + */ + protected function row($name, $value) + { + if (is_bool($value)) { + $value = $value ? 'On' : 'Off'; + } + return + $this->start('tr') . "\n" . + $this->element('th', $name) . "\n" . + $this->element('td', $value) . "\n" . + $this->end('tr'); + } + + /** + * Escapes a string for HTML output. + * @param string $string String to escape + * @return string + */ + protected function escape($string) + { + $string = HTMLPurifier_Encoder::cleanUTF8($string); + $string = htmlspecialchars($string, ENT_COMPAT, 'UTF-8'); + return $string; + } + + /** + * Takes a list of strings and turns them into a single list + * @param string[] $array List of strings + * @param bool $polite Bool whether or not to add an end before the last + * @return string + */ + protected function listify($array, $polite = false) + { + if (empty($array)) { + return 'None'; + } + $ret = ''; + $i = count($array); + foreach ($array as $value) { + $i--; + $ret .= $value; + if ($i > 0 && !($polite && $i == 1)) { + $ret .= ', '; + } + if ($polite && $i == 1) { + $ret .= 'and '; + } + } + return $ret; + } + + /** + * Retrieves the class of an object without prefixes, as well as metadata + * @param object $obj Object to determine class of + * @param string $sec_prefix Further prefix to remove + * @return string + */ + protected function getClass($obj, $sec_prefix = '') + { + static $five = null; + if ($five === null) { + $five = version_compare(PHP_VERSION, '5', '>='); + } + $prefix = 'HTMLPurifier_' . $sec_prefix; + if (!$five) { + $prefix = strtolower($prefix); + } + $class = str_replace($prefix, '', get_class($obj)); + $lclass = strtolower($class); + $class .= '('; + switch ($lclass) { + case 'enum': + $values = array(); + foreach ($obj->valid_values as $value => $bool) { + $values[] = $value; + } + $class .= implode(', ', $values); + break; + case 'css_composite': + $values = array(); + foreach ($obj->defs as $def) { + $values[] = $this->getClass($def, $sec_prefix); + } + $class .= implode(', ', $values); + break; + case 'css_multiple': + $class .= $this->getClass($obj->single, $sec_prefix) . ', '; + $class .= $obj->max; + break; + case 'css_denyelementdecorator': + $class .= $this->getClass($obj->def, $sec_prefix) . ', '; + $class .= $obj->element; + break; + case 'css_importantdecorator': + $class .= $this->getClass($obj->def, $sec_prefix); + if ($obj->allow) { + $class .= ', !important'; + } + break; + } + $class .= ')'; + return $class; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php new file mode 100644 index 00000000..29505fe1 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php @@ -0,0 +1,44 @@ +def = $config->getCSSDefinition(); + $ret = ''; + + $ret .= $this->start('div', array('class' => 'HTMLPurifier_Printer')); + $ret .= $this->start('table'); + + $ret .= $this->element('caption', 'Properties ($info)'); + + $ret .= $this->start('thead'); + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Property', array('class' => 'heavy')); + $ret .= $this->element('th', 'Definition', array('class' => 'heavy', 'style' => 'width:auto;')); + $ret .= $this->end('tr'); + $ret .= $this->end('thead'); + + ksort($this->def->info); + foreach ($this->def->info as $property => $obj) { + $name = $this->getClass($obj, 'AttrDef_'); + $ret .= $this->row($property, $name); + } + + $ret .= $this->end('table'); + $ret .= $this->end('div'); + + return $ret; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.css b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.css new file mode 100644 index 00000000..3ff1a88a --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.css @@ -0,0 +1,10 @@ + +.hp-config {} + +.hp-config tbody th {text-align:right; padding-right:0.5em;} +.hp-config thead, .hp-config .namespace {background:#3C578C; color:#FFF;} +.hp-config .namespace th {text-align:center;} +.hp-config .verbose {display:none;} +.hp-config .controls {text-align:center;} + +/* vim: et sw=4 sts=4 */ diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.js b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.js new file mode 100644 index 00000000..cba00c9b --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.js @@ -0,0 +1,5 @@ +function toggleWriteability(id_of_patient, checked) { + document.getElementById(id_of_patient).disabled = checked; +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php new file mode 100644 index 00000000..4c3ce175 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php @@ -0,0 +1,456 @@ +docURL = $doc_url; + $this->name = $name; + $this->compress = $compress; + // initialize sub-printers + $this->fields[0] = new HTMLPurifier_Printer_ConfigForm_default(); + $this->fields[HTMLPurifier_VarParser::C_BOOL] = new HTMLPurifier_Printer_ConfigForm_bool(); + } + + /** + * Sets default column and row size for textareas in sub-printers + * @param $cols Integer columns of textarea, null to use default + * @param $rows Integer rows of textarea, null to use default + */ + public function setTextareaDimensions($cols = null, $rows = null) + { + if ($cols) { + $this->fields['default']->cols = $cols; + } + if ($rows) { + $this->fields['default']->rows = $rows; + } + } + + /** + * Retrieves styling, in case it is not accessible by webserver + */ + public static function getCSS() + { + return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.css'); + } + + /** + * Retrieves JavaScript, in case it is not accessible by webserver + */ + public static function getJavaScript() + { + return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.js'); + } + + /** + * Returns HTML output for a configuration form + * @param HTMLPurifier_Config|array $config Configuration object of current form state, or an array + * where [0] has an HTML namespace and [1] is being rendered. + * @param array|bool $allowed Optional namespace(s) and directives to restrict form to. + * @param bool $render_controls + * @return string + */ + public function render($config, $allowed = true, $render_controls = true) + { + if (is_array($config) && isset($config[0])) { + $gen_config = $config[0]; + $config = $config[1]; + } else { + $gen_config = $config; + } + + $this->config = $config; + $this->genConfig = $gen_config; + $this->prepareGenerator($gen_config); + + $allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed, $config->def); + $all = array(); + foreach ($allowed as $key) { + list($ns, $directive) = $key; + $all[$ns][$directive] = $config->get($ns . '.' . $directive); + } + + $ret = ''; + $ret .= $this->start('table', array('class' => 'hp-config')); + $ret .= $this->start('thead'); + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Directive', array('class' => 'hp-directive')); + $ret .= $this->element('th', 'Value', array('class' => 'hp-value')); + $ret .= $this->end('tr'); + $ret .= $this->end('thead'); + foreach ($all as $ns => $directives) { + $ret .= $this->renderNamespace($ns, $directives); + } + if ($render_controls) { + $ret .= $this->start('tbody'); + $ret .= $this->start('tr'); + $ret .= $this->start('td', array('colspan' => 2, 'class' => 'controls')); + $ret .= $this->elementEmpty('input', array('type' => 'submit', 'value' => 'Submit')); + $ret .= '[Reset]'; + $ret .= $this->end('td'); + $ret .= $this->end('tr'); + $ret .= $this->end('tbody'); + } + $ret .= $this->end('table'); + return $ret; + } + + /** + * Renders a single namespace + * @param $ns String namespace name + * @param array $directives array of directives to values + * @return string + */ + protected function renderNamespace($ns, $directives) + { + $ret = ''; + $ret .= $this->start('tbody', array('class' => 'namespace')); + $ret .= $this->start('tr'); + $ret .= $this->element('th', $ns, array('colspan' => 2)); + $ret .= $this->end('tr'); + $ret .= $this->end('tbody'); + $ret .= $this->start('tbody'); + foreach ($directives as $directive => $value) { + $ret .= $this->start('tr'); + $ret .= $this->start('th'); + if ($this->docURL) { + $url = str_replace('%s', urlencode("$ns.$directive"), $this->docURL); + $ret .= $this->start('a', array('href' => $url)); + } + $attr = array('for' => "{$this->name}:$ns.$directive"); + + // crop directive name if it's too long + if (!$this->compress || (strlen($directive) < $this->compress)) { + $directive_disp = $directive; + } else { + $directive_disp = substr($directive, 0, $this->compress - 2) . '...'; + $attr['title'] = $directive; + } + + $ret .= $this->element( + 'label', + $directive_disp, + // component printers must create an element with this id + $attr + ); + if ($this->docURL) { + $ret .= $this->end('a'); + } + $ret .= $this->end('th'); + + $ret .= $this->start('td'); + $def = $this->config->def->info["$ns.$directive"]; + if (is_int($def)) { + $allow_null = $def < 0; + $type = abs($def); + } else { + $type = $def->type; + $allow_null = isset($def->allow_null); + } + if (!isset($this->fields[$type])) { + $type = 0; + } // default + $type_obj = $this->fields[$type]; + if ($allow_null) { + $type_obj = new HTMLPurifier_Printer_ConfigForm_NullDecorator($type_obj); + } + $ret .= $type_obj->render($ns, $directive, $value, $this->name, array($this->genConfig, $this->config)); + $ret .= $this->end('td'); + $ret .= $this->end('tr'); + } + $ret .= $this->end('tbody'); + return $ret; + } + +} + +/** + * Printer decorator for directives that accept null + */ +class HTMLPurifier_Printer_ConfigForm_NullDecorator extends HTMLPurifier_Printer +{ + /** + * Printer being decorated + * @type HTMLPurifier_Printer + */ + protected $obj; + + /** + * @param HTMLPurifier_Printer $obj Printer to decorate + */ + public function __construct($obj) + { + parent::__construct(); + $this->obj = $obj; + } + + /** + * @param string $ns + * @param string $directive + * @param string $value + * @param string $name + * @param HTMLPurifier_Config|array $config + * @return string + */ + public function render($ns, $directive, $value, $name, $config) + { + if (is_array($config) && isset($config[0])) { + $gen_config = $config[0]; + $config = $config[1]; + } else { + $gen_config = $config; + } + $this->prepareGenerator($gen_config); + + $ret = ''; + $ret .= $this->start('label', array('for' => "$name:Null_$ns.$directive")); + $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose')); + $ret .= $this->text(' Null/Disabled'); + $ret .= $this->end('label'); + $attr = array( + 'type' => 'checkbox', + 'value' => '1', + 'class' => 'null-toggle', + 'name' => "$name" . "[Null_$ns.$directive]", + 'id' => "$name:Null_$ns.$directive", + 'onclick' => "toggleWriteability('$name:$ns.$directive',checked)" // INLINE JAVASCRIPT!!!! + ); + if ($this->obj instanceof HTMLPurifier_Printer_ConfigForm_bool) { + // modify inline javascript slightly + $attr['onclick'] = + "toggleWriteability('$name:Yes_$ns.$directive',checked);" . + "toggleWriteability('$name:No_$ns.$directive',checked)"; + } + if ($value === null) { + $attr['checked'] = 'checked'; + } + $ret .= $this->elementEmpty('input', $attr); + $ret .= $this->text(' or '); + $ret .= $this->elementEmpty('br'); + $ret .= $this->obj->render($ns, $directive, $value, $name, array($gen_config, $config)); + return $ret; + } +} + +/** + * Swiss-army knife configuration form field printer + */ +class HTMLPurifier_Printer_ConfigForm_default extends HTMLPurifier_Printer +{ + /** + * @type int + */ + public $cols = 18; + + /** + * @type int + */ + public $rows = 5; + + /** + * @param string $ns + * @param string $directive + * @param string $value + * @param string $name + * @param HTMLPurifier_Config|array $config + * @return string + */ + public function render($ns, $directive, $value, $name, $config) + { + if (is_array($config) && isset($config[0])) { + $gen_config = $config[0]; + $config = $config[1]; + } else { + $gen_config = $config; + } + $this->prepareGenerator($gen_config); + // this should probably be split up a little + $ret = ''; + $def = $config->def->info["$ns.$directive"]; + if (is_int($def)) { + $type = abs($def); + } else { + $type = $def->type; + } + if (is_array($value)) { + switch ($type) { + case HTMLPurifier_VarParser::LOOKUP: + $array = $value; + $value = array(); + foreach ($array as $val => $b) { + $value[] = $val; + } + //TODO does this need a break? + case HTMLPurifier_VarParser::ALIST: + $value = implode(PHP_EOL, $value); + break; + case HTMLPurifier_VarParser::HASH: + $nvalue = ''; + foreach ($value as $i => $v) { + if (is_array($v)) { + // HACK + $v = implode(";", $v); + } + $nvalue .= "$i:$v" . PHP_EOL; + } + $value = $nvalue; + break; + default: + $value = ''; + } + } + if ($type === HTMLPurifier_VarParser::C_MIXED) { + return 'Not supported'; + $value = serialize($value); + } + $attr = array( + 'name' => "$name" . "[$ns.$directive]", + 'id' => "$name:$ns.$directive" + ); + if ($value === null) { + $attr['disabled'] = 'disabled'; + } + if (isset($def->allowed)) { + $ret .= $this->start('select', $attr); + foreach ($def->allowed as $val => $b) { + $attr = array(); + if ($value == $val) { + $attr['selected'] = 'selected'; + } + $ret .= $this->element('option', $val, $attr); + } + $ret .= $this->end('select'); + } elseif ($type === HTMLPurifier_VarParser::TEXT || + $type === HTMLPurifier_VarParser::ITEXT || + $type === HTMLPurifier_VarParser::ALIST || + $type === HTMLPurifier_VarParser::HASH || + $type === HTMLPurifier_VarParser::LOOKUP) { + $attr['cols'] = $this->cols; + $attr['rows'] = $this->rows; + $ret .= $this->start('textarea', $attr); + $ret .= $this->text($value); + $ret .= $this->end('textarea'); + } else { + $attr['value'] = $value; + $attr['type'] = 'text'; + $ret .= $this->elementEmpty('input', $attr); + } + return $ret; + } +} + +/** + * Bool form field printer + */ +class HTMLPurifier_Printer_ConfigForm_bool extends HTMLPurifier_Printer +{ + /** + * @param string $ns + * @param string $directive + * @param string $value + * @param string $name + * @param HTMLPurifier_Config|array $config + * @return string + */ + public function render($ns, $directive, $value, $name, $config) + { + if (is_array($config) && isset($config[0])) { + $gen_config = $config[0]; + $config = $config[1]; + } else { + $gen_config = $config; + } + $this->prepareGenerator($gen_config); + $ret = ''; + $ret .= $this->start('div', array('id' => "$name:$ns.$directive")); + + $ret .= $this->start('label', array('for' => "$name:Yes_$ns.$directive")); + $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose')); + $ret .= $this->text(' Yes'); + $ret .= $this->end('label'); + + $attr = array( + 'type' => 'radio', + 'name' => "$name" . "[$ns.$directive]", + 'id' => "$name:Yes_$ns.$directive", + 'value' => '1' + ); + if ($value === true) { + $attr['checked'] = 'checked'; + } + if ($value === null) { + $attr['disabled'] = 'disabled'; + } + $ret .= $this->elementEmpty('input', $attr); + + $ret .= $this->start('label', array('for' => "$name:No_$ns.$directive")); + $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose')); + $ret .= $this->text(' No'); + $ret .= $this->end('label'); + + $attr = array( + 'type' => 'radio', + 'name' => "$name" . "[$ns.$directive]", + 'id' => "$name:No_$ns.$directive", + 'value' => '0' + ); + if ($value === false) { + $attr['checked'] = 'checked'; + } + if ($value === null) { + $attr['disabled'] = 'disabled'; + } + $ret .= $this->elementEmpty('input', $attr); + + $ret .= $this->end('div'); + + return $ret; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php new file mode 100644 index 00000000..ae863917 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php @@ -0,0 +1,324 @@ +config =& $config; + + $this->def = $config->getHTMLDefinition(); + + $ret .= $this->start('div', array('class' => 'HTMLPurifier_Printer')); + + $ret .= $this->renderDoctype(); + $ret .= $this->renderEnvironment(); + $ret .= $this->renderContentSets(); + $ret .= $this->renderInfo(); + + $ret .= $this->end('div'); + + return $ret; + } + + /** + * Renders the Doctype table + * @return string + */ + protected function renderDoctype() + { + $doctype = $this->def->doctype; + $ret = ''; + $ret .= $this->start('table'); + $ret .= $this->element('caption', 'Doctype'); + $ret .= $this->row('Name', $doctype->name); + $ret .= $this->row('XML', $doctype->xml ? 'Yes' : 'No'); + $ret .= $this->row('Default Modules', implode(', ', $doctype->modules)); + $ret .= $this->row('Default Tidy Modules', implode(', ', $doctype->tidyModules)); + $ret .= $this->end('table'); + return $ret; + } + + + /** + * Renders environment table, which is miscellaneous info + * @return string + */ + protected function renderEnvironment() + { + $def = $this->def; + + $ret = ''; + + $ret .= $this->start('table'); + $ret .= $this->element('caption', 'Environment'); + + $ret .= $this->row('Parent of fragment', $def->info_parent); + $ret .= $this->renderChildren($def->info_parent_def->child); + $ret .= $this->row('Block wrap name', $def->info_block_wrapper); + + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Global attributes'); + $ret .= $this->element('td', $this->listifyAttr($def->info_global_attr), null, 0); + $ret .= $this->end('tr'); + + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Tag transforms'); + $list = array(); + foreach ($def->info_tag_transform as $old => $new) { + $new = $this->getClass($new, 'TagTransform_'); + $list[] = "<$old> with $new"; + } + $ret .= $this->element('td', $this->listify($list)); + $ret .= $this->end('tr'); + + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Pre-AttrTransform'); + $ret .= $this->element('td', $this->listifyObjectList($def->info_attr_transform_pre)); + $ret .= $this->end('tr'); + + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Post-AttrTransform'); + $ret .= $this->element('td', $this->listifyObjectList($def->info_attr_transform_post)); + $ret .= $this->end('tr'); + + $ret .= $this->end('table'); + return $ret; + } + + /** + * Renders the Content Sets table + * @return string + */ + protected function renderContentSets() + { + $ret = ''; + $ret .= $this->start('table'); + $ret .= $this->element('caption', 'Content Sets'); + foreach ($this->def->info_content_sets as $name => $lookup) { + $ret .= $this->heavyHeader($name); + $ret .= $this->start('tr'); + $ret .= $this->element('td', $this->listifyTagLookup($lookup)); + $ret .= $this->end('tr'); + } + $ret .= $this->end('table'); + return $ret; + } + + /** + * Renders the Elements ($info) table + * @return string + */ + protected function renderInfo() + { + $ret = ''; + $ret .= $this->start('table'); + $ret .= $this->element('caption', 'Elements ($info)'); + ksort($this->def->info); + $ret .= $this->heavyHeader('Allowed tags', 2); + $ret .= $this->start('tr'); + $ret .= $this->element('td', $this->listifyTagLookup($this->def->info), array('colspan' => 2)); + $ret .= $this->end('tr'); + foreach ($this->def->info as $name => $def) { + $ret .= $this->start('tr'); + $ret .= $this->element('th', "<$name>", array('class' => 'heavy', 'colspan' => 2)); + $ret .= $this->end('tr'); + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Inline content'); + $ret .= $this->element('td', $def->descendants_are_inline ? 'Yes' : 'No'); + $ret .= $this->end('tr'); + if (!empty($def->excludes)) { + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Excludes'); + $ret .= $this->element('td', $this->listifyTagLookup($def->excludes)); + $ret .= $this->end('tr'); + } + if (!empty($def->attr_transform_pre)) { + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Pre-AttrTransform'); + $ret .= $this->element('td', $this->listifyObjectList($def->attr_transform_pre)); + $ret .= $this->end('tr'); + } + if (!empty($def->attr_transform_post)) { + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Post-AttrTransform'); + $ret .= $this->element('td', $this->listifyObjectList($def->attr_transform_post)); + $ret .= $this->end('tr'); + } + if (!empty($def->auto_close)) { + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Auto closed by'); + $ret .= $this->element('td', $this->listifyTagLookup($def->auto_close)); + $ret .= $this->end('tr'); + } + $ret .= $this->start('tr'); + $ret .= $this->element('th', 'Allowed attributes'); + $ret .= $this->element('td', $this->listifyAttr($def->attr), array(), 0); + $ret .= $this->end('tr'); + + if (!empty($def->required_attr)) { + $ret .= $this->row('Required attributes', $this->listify($def->required_attr)); + } + + $ret .= $this->renderChildren($def->child); + } + $ret .= $this->end('table'); + return $ret; + } + + /** + * Renders a row describing the allowed children of an element + * @param HTMLPurifier_ChildDef $def HTMLPurifier_ChildDef of pertinent element + * @return string + */ + protected function renderChildren($def) + { + $context = new HTMLPurifier_Context(); + $ret = ''; + $ret .= $this->start('tr'); + $elements = array(); + $attr = array(); + if (isset($def->elements)) { + if ($def->type == 'strictblockquote') { + $def->validateChildren(array(), $this->config, $context); + } + $elements = $def->elements; + } + if ($def->type == 'chameleon') { + $attr['rowspan'] = 2; + } elseif ($def->type == 'empty') { + $elements = array(); + } elseif ($def->type == 'table') { + $elements = array_flip( + array( + 'col', + 'caption', + 'colgroup', + 'thead', + 'tfoot', + 'tbody', + 'tr' + ) + ); + } + $ret .= $this->element('th', 'Allowed children', $attr); + + if ($def->type == 'chameleon') { + + $ret .= $this->element( + 'td', + 'Block: ' . + $this->escape($this->listifyTagLookup($def->block->elements)), + null, + 0 + ); + $ret .= $this->end('tr'); + $ret .= $this->start('tr'); + $ret .= $this->element( + 'td', + 'Inline: ' . + $this->escape($this->listifyTagLookup($def->inline->elements)), + null, + 0 + ); + + } elseif ($def->type == 'custom') { + + $ret .= $this->element( + 'td', + '' . ucfirst($def->type) . ': ' . + $def->dtd_regex + ); + + } else { + $ret .= $this->element( + 'td', + '' . ucfirst($def->type) . ': ' . + $this->escape($this->listifyTagLookup($elements)), + null, + 0 + ); + } + $ret .= $this->end('tr'); + return $ret; + } + + /** + * Listifies a tag lookup table. + * @param array $array Tag lookup array in form of array('tagname' => true) + * @return string + */ + protected function listifyTagLookup($array) + { + ksort($array); + $list = array(); + foreach ($array as $name => $discard) { + if ($name !== '#PCDATA' && !isset($this->def->info[$name])) { + continue; + } + $list[] = $name; + } + return $this->listify($list); + } + + /** + * Listifies a list of objects by retrieving class names and internal state + * @param array $array List of objects + * @return string + * @todo Also add information about internal state + */ + protected function listifyObjectList($array) + { + ksort($array); + $list = array(); + foreach ($array as $obj) { + $list[] = $this->getClass($obj, 'AttrTransform_'); + } + return $this->listify($list); + } + + /** + * Listifies a hash of attributes to AttrDef classes + * @param array $array Array hash in form of array('attrname' => HTMLPurifier_AttrDef) + * @return string + */ + protected function listifyAttr($array) + { + ksort($array); + $list = array(); + foreach ($array as $name => $obj) { + if ($obj === false) { + continue; + } + $list[] = "$name = " . $this->getClass($obj, 'AttrDef_') . ''; + } + return $this->listify($list); + } + + /** + * Creates a heavy header row + * @param string $text + * @param int $num + * @return string + */ + protected function heavyHeader($text, $num = 1) + { + $ret = ''; + $ret .= $this->start('tr'); + $ret .= $this->element('th', $text, array('colspan' => $num, 'class' => 'heavy')); + $ret .= $this->end('tr'); + return $ret; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php new file mode 100644 index 00000000..189348fd --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php @@ -0,0 +1,122 @@ +parent = $parent; + } + + /** + * Recursively retrieves the value for a key + * @param string $name + * @throws HTMLPurifier_Exception + */ + public function get($name) + { + if ($this->has($name)) { + return $this->data[$name]; + } + // possible performance bottleneck, convert to iterative if necessary + if ($this->parent) { + return $this->parent->get($name); + } + throw new HTMLPurifier_Exception("Key '$name' not found"); + } + + /** + * Sets the value of a key, for this plist + * @param string $name + * @param mixed $value + */ + public function set($name, $value) + { + $this->data[$name] = $value; + } + + /** + * Returns true if a given key exists + * @param string $name + * @return bool + */ + public function has($name) + { + return array_key_exists($name, $this->data); + } + + /** + * Resets a value to the value of it's parent, usually the default. If + * no value is specified, the entire plist is reset. + * @param string $name + */ + public function reset($name = null) + { + if ($name == null) { + $this->data = array(); + } else { + unset($this->data[$name]); + } + } + + /** + * Squashes this property list and all of its property lists into a single + * array, and returns the array. This value is cached by default. + * @param bool $force If true, ignores the cache and regenerates the array. + * @return array + */ + public function squash($force = false) + { + if ($this->cache !== null && !$force) { + return $this->cache; + } + if ($this->parent) { + return $this->cache = array_merge($this->parent->squash($force), $this->data); + } else { + return $this->cache = $this->data; + } + } + + /** + * Returns the parent plist. + * @return HTMLPurifier_PropertyList + */ + public function getParent() + { + return $this->parent; + } + + /** + * Sets the parent plist. + * @param HTMLPurifier_PropertyList $plist Parent plist + */ + public function setParent($plist) + { + $this->parent = $plist; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php new file mode 100644 index 00000000..f68fc8c3 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php @@ -0,0 +1,43 @@ +l = strlen($filter); + $this->filter = $filter; + } + + /** + * @return bool + */ + #[\ReturnTypeWillChange] + public function accept() + { + $key = $this->getInnerIterator()->key(); + if (strncmp($key, $this->filter, $this->l) !== 0) { + return false; + } + return true; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php new file mode 100644 index 00000000..f58db904 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php @@ -0,0 +1,56 @@ +input = $input; + $this->output = array(); + } + + /** + * Shifts an element off the front of the queue. + */ + public function shift() { + if (empty($this->output)) { + $this->output = array_reverse($this->input); + $this->input = array(); + } + if (empty($this->output)) { + return NULL; + } + return array_pop($this->output); + } + + /** + * Pushes an element onto the front of the queue. + */ + public function push($x) { + array_push($this->input, $x); + } + + /** + * Checks if it's empty. + */ + public function isEmpty() { + return empty($this->input) && empty($this->output); + } +} diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php new file mode 100644 index 00000000..e1ff3b72 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php @@ -0,0 +1,26 @@ +strategies as $strategy) { + $tokens = $strategy->execute($tokens, $config, $context); + } + return $tokens; + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php new file mode 100644 index 00000000..4414c17d --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php @@ -0,0 +1,17 @@ +strategies[] = new HTMLPurifier_Strategy_RemoveForeignElements(); + $this->strategies[] = new HTMLPurifier_Strategy_MakeWellFormed(); + $this->strategies[] = new HTMLPurifier_Strategy_FixNesting(); + $this->strategies[] = new HTMLPurifier_Strategy_ValidateAttributes(); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php new file mode 100644 index 00000000..6fa673db --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php @@ -0,0 +1,181 @@ +getHTMLDefinition(); + + $excludes_enabled = !$config->get('Core.DisableExcludes'); + + // setup the context variable 'IsInline', for chameleon processing + // is 'false' when we are not inline, 'true' when it must always + // be inline, and an integer when it is inline for a certain + // branch of the document tree + $is_inline = $definition->info_parent_def->descendants_are_inline; + $context->register('IsInline', $is_inline); + + // setup error collector + $e =& $context->get('ErrorCollector', true); + + //####################################################################// + // Loop initialization + + // stack that contains all elements that are excluded + // it is organized by parent elements, similar to $stack, + // but it is only populated when an element with exclusions is + // processed, i.e. there won't be empty exclusions. + $exclude_stack = array($definition->info_parent_def->excludes); + + // variable that contains the start token while we are processing + // nodes. This enables error reporting to do its job + $node = $top_node; + // dummy token + list($token, $d) = $node->toTokenPair(); + $context->register('CurrentNode', $node); + $context->register('CurrentToken', $token); + + //####################################################################// + // Loop + + // We need to implement a post-order traversal iteratively, to + // avoid running into stack space limits. This is pretty tricky + // to reason about, so we just manually stack-ify the recursive + // variant: + // + // function f($node) { + // foreach ($node->children as $child) { + // f($child); + // } + // validate($node); + // } + // + // Thus, we will represent a stack frame as array($node, + // $is_inline, stack of children) + // e.g. array_reverse($node->children) - already processed + // children. + + $parent_def = $definition->info_parent_def; + $stack = array( + array($top_node, + $parent_def->descendants_are_inline, + $parent_def->excludes, // exclusions + 0) + ); + + while (!empty($stack)) { + list($node, $is_inline, $excludes, $ix) = array_pop($stack); + // recursive call + $go = false; + $def = empty($stack) ? $definition->info_parent_def : $definition->info[$node->name]; + while (isset($node->children[$ix])) { + $child = $node->children[$ix++]; + if ($child instanceof HTMLPurifier_Node_Element) { + $go = true; + $stack[] = array($node, $is_inline, $excludes, $ix); + $stack[] = array($child, + // ToDo: I don't think it matters if it's def or + // child_def, but double check this... + $is_inline || $def->descendants_are_inline, + empty($def->excludes) ? $excludes + : array_merge($excludes, $def->excludes), + 0); + break; + } + }; + if ($go) continue; + list($token, $d) = $node->toTokenPair(); + // base case + if ($excludes_enabled && isset($excludes[$node->name])) { + $node->dead = true; + if ($e) $e->send(E_ERROR, 'Strategy_FixNesting: Node excluded'); + } else { + // XXX I suppose it would be slightly more efficient to + // avoid the allocation here and have children + // strategies handle it + $children = array(); + foreach ($node->children as $child) { + if (!$child->dead) $children[] = $child; + } + $result = $def->child->validateChildren($children, $config, $context); + if ($result === true) { + // nop + $node->children = $children; + } elseif ($result === false) { + $node->dead = true; + if ($e) $e->send(E_ERROR, 'Strategy_FixNesting: Node removed'); + } else { + $node->children = $result; + if ($e) { + // XXX This will miss mutations of internal nodes. Perhaps defer to the child validators + if (empty($result) && !empty($children)) { + $e->send(E_ERROR, 'Strategy_FixNesting: Node contents removed'); + } else if ($result != $children) { + $e->send(E_WARNING, 'Strategy_FixNesting: Node reorganized'); + } + } + } + } + } + + //####################################################################// + // Post-processing + + // remove context variables + $context->destroy('IsInline'); + $context->destroy('CurrentNode'); + $context->destroy('CurrentToken'); + + //####################################################################// + // Return + + return HTMLPurifier_Arborize::flatten($node, $config, $context); + } +} + +// vim: et sw=4 sts=4 diff --git a/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php new file mode 100644 index 00000000..a6eb09e4 --- /dev/null +++ b/wms/contract-repair/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php @@ -0,0 +1,659 @@ +getHTMLDefinition(); + + // local variables + $generator = new HTMLPurifier_Generator($config, $context); + $escape_invalid_tags = $config->get('Core.EscapeInvalidTags'); + // used for autoclose early abortion + $global_parent_allowed_elements = $definition->info_parent_def->child->getAllowedElements($config); + $e = $context->get('ErrorCollector', true); + $i = false; // injector index + list($zipper, $token) = HTMLPurifier_Zipper::fromArray($tokens); + if ($token === NULL) { + return array(); + } + $reprocess = false; // whether or not to reprocess the same token + $stack = array(); + + // member variables + $this->stack =& $stack; + $this->tokens =& $tokens; + $this->token =& $token; + $this->zipper =& $zipper; + $this->config = $config; + $this->context = $context; + + // context variables + $context->register('CurrentNesting', $stack); + $context->register('InputZipper', $zipper); + $context->register('CurrentToken', $token); + + // -- begin INJECTOR -- + + $this->injectors = array(); + + $injectors = $config->getBatch('AutoFormat'); + $def_injectors = $definition->info_injector; + $custom_injectors = $injectors['Custom']; + unset($injectors['Custom']); // special case + foreach ($injectors as $injector => $b) { + // XXX: Fix with a legitimate lookup table of enabled filters + if (strpos($injector, '.') !== false) { + continue; + } + $injector = "HTMLPurifier_Injector_$injector"; + if (!$b) { + continue; + } + $this->injectors[] = new $injector; + } + foreach ($def_injectors as $injector) { + // assumed to be objects + $this->injectors[] = $injector; + } + foreach ($custom_injectors as $injector) { + if (!$injector) { + continue; + } + if (is_string($injector)) { + $injector = "HTMLPurifier_Injector_$injector"; + $injector = new $injector; + } + $this->injectors[] = $injector; + } + + // give the injectors references to the definition and context + // variables for performance reasons + foreach ($this->injectors as $ix => $injector) { + $error = $injector->prepare($config, $context); + if (!$error) { + continue; + } + array_splice($this->injectors, $ix, 1); // rm the injector + trigger_error("Cannot enable {$injector->name} injector because $error is not allowed", E_USER_WARNING); + } + + // -- end INJECTOR -- + + // a note on reprocessing: + // In order to reduce code duplication, whenever some code needs + // to make HTML changes in order to make things "correct", the + // new HTML gets sent through the purifier, regardless of its + // status. This means that if we add a start token, because it + // was totally necessary, we don't have to update nesting; we just + // punt ($reprocess = true; continue;) and it does that for us. + + // isset is in loop because $tokens size changes during loop exec + for (;; + // only increment if we don't need to reprocess + $reprocess ? $reprocess = false : $token = $zipper->next($token)) { + + // check for a rewind + if (is_int($i)) { + // possibility: disable rewinding if the current token has a + // rewind set on it already. This would offer protection from + // infinite loop, but might hinder some advanced rewinding. + $rewind_offset = $this->injectors[$i]->getRewindOffset(); + if (is_int($rewind_offset)) { + for ($j = 0; $j < $rewind_offset; $j++) { + if (empty($zipper->front)) break; + $token = $zipper->prev($token); + // indicate that other injectors should not process this token, + // but we need to reprocess it. See Note [Injector skips] + unset($token->skip[$i]); + $token->rewind = $i; + if ($token instanceof HTMLPurifier_Token_Start) { + array_pop($this->stack); + } elseif ($token instanceof HTMLPurifier_Token_End) { + $this->stack[] = $token->start; + } + } + } + $i = false; + } + + // handle case of document end + if ($token === NULL) { + // kill processing if stack is empty + if (empty($this->stack)) { + break; + } + + // peek + $top_nesting = array_pop($this->stack); + $this->stack[] = $top_nesting; + + // send error [TagClosedSuppress] + if ($e && !isset($top_nesting->armor['MakeWellFormed_TagClosedError'])) { + $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag closed by document end', $top_nesting); + } + + // append, don't splice, since this is the end + $token = new HTMLPurifier_Token_End($top_nesting->name); + + // punt! + $reprocess = true; + continue; + } + + //echo '
'; printZipper($zipper, $token);//printTokens($this->stack); + //flush(); + + // quick-check: if it's not a tag, no need to process + if (empty($token->is_tag)) { + if ($token instanceof HTMLPurifier_Token_Text) { + foreach ($this->injectors as $i => $injector) { + if (isset($token->skip[$i])) { + // See Note [Injector skips] + continue; + } + if ($token->rewind !== null && $token->rewind !== $i) { + continue; + } + // XXX fuckup + $r = $token; + $injector->handleText($r); + $token = $this->processToken($r, $i); + $reprocess = true; + break; + } + } + // another possibility is a comment + continue; + } + + if (isset($definition->info[$token->name])) { + $type = $definition->info[$token->name]->child->type; + } else { + $type = false; // Type is unknown, treat accordingly + } + + // quick tag checks: anything that's *not* an end tag + $ok = false; + if ($type === 'empty' && $token instanceof HTMLPurifier_Token_Start) { + // claims to be a start tag but is empty + $token = new HTMLPurifier_Token_Empty( + $token->name, + $token->attr, + $token->line, + $token->col, + $token->armor + ); + $ok = true; + } elseif ($type && $type !== 'empty' && $token instanceof HTMLPurifier_Token_Empty) { + // claims to be empty but really is a start tag + // NB: this assignment is required + $old_token = $token; + $token = new HTMLPurifier_Token_End($token->name); + $token = $this->insertBefore( + new HTMLPurifier_Token_Start($old_token->name, $old_token->attr, $old_token->line, $old_token->col, $old_token->armor) + ); + // punt (since we had to modify the input stream in a non-trivial way) + $reprocess = true; + continue; + } elseif ($token instanceof HTMLPurifier_Token_Empty) { + // real empty token + $ok = true; + } elseif ($token instanceof HTMLPurifier_Token_Start) { + // start tag + + // ...unless they also have to close their parent + if (!empty($this->stack)) { + + // Performance note: you might think that it's rather + // inefficient, recalculating the autoclose information + // for every tag that a token closes (since when we + // do an autoclose, we push a new token into the + // stream and then /process/ that, before + // re-processing this token.) But this is + // necessary, because an injector can make an + // arbitrary transformations to the autoclosing + // tokens we introduce, so things may have changed + // in the meantime. Also, doing the inefficient thing is + // "easy" to reason about (for certain perverse definitions + // of "easy") + + $parent = array_pop($this->stack); + $this->stack[] = $parent; + + $parent_def = null; + $parent_elements = null; + $autoclose = false; + if (isset($definition->info[$parent->name])) { + $parent_def = $definition->info[$parent->name]; + $parent_elements = $parent_def->child->getAllowedElements($config); + $autoclose = !isset($parent_elements[$token->name]); + } + + if ($autoclose && $definition->info[$token->name]->wrap) { + // Check if an element can be wrapped by another + // element to make it valid in a context (for + // example,