# HLP
## 匯入專案
```
git =>先clone 程式
intellij=> open=>找目錄(FIA-CDS/HLP/)把project import 進來
沒有MAVEN 要先匯入
有MAVEN 要最後匯入,不然會匯不進去
load 第二個project
File > New > Module from Existing Sources…
settings=>.m2
maven
intellij 變慢
=>settings =>combile =>heap size 700=>改高一點2000
```

## [DB](https://hackmd.io/@mrcutejacky/openapi#%E5%A6%82%E4%BD%95%E5%9C%A8%E6%9C%AC%E6%A9%9F%E7%94%A2%E8%A3%BDClient%E7%B5%A6Frontend%E6%B8%AC%E8%A9%A6%EF%BC%9F)
```
hlp-admin這包
HLP.zip
application.yml
cors: 把前端 port 加入
例: http://localhost:5173/
設定 cors
jhipster:
clientApp:
name: 'PTL'
cors:
allowed-origins: "https://10.201.101.31, http://localhost:9000, http://localhost:5173"
frontend
api
[https://hackmd.io/@mrcutejacky/frontend-develop-guide#Api-client](https://api-client)
設定對應服務
# app services
VITE_APP_SERVICES_APP_SETTINGS_URL=http://localhost:8081/ptl/portal
[https://i.imgur.com/rdNvii4.png](https://i.imgur.com/rdNvii4.png)
application-dev.yml
datasource:
#url: jdbc:h2:mem:testdb
url: jdbc:h2:D:/0_再造/12_DEV/H2/HLP;IFEXISTS=TRUE;MODE=Oracle;DEFAULT_NULL_ORDERING=HIGH;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE;AUTO_SERVER=TRUE
username: sa
password:
driver-class-name: org.h2.Driver
路徑再改成你本機放的路徑
select LPAD(to_char(EINV_RTGID_SEQ.NEXTVAL),8,'0') SEQNO from DUAL;
沒檔案,要自建
create sequence EINV_RTGID_SEQ
start with 1
increment by 1
nocycle;
```
[genDB1](
https://xenby.com/b/264-%E6%95%99%E5%AD%B8-intellij-idea-%E4%BD%BF%E7%94%A8%E5%A5%97%E4%BB%B6%E7%94%A2%E7%94%9F-jpa-%E8%88%87-repository)
[genDB2](
https://www.baeldung.com/spring-data-jpa-generate-db-schema)
## 問題1
```
Q:
npm ERR! cipm can only install packages with an existing package-lock.json or npm-shrinkwrap.json with lockfileVersion >= 1. Run an in
stall with npm@5 or later to generate it, then try again.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\...\AppData\Roaming\npm-cache\_logs\2022-08-16T05_55_15_582Z-debug.log
A:
node 版本太舊
上網下載最新版即可
目前版本--node-v16.16.0-x64.msi
https://nodejs.org/en/
https://www.npmjs.com/package/vsts-npm-auth
cmd:
1.node -v
2.npm install -g vsts-npm-auth
3.vsts-npm-auth -config .npmrc
外網.npmrc
proxy=http://proxy.cht.com.tw:8080/
https-proxy=http://proxy.cht.com.tw:8080
要拿掉
npm-cache 清不掉
[https://developercommunity.visualstudio.com/t/401-on-accessing-azure-feeds-with-npm-v7/1313512](https://developercommunity.visualstudio.com/t/401-on-accessing-azure-feeds-with-npm-v7/1313512)
https://www.npmjs.com/package/vsts-npm-auth
清機碼 HS
14
vsts-npm-auth -config .npmrc -force -V Detailed
vsts-npm-auth v0.42.1.0
-----------------------
Parameters:
AuthenticationProviders=wia,federated
Config=.npmrc
Help=False
NonInteractive=False
TargetConfig=
ExpirationMinutes=129600
ReadOnly=False
Force=True
Verbosity=Detailed
INI (resolved): registry=https://pkgs.dev.azure.com/chte/fia-cds/_packaging/fia-cds-feed/npm/registry/
INI (resolved): always-auth=true
Probing https://pkgs.dev.azure.com/chte/fia-cds/_packaging/fia-cds-feed/npm/registry/
Probe response code: 401 Unauthorized
Credential type: Sps.
Has valid credentials: False.
Getting new credentials for source:https://pkgs.dev.azure.com/chte/fia-cds/_packaging/fia-cds-feed/npm/registry/, scope:vso.packaging_write vso.drop_write
Getting authentication token from https://vssps.dev.azure.com/chte/
Trying authentication provider Windows Integrated Authentication via Azure AD...
Authorization failure while retrieving a session token
Microsoft.VisualStudio.Services.Common.VssUnauthorizedException: VS30063: 您未取得存取 https://vssps.dev.azure.com 的授 權。
```
## vu3
```
https://ithelp.ithome.com.tw/articles/10279703
```
## yml
```
application.yml
加
jhipster:
clientApp:
name: 'HLP'
cors:
allowed-origins: "http://localhost:9000,http://localhost:3000"<==
allowed-methods: "*"
allowed-headers: "*"
exposed-headers: "Authorization,x-request-id,x-inv-alert,x-inv-params"
allow-credentials: true
max-age: 1800
applictaion-dev.yml
加功能
```
## .env.development
```
.env.development
# common
VITE_APP_TITLE=電子發票整合服務平台(傳輸紀錄查詢系統)
VITE_APP_NAME=hlp
VITE_APP_ROOT=/dashboard/hlp/
# sso
VITE_APP_SSO_LOGIN=http://localhost:9080/proxyLogin
VITE_APP_SSO_LOGOUT=http://localhost:9080/proxyLogout
# common services
VITE_APP_SERVICES_ACT_URL=/act
VITE_APP_ACT_URL=/act
# app services
VITE_APP_SERVICES_HLP_URL=http://localhost:8081/hlp
```
## [openAPI](https://hackmd.io/@mrcutejacky/openapi#OpenAPI) 前後端介接
1.server端admin啟好後
檢查路徑--http://localhost:8081/hlp/v3/api-docs
檔案是否有新加入的---------------
2.安裝openapi-generator-cli
npm install -g @openapitools/openapi-generator-cli
****本機不要再重裝, 會把jar 檔刪除
3.產製api.ts檔
openapi-generator-cli generate -i http://localhost:8081/hlp/v3/api-docs -g typescript-axios --additional-properties=npmName=@fia-cds/einvoice-hlp-admin-client,npmVersion=0.0.15 --type-mappings=DateTime=Date -o einvoice-hlp-admin-client
會有一個檔案+版號, 本機再對應package.json裡的版號
openapi-generator-cli generate -i http://localhost:8081/ptl/v3/api-docs -g typescript-axios --additional-properties=npmName=@fia-cds/einvoice-ptl-admin-client,npmVersion=0.0.7 --type-mappings=DateTime=Date -o einvoice-ptl-admin-client
****
新專案, 把之前專案下的openapitools.json
copy 到新專案下---ex.原hlp=>ptl
4.
package.json 裡的設定, 自行變更
"dependencies": {
"@fia-cds/einvoice-hlp-admin-client": "^0.0.5",
本機會置換成自行產製的路徑
"@fia-cds/einvoice-hlp-admin-client": "file:../einvoice-hlp-admin-client/fia-cds-einvoice-hlp-admin-client-0.0.10.tgz",
...
}
5.npm
本機
A.在產好檔案的目錄下(\einvoice-hlp-admin-client)執行
1)npm install
2)npm run build
3)npm pack
B.再回到hlp/frontend 目錄下執行
A所產製好的檔案
npm install ..\einvoice-hlp-admin-client\fia-cds-einvoice-hlp-admin-client-0.0.10.tgz
預設
npm install @fia-cds/einvoice-hlp-admin-client@0.0.6 --save
****
1. einvoice-ptl-admin-client
下執行
a. npm install
b. npm run build
c. npm pack
產出 ex. fia-cds-einvoice-ptl-admin-client-0.0.1.tgz
2. D:\workSpace\FIA-CDS\PTL>cd einvoice-ptl-admin-frontend
3. D:\workSpace\FIA-CDS\PTL\einvoice-ptl-admin-frontend>npm install ..\einvoice-ptl-admin-client\fia-cds-einvoice-ptl-admin-client-0.0.1.tgz
http://localhost:8081/ptl/v3/api-docs
****
azure 上的操作
pilelines
要選到publish-client-einvoice-ptl-admin 執行 run pipeline
再去artifacts 看gen 出來的版本有沒存在
再去改frontend =>package.json =>client 版號
**********
產openapi.json
openapi-generator-cli generate -i http://localhost:8081/ptl/v3/api-docs -g typescript-axios --additional-properties=npmName=@fia-cds/einvoice-ptl-admin-client,npmVersion=0.0.3 --type-mappings=DateTime=Date -o einvoice-ptl-admin-client
## app.vue
```
statuscode 有沒有註冊
i18n
```
## 待改sftp 的api

```
hlp call sftp api 這支要再修一下
原先的寫法會有Injection 的問題
所以這段的寫法再修一下
設定的資料在application.yml中
application-dev.yml要加
goanywhere:
enable: false
ip: 10.201.101.41
port: 8000
loginId:
loginPw:
ddl
CREATE TABLE PCOMMMGR.PTL_FOCUS_BASE ( FOCUS_NO VARCHAR2(20) NOT NULL ENABLE, FOCUS_NAME VARCHAR2(200), FOCUS_NAME_EN VARCHAR2(200), SORT_NO NUMBER DEFAULT 0, --新增欄位 IN_USED NUMBER DEFAULT 0, CREATED_BY VARCHAR2(100) DEFAULT 'SYS' NOT NULL ENABLE, CREATED_DATE DATE DEFAULT SYSDATE NOT NULL ENABLE, CREATED_IP VARCHAR2(50), CREATED_FUNC VARCHAR2(20) DEFAULT 'FUNC' NOT NULL ENABLE, LAST_MODIFIED_BY VARCHAR2(100), LAST_MODIFIED_DATE DATE, LAST_MODIFIED_IP VARCHAR2(50), LAST_MODIFIED_FUNC VARCHAR2(20) );
CREATE TABLE PTL_STATIC_HTML
(
HTML_NO VARCHAR2(20) NOT NULL ,
HTML_SUBJECT VARCHAR2(200),
--WITH_CSS NUMBER,
HTML_LANGUAGE NUMBER DEFAULT 0,
HTML_FILENAME VARCHAR2(200),
CREATED_BY VARCHAR2(100) DEFAULT 'SYS' NOT NULL ,
CREATED_DATE DATE DEFAULT CURRENT_TIMESTAMP NOT NULL ,
CREATED_IP VARCHAR2(50),
CREATED_FUNC VARCHAR2(20) DEFAULT 'FUNC' NOT NULL ,
LAST_MODIFIED_BY VARCHAR2(100),
LAST_MODIFIED_DATE DATE ,
LAST_MODIFIED_IP VARCHAR2(50),
LAST_MODIFIED_FUNC VARCHAR2(20)
);
CREATE TABLE PTL_FOCUS_BASE
(
FOCUS_NO VARCHAR2(20) NOT NULL ,
FOCUS_NAME VARCHAR2(200),
FOCUS_NAME_EN VARCHAR2(200),
SORT_NO NUMBER DEFAULT 0,
IN_USED NUMBER DEFAULT 0,
CREATED_BY VARCHAR2(100) DEFAULT 'SYS' NOT NULL ,
CREATED_DATE DATE DEFAULT CURRENT_TIMESTAMP NOT NULL ,
CREATED_IP VARCHAR2(50),
CREATED_FUNC VARCHAR2(20) DEFAULT 'FUNC' NOT NULL ,
LAST_MODIFIED_BY VARCHAR2(100),
LAST_MODIFIED_DATE DATE,
LAST_MODIFIED_IP VARCHAR2(50),
LAST_MODIFIED_FUNC VARCHAR2(20)
);
```