石門水庫
E-DA ROYAL HOTEL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | create or replace FUNCTION ADD_DAYS ( MINGUO_YYYMMDD IN VARCHAR2 --CHINESE YEAR , DAYS IN NUMBER --5 MEANS ADD 5 DAYS, -3 MEANS SUBSTRACT 3 DAYS ) RETURN VARCHAR2 IS NEW_MINGUO_YYY_MM_DD VARCHAR2(7); --RETURN RESULT BEGIN SELECT NEW_MINGUO_YYY_MM_DD INTO NEW_MINGUO_YYY_MM_DD FROM( SELECT SUBSTR(TO_CHAR(TO_DATE(SUBSTR(MINGUO_YYYMMDD, 0, 3)+1911 || SUBSTR(MINGUO_YYYMMDD, 4, 4), 'YYYYMMDD')+DAYS, 'YYYYMMDD'), 0, 4)-1911 || SUBSTR(TO_CHAR(TO_DATE(SUBSTR(MINGUO_YYYMMDD, 0, 3)+1911 || SUBSTR(MINGUO_YYYMMDD, 4, 4), 'YYYYMMDD')+DAYS, 'YYYYMMDD'), 5, 4) AS NEW_MINGUO_YYY_MM_DD FROM DUAL ); RETURN NEW_MINGUO_YYY_MM_DD; END ADD_DAYS; |
1 | SELECT ADD_DAYS('1031120', 5) FROM DUAL; |
1 | SELECT ADD_DAYS('1030803', -3) FROM DUAL; |
1 2 3 4 5 6 7 8 9 10 | SELECT YYY_MM, ASP, ITEM_CD, ITEM_NM, AMT_A, AMT_B, AMT_C FROM FMS420FA WHERE YYY_MM='10210' ORDER BY ASP |
ROW_NUMBER
is an analytic function. It assigns a unique number to each row to which it is applied (either each row in the partition or each row returned by the query), in the ordered sequence of rows specified in the order_by_clause
, beginning with 1.1 2 3 4 5 6 7 8 9 10 11 | SELECT ROW_NUMBER() OVER (PARTITION BY YYY_MM ORDER BY ASP) SEQ, YYY_MM, ASP, ITEM_CD, ITEM_NM, AMT_A, AMT_B, AMT_C FROM FMS420FA WHERE YYY_MM='10210' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | SELECT SUBSTR(PDATE, 0, 5) AS YYY_MM, ROUND(SUM(NVL(PAY_T_BILL, 0))/100000000, 0) AS PAY_T_BILL FROM FMS406VD WHERE SUBSTR(PDATE, 0, 5) IN ('10201', '10202', '10203', '10204', '10205', '10206', '10207', '10208', '10209', '10210', '10211', '10212') AND BL_ROC_YM = SUBSTR(PDATE, 0, 5) GROUP BY SUBSTR(PDATE, 0, 5) ORDER BY SUBSTR(PDATE, 0, 5) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | SELECT AMT1, AMT2, AMT3, AMT4, AMT5, AMT6, AMT7, AMT8, AMT9, AMT10, AMT11, AMT12 FROM( SELECT SUBSTR(PDATE, 0, 5) AS YYY_MM, ROUND(SUM(NVL(PAY_T_BILL, 0))/100000000, 0) AS PAY_T_BILL FROM FMS406VD WHERE SUBSTR(PDATE, 0, 5) IN ('10201', '10202', '10203', '10204', '10205', '10206', '10207', '10208', '10209', '10210', '10211', '10212' ) AND BL_ROC_YM = SUBSTR(PDATE, 0, 5) GROUP BY SUBSTR(PDATE, 0, 5) ORDER BY SUBSTR(PDATE, 0, 5) ) PIVOT(SUM(PAY_T_BILL) FOR YYY_MM IN ( '10201' AS AMT1, '10202' AS AMT2, '10203' AS AMT3, '10204' AS AMT4, '10205' AS AMT5, '10206' AS AMT6, '10207' AS AMT7, '10208' AS AMT8, '10209' AS AMT9, '10210' AS AMT10, '10211' AS AMT11, '10212' AS AMT12)) |
1: albert@ALBERT-PC ~
2: $ cd d:
3: albert@ALBERT-PC /d
4: $ cd git
5: albert@ALBERT-PC /d/git
6: $ mkdir dbm
7: albert@ALBERT-PC /d/git
8: $ cd dbm
9: albert@ALBERT-PC /d/git/dbm
10: $ git init
11: Initialized empty Git repository in d:/git/dbm/.git/
1: albert@ALBERT-PC /d/git/dbm (master)
2: $ touch README
3: albert@ALBERT-PC /d/git/dbm (master)
4: $ git add README
5: albert@ALBERT-PC /d/git/dbm (master)
6: $ git commit -m "first commit"
7: [master (root-commit) b45a8a4] first commit
8: 1 file changed, 0 insertions(+), 0 deletions(-)
9: create mode 100644 README
1: albert@ALBERT-PC /d/git/dbm (master)
2: $ git remote add origin http://192.168.31.166/ifmis/dbm.git
3: albert@ALBERT-PC /d/git/dbm (master)
4: $ git push -u origin master
5: Username for 'http://192.168.31.166': albert_kuo
6: Password for 'http://albert_kuo@192.168.31.166':
7: Counting objects: 3, done.
8: Writing objects: 100% (3/3), 206 bytes | 0 bytes/s, done.
9: Total 3 (delta 0), reused 0 (delta 0)
10: To http://192.168.31.166/ifmis/dbm.git
11: * [new branch] master -> master
12: Branch master set up to track remote branch master from origin.
1: albert@ALBERT-PC /d/git/dbm (master)
2: $ git add .
3: warning: LF will be replaced by CRLF in dbm-webapp/src/main/jasperreports/README.md.
4: The file will have its original line endings in your working directory.
5: warning: LF will be replaced by CRLF in dbm-webapp/src/main/webapp/WEB-INF/templates/README.md.
6: The file will have its original line endings in your working directory.
7: warning: LF will be replaced by CRLF in dbm-webapp/src/main/webapp/scripts/README.md.
8: The file will have its original line endings in your working directory.
9: warning: LF will be replaced by CRLF in dbm-webapp/src/main/webapp/styles/README.md.
10: The file will have its original line endings in your working directory.
11: warning: LF will be replaced by CRLF in dbm-webapp/src/test/database/README.md.
12: The file will have its original line endings in your working directory.
13: warning: LF will be replaced by CRLF in dbm-webapp/src/test/database/test-datasource.xml.template-or
14: acle.
15: The file will have its original line endings in your working directory.
16: warning: LF will be replaced by CRLF in dbm-webapp/src/test/database/test-datasource.xml.template-sq
17: lserver.
18: The file will have its original line endings in your working directory.
19: warning: LF will be replaced by CRLF in pom.xml.
20: The file will have its original line endings in your working directory.
21: albert@ALBERT-PC /d/git/dbm (master)
22: $ git commit -m "create project skeleton"
23: [master 4abf50e] create project skeleton
24: warning: LF will be replaced by CRLF in dbm-webapp/src/main/jasperreports/README.md.
25: The file will have its original line endings in your working directory.
26: warning: LF will be replaced by CRLF in dbm-webapp/src/main/webapp/WEB-INF/templates/README.md.
27: The file will have its original line endings in your working directory.
28: warning: LF will be replaced by CRLF in dbm-webapp/src/main/webapp/scripts/README.md.
29: The file will have its original line endings in your working directory.
30: warning: LF will be replaced by CRLF in dbm-webapp/src/main/webapp/styles/README.md.
31: The file will have its original line endings in your working directory.
32: warning: LF will be replaced by CRLF in dbm-webapp/src/test/database/README.md.
33: The file will have its original line endings in your working directory.
34: warning: LF will be replaced by CRLF in dbm-webapp/src/test/database/test-datasource.xml.template-or
35: acle.
36: The file will have its original line endings in your working directory.
37: warning: LF will be replaced by CRLF in dbm-webapp/src/test/database/test-datasource.xml.template-sq
38: lserver.
39: The file will have its original line endings in your working directory.
40: warning: LF will be replaced by CRLF in pom.xml.
41: The file will have its original line endings in your working directory.
42: 22 files changed, 498 insertions(+)
43: create mode 100644 README.md
44: create mode 100644 dbm-entity/pom.xml
45: create mode 100644 dbm-entity/src/main/java/gov/nta/entity/package-info.java
46: create mode 100644 dbm-service/pom.xml
47: create mode 100644 dbm-service/src/main/java/gov/nta/dbm/repository/package-info.java
48: create mode 100644 dbm-service/src/main/java/gov/nta/dbm/service/package-info.java
49: create mode 100644 dbm-webapp/pom.xml
50: create mode 100644 dbm-webapp/src/main/jasperreports/README.md
51: create mode 100644 dbm-webapp/src/main/java/gov/nta/dbm/web/controller/package-info.java
52: create mode 100644 dbm-webapp/src/main/java/gov/nta/dbm/web/dto/package-info.java
53: create mode 100644 dbm-webapp/src/main/java/gov/nta/dbm/web/rest/package-info.java
54: create mode 100644 dbm-webapp/src/main/resources/gov/nta/dbm/Messages.properties
55: create mode 100644 dbm-webapp/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
56: create mode 100644 dbm-webapp/src/main/webapp/WEB-INF/jboss-web.xml
57: create mode 100644 dbm-webapp/src/main/webapp/WEB-INF/templates/README.md
58: create mode 100644 dbm-webapp/src/main/webapp/WEB-INF/web.xml
59: create mode 100644 dbm-webapp/src/main/webapp/scripts/README.md
60: create mode 100644 dbm-webapp/src/main/webapp/styles/README.md
61: create mode 100644 dbm-webapp/src/test/database/README.md
62: create mode 100644 dbm-webapp/src/test/database/test-datasource.xml.template-oracle
63: create mode 100644 dbm-webapp/src/test/database/test-datasource.xml.template-sqlserver
64: create mode 100644 pom.xml
65: albert@ALBERT-PC /d/git/dbm (master)
66: $ git push -u origin master
67: Username for 'http://192.168.31.166': albert_kuo
68: Password for 'http://albert_kuo@192.168.31.166':
69: Counting objects: 64, done.
70: Delta compression using up to 4 threads.
71: Compressing objects: 100% (34/34), done.
72: Writing objects: 100% (63/63), 10.12 KiB | 0 bytes/s, done.
73: Total 63 (delta 2), reused 0 (delta 0)
74: To http://192.168.31.166/ifmis/dbm.git
75: b45a8a4..4abf50e master -> master
76: Branch master set up to track remote branch master from origin.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | public class MyUtils { /** * Checks for this employee. * * @param name * the name * @return true if find data; false if find nothing */ public static Boolean hasThisEmployee(final String name) { Boolean hasData = Boolean.FALSE; List strs = initData(); hasData = findData(name, hasData, strs); return hasData; } /** * Find employee. * * @param name * the name * @return employee name if find; null if not find */ public static String findEmployee(String name) { Boolean hasData = Boolean.FALSE; List strs = initData(); hasData = findData(name, hasData, strs); String employee = null; if(hasData) { employee = name; } return employee; } /** * Find all employee. * * @return list of String */ public static List findAllEmployee(){ return initData(); } /** * Find employee. * * @param name * @param hasData * @param strs * @return true if find data; false if find nothing */ private static Boolean findData(final String name, Boolean hasData, List strs) { Predicate predicate = new Predicate() { @Override public boolean apply(String input) { return name.equalsIgnoreCase(input); } }; Iterator iterator = Collections2.filter(strs, predicate).iterator(); while (iterator.hasNext()) { if (!Strings.isNullOrEmpty((String) iterator.next())) { hasData = Boolean.TRUE; break; } } return hasData; } /** * * @return initial data */ private static List initData() { List strs = new ArrayList<>(); strs.add("Albert"); strs.add("Mandy"); strs.add("Eric"); return strs; } } |
package com.example.foo; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.junit.Ignore; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; /** * Tests for {@link Foo}. * * @author user@example.com (John Doe) */ public class FooTest { @Test public void thisAlwaysPasses() { } @Test @Ignore public void thisIsIgnored() { } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | public class FooTest { /** * Test assert same. * The list includes Albert, Mandy, Eric, and Obama, * it should return True if I use "Albert" to search */ @Test public void testAssertSame() { assertSame(Boolean.TRUE, MyUtils.hasThisEmployee("Albert")); } /** * Test assert not null. * The list includes Albert, Mandy, Eric, and Obama, * it should return not null if I use "Mandy" to search */ @Test public void testAssertNotNull() { assertNotNull(MyUtils.findEmployee("Mandy")); } /** * Test assert array equals. * The list includes Albert, Mandy, Eric, and Obama, * so it should return equal */ @Test public void testAssertArrayEquals() { List strs = new ArrayList<>(); strs.add("Albert"); strs.add("Mandy"); strs.add("Eric"); assertArrayEquals(strs.toArray(), MyUtils.findAllEmployee().toArray()); } } |
1 2 3 4 5 6 7 8 9 10 11 12 | import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({ FooTest.class, FooTest2.class }) public class TestSuite { // the class remains empty, // used only as a holder for the above annotations } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class FooTest2 { @Test @Ignore public void testAssertEqual() { assertEquals(36, MySecondUtils.getAge(1978)); } @Test public void testEquals() { assertEquals("Pass", MySecondUtils.getExamResult(88)); } @Test public void testAssertThat() { assertThat(MySecondUtils.getExamResult(88).equals("Pass")); } } |