diff options
17 files changed, 1482 insertions, 1437 deletions
diff --git a/.env.development b/.env.development index 2ea1c4b0..aebc2b73 100644 --- a/.env.development +++ b/.env.development @@ -1,6 +1,15 @@ +# === DB 설정 === DATABASE_URL=postgresql://dts:dujinDTS2@localhost:5432/evcp +DB_POOL_MAX=4 # 풀 개수로, 일반적으로 (코어개수 * 1~2) 개 설정, 기본값=4 + +# === 보안 설정 === JWT_SECRET=dujin2tdofj1241.m NEXTAUTH_SECRET=dujinsejinnejinojin1020202310245jldfmoi2eqjldsajfoadmmdlfjmomc.mv0qp3jem.alsmfmc.jl +NEXT_PUBLIC_URL=http://43.203.251.114:3000 +NEXT_PUBLIC_BASE_URL=http://43.203.251.114:3001 +NEXTAUTH_URL=http://43.203.251.114:3000 + +# === 이메일 설정 === Email_Host=email-smtp.ap-northeast-2.amazonaws.com Email_Port=465 Email_Secure=true @@ -8,14 +17,10 @@ Email_User_Name=AKIAVLO5MGBR4764VHHW Email_Password=BGs1NJ784I64GoX/itxaQ60FCUEwf0HZhyaCsEUCwFQ/ Email_From_Name=eVCP Email_From_Address=dujin.kim@dtsolution.co.kr -NEXT_PUBLIC_MUI_KEY=da30586e1f20b93856a9783012fc9258Tz04ODI0MyxFPTE3NDQ0NTM2NzgwMDAsUz1wcmVtaXVtLExNPXN1YnNjcmlwdGlvbixLVj0y - - -NEXT_PUBLIC_URL=http://43.203.251.114:3000 -NEXT_PUBLIC_BASE_URL=http://43.203.251.114:3001 -NEXTAUTH_URL=http://43.203.251.114:3000 # === 상용 소프트웨어 키 === +# MUI +NEXT_PUBLIC_MUI_KEY=da30586e1f20b93856a9783012fc9258Tz04ODI0MyxFPTE3NDQ0NTM2NzgwMDAsUz1wcmVtaXVtLExNPXN1YnNjcmlwdGlvbixLVj0y # PDFTRON KEYS NEXT_PUBLIC_PDFTRON_WEBVIEW_KEY=demo:1739264618684:616161d7030000000091db1c97c6f386d41d3506ab5b507381ef2ee2bd NEXT_PUBLIC_PDFTRON_SERVER_KEY=demo:1740034881027:6175a0fc0300000000f155d153480e5ba091f17922a109cbd7cf6e40b3 @@ -26,32 +31,29 @@ NEXT_PUBLIC_DESIGNER_LICENSE="43.203.251.114|60.101.108.100|evcp.dtsolution.io,2 # NEXT_PUBLIC_SPREAD_LICENSE="60.101.108.100,674672615555322#B1dbvNkSiJXZDRFRYJVQHFWa6Y6KTVGV5cVWSRVWVlHejFlcvFWUFdGVzVVZVtEcsNjNvo5aHhjcSNVd6kzNvQUT9tCSxEXU6RzRrh5SxsUYqZjertEU7RWQu3yaDNXT5JmRIh7R6YnSGZlMDhkRqB7MIlTYvUWQFFzYulTTm3ENINEV7FWZMl4Q5cXSy96KthkVC3USvYXa8FnbtJWZFdlVSFmYwsEMKRkQxp6TRdGMLdVOTR7TMJEWiRGa6JncDRlWShTN9glc8FmQkBzdvMkUthHUoJGbOJGatVmUxtkRTVmeUlVWxJDN7kXQ6oHUwhEciZXNNJVOPBzc83UaTNmZVZ6aIxUcQdmcOJiOiMlIsICNzgTN5YTQyIiOigkIsYDM6gDN6YjM0IicfJye35XX3JCSJpkQiojIDJCLigTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiIyQzMxkDMgQjM7ATNyAjMiojI4J7QiwiIwATMugDMx8SMwEjLwYjI0IyctRkIsIShXyetzqekkyesEyOvCyuI0ISYONkIsIiMyMTN5UTNxYjM7YDN7YjI0ICZJJCL35lI4VWZoNFdy3GclJlIsICdyFGaDFGdhRkIsISZsJWYUR7b6lGUiwiI4VWZoNFd49WYHJyW0IyZsZmIsU6csFmZ0IiczRmI1pjIs9WQisnOiQkIsISP3cXVw2meRZ4Yys4YB3UeaJkck9GWjhHUMVlU4gUcndlS63EWCB7YZh7bHBlVwBHe5kVcvEzc5N5aBZUZlJ6SpZHTHRFVjd5dxs6Yuh" # NEXT_PUBLIC_DESIGNER_LICENSE="Designer-514482759413237#B1IdxRUVvQnMkFkYVBzLjRzZohUVWZnSiJWUO9WS4pnMLp5KJZ7dX3CelFlW53STTlkdLlzdYBFV6lzTLRGUKVWOU3UbR3GUXFWZxJ5K8lzTnpVcEBHT5p4Yqt6RvEXaTtWMrRmUWpGW5x6dZlzVM5GRjZXMNVGdKxUZptGVUlUWiRnZ7cnTndkWsRGZllTcDpXeVpWRIV5M9BDVkBFNElWUCd5ZzcUWLNjYPNXOl9ESVJTQ756MFlFWzcmcGFDcXt6dDdnV4YmejJHSnNUc6t4MxcXNzQkU9kFSBRGa73WNEtyR6MkZzsEbvRVVHdHWYVlMr2UTGFmZI3mWIdUTihWb43WY78Eaz3SV9d6UzU4R7V5YjJiOiMlIsISMFBjQ8kDRiojIIJCLxITMzUjN5cTN0IicfJye35XX3JCSJpkQiojIDJCLigTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiI9QTOwMDMgEjM7ATNyAjMiojI4J7QiwiIw8CMuAjLw2icl96ZpNXZkJiOiMXbEJCLikCjGyOoEyOshyOngyOsxqOKFeJ15Or0RSK1xSI12KI1iojIh94QiwiI7MjMzEDN9UzNygDN4ETNiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZ5JHd0IiczRmI1pjIs9WQisnOiQkIsISP3E4N82mcKVkdBZ7butkQQNXcMJWNnVVMxE6aUZ4QXBldnZWcrAXM9lmS9FDbp9ERUV7Q9IndiNHd0plb7pmd5debKh" - -# 기간계 시스템 연동 설정 +# === 기간계 시스템 연동 설정 === ERP_API_URL=https://erp.example.com/api/vendors ERP_API_KEY=your-erp-api-key ERP_HEALTH_CHECK_URL=https://erp.example.com/api/health - +# S-EDP (설계정보) SEDP_API_BASE_URL=http://sedpwebapi.ship.samsung.co.kr/dev/api SEDP_API_USER_ID=EVCPUSER SEDP_API_PASSWORD=evcpusr@2025 +# === 오라클 DB === # Oracle DB 연결 설정 (개발용 - 로컬 컨테이너) # ORACLE_USER=system # ORACLE_PASSWORD=oracle # ORACLE_CONNECTION_STRING=localhost:1521/XEPDB1 - # Oracle DB 연결 설정 (SHI 품질) ORACLE_USER=shievcp ORACLE_PASSWORD=evp_2025 ORACLE_CONNECTION_STRING=60.100.89.191:7971/SEVMQ - -# 기본 DOLCE 동기화 값 (60.100.99.217=dolce 개발, 60.100.98.68=dolce 운영영) +# 기본 DOLCE 동기화 값 (60.100.99.217=dolce 개발, 60.100.98.68=dolce 운영) SYNC_DOLCE_URL=http://60.100.99.217:1111/ SYNC_DOLCE_BATCH=150 # 없으면 100으로 fallback SYNC_DOLCE_TOKEN= - SYNC_DOLCE_ENABLED=true DOLCE_UPLOAD_ENABLED=true @@ -59,10 +61,9 @@ DOLCE_UPLOAD_ENABLED=true SYNC_SWP_URL=https://swp.example.com/api/documents SYNC_SWP_BATCH=200 SYNC_SWP_TOKEN= - SYNC_SWP_ENABLED=true - +# DOLCE 설정 IMPORT_DOLCE_ENABLED=true DOLCE_API_URL=http://60.100.99.217:1111 DOLCE_UPLOAD_URL=http://60.100.99.217:1111/PWPUploadService.ashx @@ -71,16 +72,19 @@ DOLCE_DOC_DETAIL_API_URL=http://60.100.99.217:1111/Services/VDCSWebService.svc/D DOLCE_FILE_INFO_API_URL=http://60.100.99.217:1111/Services/VDCSWebService.svc/FileInfoList DOLCE_DOWNLOAD_URL=http://60.100.99.217:1111/Download.aspx -OCR_SECRET_KEY=QVZzbkFtVFV1UWl2THNCY01lYVVGUUxpWmdyUkxHYVA= +### S-GIPS ### +S_GIPS_URL="http://qa.shi-api.com/evcp/Common/verifySgipsUser" +S_GIPS_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJrZXlhdXRoLWV2Y3AiLCJuYmYiOjE3NDg2MTcyMDAsImV4cCI6MTc1NjYyNzIwMH0.aMPZn9Et0Q--lC3Av8Sh4VtWW50-Dk05WHzdhbWsr7k" +S_GIPS_RSA_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtHC28Gw0U8taUwI8oJtG1H2JWGJtcsDw8w1oZbs759/Rag7zCF/bBilRtvlOz92wt02RCONetWK9VMgR2cqTJhfSaP92jIx0QQ+W1IrSKAiBxv+WtItsaWFLgYGIYNvrX8+qOnd+rDBvKDP9kk9Zqs1mHF2CbPRmao7/iEfhTb92hCgpFqsj/zU7nV3a8RbyifEMKSXTNanOEK2nTxAjld/csXQayHSaaqoH/lVySK0Qp6A2d2u2gEj/TAQ+Bhe7BsexNs2s5u5rykJqeROqJ7n0UsGgLd+uUDeo2nLqq5KeaXNcmACVcy2AASog78dzKwQmmGuC9Rp3zIoKOGdoQwIDAQAB" -# === [시작] SSO 설정 === +### NHN Cloud OCR KEY +OCR_SECRET_KEY=QVZzbkFtVFV1UWl2THNCY01lYVVGUUxpWmdyUkxHYVA= +# === SSO 설정 === # ! SSO Redirect 주소로 활용되며, 상단에서 적절한 URL을 쓴다면 이 변수는 주석처리할 것 # NEXTAUTH_URL="http://60.101.108.100" - # SAML 2.0 SP로서 신청할 때 기입하는 사항 # 메타데이터 XML에서 추출 가능하나, 개발 편의성을 위해 추출로직 제거하고 환경변수에 하드코딩함 - ### sp_metadata.xml ### SAML_SP_ENTITY_ID="http://60.101.108.100" SAML_SP_CALLBACK_URL="http://60.101.108.100/api/saml/callback" @@ -90,35 +94,25 @@ SAML_SP_ACS_BINDING_PRIMARY="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" SAML_SP_ACS_BINDING_SECONDARY="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" SAML_SP_AUTHN_REQUESTS_SIGNED=false SAML_SP_WANT_ASSERTIONS_SIGNED=false - ### idp_metadata.xml ### SAML_IDP_ENTITY_ID="www.samsung.net" SAML_IDP_SSO_URL="https://epsso.samsung.net/sso/saml/SingleSignOnService" SAML_IDP_CERT="MIID2zCCAsOgAwIBAgIJAIt4QxV2bA3qMA0GCSqGSIb3DQEBCwUAMIGDMQswCQYDVQQGEwJLUjEPMA0GA1UECAwGSmFtc2lsMQ4wDAYDVQQHDAVTZW91bDETMBEGA1UECgwKU2Ftc3VuZ1NEUzEdMBsGA1UECwwUSW50cmFuZXRCdXNpbmVzc1RlYW0xHzAdBgNVBAMMFm5ldC5zYW1zdW5nLmtub3hwb3J0YWwwHhcNMTcwOTA2MDQ0OTI1WhcNMjcwOTA0MDQ0OTI1WjCBgzELMAkGA1UEBhMCS1IxDzANBgNVBAgMBkphbXNpbDEOMAwGA1UEBwwFU2VvdWwxEzARBgNVBAoMClNhbXN1bmdTRFMxHTAbBgNVBAsMFEludHJhbmV0QnVzaW5lc3NUZWFtMR8wHQYDVQQDDBZuZXQuc2Ftc3VuZy5rbm94cG9ydGFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA403a0G0WexaxyscAVFtThKL9X9d6XM5fq6ELIcD+cNQigQK4lqo1oRX+u1NEia+YqJHpCMdSzjmU76+xSytvTI0aNTAbm6wfiXNfkjFwD8H0TT0P4TgeqtIjmH80YLjEPIPGiMMVcbvRgJxGCKDM4XOoM5YOtzRPQaSrQ+6Vy9J5poduafMRamf1uljUfo++P8fPbqwPjamFYxG3HTX02ac11aiuY4xlUFOkvXc6UtEQ79tKmf0SKnkEyWpxyDmQYy5pW36Lkh2FzKo6itYlKaMwJRP1b9IN4g1e/Eexr+6Qb4p8qoKeWq7hTFgtiW321e8+cdeL28m1WkVDPEB5TwIDAQABo1AwTjAdBgNVHQ4EFgQUTSA00p+swYrMz1nGBs6uJ83D7DswHwYDVR0jBBgwFoAUTSA00p+swYrMz1nGBs6uJ83D7DswDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAmyBNNwzkq/+9r7gwVEe51T0s/e21b5NjQZ1t7Zrg0v43rg1baxZINpc5imGFOGpzyBFhoGCrmnpMk70m0uS284DeLJTB2Z+zsjE8NPlS5fU7lLDqaSJduOwdxmdo3PufgwL3vYXK0KTrsptdNLmP+9mYUdEAUTTyd6rwMyxXv1sgHUBNHHUY4Nlq78Q6vzjMTZ+j2yjRv4kCAueQOyuP1hqXjbfhoEluAM3gXlu7nASNFHR5CkaRyBYeORSJm/jLehGb66aRl6XfI+tNuGmpnMEnXhCq/om8KArBI/hOHgeI/YUoYkfgWjK+cteZ6RMiwlYQALwHd3J2RBMPz3NnIw==" -# === [끝] SSO 설정 === - # Bizppurio API 설정 BIZPPURIO_ACCOUNT=shinonsap_evcp BIZPPURIO_PASSWORD=shi_2025 BIZPPURIO_FROM_NUMBER=05563092940 - +# LINUX CRON SECRET CRON_SECRET=dujin@DTS@2025dujin@DTS@2025dujin@DTS@2025dujin@DTS@2025dujin@DTS@2025dujin@DTS@2025 - -S_GIPS_URL="http://qa.shi-api.com/evcp/Common/verifySgipsUser" -S_GIPS_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJrZXlhdXRoLWV2Y3AiLCJuYmYiOjE3NDg2MTcyMDAsImV4cCI6MTc1NjYyNzIwMH0.aMPZn9Et0Q--lC3Av8Sh4VtWW50-Dk05WHzdhbWsr7k" -S_GIPS_RSA_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtHC28Gw0U8taUwI8oJtG1H2JWGJtcsDw8w1oZbs759/Rag7zCF/bBilRtvlOz92wt02RCONetWK9VMgR2cqTJhfSaP92jIx0QQ+W1IrSKAiBxv+WtItsaWFLgYGIYNvrX8+qOnd+rDBvKDP9kk9Zqs1mHF2CbPRmao7/iEfhTb92hCgpFqsj/zU7nV3a8RbyifEMKSXTNanOEK2nTxAjld/csXQayHSaaqoH/lVySK0Qp6A2d2u2gEj/TAQ+Bhe7BsexNs2s5u5rykJqeROqJ7n0UsGgLd+uUDeo2nLqq5KeaXNcmACVcy2AASog78dzKwQmmGuC9Rp3zIoKOGdoQwIDAQAB" - # === SOAP 인터페이스 설정 === # MDG SOAP 인증 정보 (개발/품질/운영 비밀번호가 다름) -MDG_SOAP_USERNAME=P2038_01 # 개발/품질/운영 공통 -# MDG_SOAP_PASSWORD=STG4857602 # 개발 -MDG_SOAP_PASSWORD=SEW2765890 # 품질 -# MDG_SOAP_PASSWORD=POI9807861 # 운영 -SOAP_LOG_MAX_RECORDS=5000 -# === SOAP 인터페이스 설정 === +MDG_SOAP_USERNAME=P2038_01 # 개발/품질/운영 공통, +MDG_SOAP_PASSWORD=SEW2765890 # 품질: MDG_SOAP_PASSWORD=SEW2765890, # 운영: MDG_SOAP_PASSWORD=POI9807861 # 개발: MDG_SOAP_PASSWORD=STG4857602 +SOAP_LOG_MAX_RECORDS=5000 # soap.soap_logs 테이블에 몇건의 로그를 남길 것인지 (rotating), 5000개 = 대략 2GB +SOAP_IGNORE_DELETE_FOR_MIGRATION=false # migration 과정에서 db 부하를 줄이기 위해 서브테이블 delete 과정 생략 # === KNOX API 사용을 위한 설정 === # 임직원 API: 임직원, 조직도, 직급 @@ -137,6 +131,8 @@ MESSENGER_ACCESS_TOKEN="" MESSENGER_DEVICE_ID="" MESSENGER_BASE_URL="https://openapi.samsung.net" -# 임시 환경변수 --- 요구사항 해소되면 삭제 -READONLY_DB_URL="postgresql://readonly:tempReadOnly_123@localhost:5432/evcp" -# 임시 환경변수 --- 요구사항 해소되면 삭제
\ No newline at end of file +# === NAS 경로 설정 === +# NAS_PATH="/evcp_nas" # 기존 개발에서는 선언되지 않은 변수라 주석 처리 + +# === 임시 환경변수, 나프로 요구사항 해소되면 삭제 === +READONLY_DB_URL="postgresql://readonly:tempReadOnly_123@localhost:5432/evcp" # 해당 계정은 별도로 만들어야 함
\ No newline at end of file diff --git a/.env.production b/.env.production index 17dbaa42..c135e83b 100644 --- a/.env.production +++ b/.env.production @@ -1,6 +1,15 @@ +# === DB 설정 === DATABASE_URL=postgresql://dts:dujinDTS2@localhost:5432/evcp +DB_POOL_MAX=4 # 풀 개수로, 일반적으로 (코어개수 * 1~2) 개 설정, 기본값=4 + +# === 보안 설정 === JWT_SECRET=dujin2tdofj1241.m NEXTAUTH_SECRET=dujinsejinnejinojin1020202310245jldfmoi2eqjldsajfoadmmdlfjmomc.mv0qp3jem.alsmfmc.jl +NEXT_PUBLIC_URL=https://evcp.dtsolution.io +NEXT_PUBLIC_BASE_URL=https://evcp.dtsolution.io +NEXTAUTH_URL=https://evcp.dtsolution.io + +# === 이메일 설정 === Email_Host=email-smtp.ap-northeast-2.amazonaws.com Email_Port=465 Email_Secure=true @@ -8,14 +17,10 @@ Email_User_Name=AKIAVLO5MGBR4764VHHW Email_Password=BGs1NJ784I64GoX/itxaQ60FCUEwf0HZhyaCsEUCwFQ/ Email_From_Name=eVCP Email_From_Address=dujin.kim@dtsolution.co.kr -NEXT_PUBLIC_MUI_KEY=da30586e1f20b93856a9783012fc9258Tz04ODI0MyxFPTE3NDQ0NTM2NzgwMDAsUz1wcmVtaXVtLExNPXN1YnNjcmlwdGlvbixLVj0y - - - NEXT_PUBLIC_URL=https://evcp.dtsolution.io - NEXT_PUBLIC_BASE_URL=https://evcp.dtsolution.io - NEXTAUTH_URL=https://evcp.dtsolution.io # === 상용 소프트웨어 키 === +# MUI +NEXT_PUBLIC_MUI_KEY=da30586e1f20b93856a9783012fc9258Tz04ODI0MyxFPTE3NDQ0NTM2NzgwMDAsUz1wcmVtaXVtLExNPXN1YnNjcmlwdGlvbixLVj0y # PDFTRON KEYS NEXT_PUBLIC_PDFTRON_WEBVIEW_KEY=demo:1739264618684:616161d7030000000091db1c97c6f386d41d3506ab5b507381ef2ee2bd NEXT_PUBLIC_PDFTRON_SERVER_KEY=demo:1740034881027:6175a0fc0300000000f155d153480e5ba091f17922a109cbd7cf6e40b3 @@ -26,68 +31,60 @@ NEXT_PUBLIC_DESIGNER_LICENSE="43.203.251.114|60.101.108.100|evcp.dtsolution.io,2 # NEXT_PUBLIC_SPREAD_LICENSE="60.101.108.100,674672615555322#B1dbvNkSiJXZDRFRYJVQHFWa6Y6KTVGV5cVWSRVWVlHejFlcvFWUFdGVzVVZVtEcsNjNvo5aHhjcSNVd6kzNvQUT9tCSxEXU6RzRrh5SxsUYqZjertEU7RWQu3yaDNXT5JmRIh7R6YnSGZlMDhkRqB7MIlTYvUWQFFzYulTTm3ENINEV7FWZMl4Q5cXSy96KthkVC3USvYXa8FnbtJWZFdlVSFmYwsEMKRkQxp6TRdGMLdVOTR7TMJEWiRGa6JncDRlWShTN9glc8FmQkBzdvMkUthHUoJGbOJGatVmUxtkRTVmeUlVWxJDN7kXQ6oHUwhEciZXNNJVOPBzc83UaTNmZVZ6aIxUcQdmcOJiOiMlIsICNzgTN5YTQyIiOigkIsYDM6gDN6YjM0IicfJye35XX3JCSJpkQiojIDJCLigTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiIyQzMxkDMgQjM7ATNyAjMiojI4J7QiwiIwATMugDMx8SMwEjLwYjI0IyctRkIsIShXyetzqekkyesEyOvCyuI0ISYONkIsIiMyMTN5UTNxYjM7YDN7YjI0ICZJJCL35lI4VWZoNFdy3GclJlIsICdyFGaDFGdhRkIsISZsJWYUR7b6lGUiwiI4VWZoNFd49WYHJyW0IyZsZmIsU6csFmZ0IiczRmI1pjIs9WQisnOiQkIsISP3cXVw2meRZ4Yys4YB3UeaJkck9GWjhHUMVlU4gUcndlS63EWCB7YZh7bHBlVwBHe5kVcvEzc5N5aBZUZlJ6SpZHTHRFVjd5dxs6Yuh" # NEXT_PUBLIC_DESIGNER_LICENSE="Designer-514482759413237#B1IdxRUVvQnMkFkYVBzLjRzZohUVWZnSiJWUO9WS4pnMLp5KJZ7dX3CelFlW53STTlkdLlzdYBFV6lzTLRGUKVWOU3UbR3GUXFWZxJ5K8lzTnpVcEBHT5p4Yqt6RvEXaTtWMrRmUWpGW5x6dZlzVM5GRjZXMNVGdKxUZptGVUlUWiRnZ7cnTndkWsRGZllTcDpXeVpWRIV5M9BDVkBFNElWUCd5ZzcUWLNjYPNXOl9ESVJTQ756MFlFWzcmcGFDcXt6dDdnV4YmejJHSnNUc6t4MxcXNzQkU9kFSBRGa73WNEtyR6MkZzsEbvRVVHdHWYVlMr2UTGFmZI3mWIdUTihWb43WY78Eaz3SV9d6UzU4R7V5YjJiOiMlIsISMFBjQ8kDRiojIIJCLxITMzUjN5cTN0IicfJye35XX3JCSJpkQiojIDJCLigTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiI9QTOwMDMgEjM7ATNyAjMiojI4J7QiwiIw8CMuAjLw2icl96ZpNXZkJiOiMXbEJCLikCjGyOoEyOshyOngyOsxqOKFeJ15Or0RSK1xSI12KI1iojIh94QiwiI7MjMzEDN9UzNygDN4ETNiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4JXYoNUY4FGRiwiIlxmYhRFdvZXaQJCLiQXZlh6U4RnbhdkIbpjInxmZiwSZ5JHd0IiczRmI1pjIs9WQisnOiQkIsISP3E4N82mcKVkdBZ7butkQQNXcMJWNnVVMxE6aUZ4QXBldnZWcrAXM9lmS9FDbp9ERUV7Q9IndiNHd0plb7pmd5debKh" - -# 기간계 시스템 연동 설정 +# === 기간계 시스템 연동 설정 === ERP_API_URL=https://erp.example.com/api/vendors ERP_API_KEY=your-erp-api-key ERP_HEALTH_CHECK_URL=https://erp.example.com/api/health - +# S-EDP (설계정보) SEDP_API_BASE_URL=http://sedpwebapi.ship.samsung.co.kr/api SEDP_API_USER_ID=EVCPUSER SEDP_API_PASSWORD=evcpusr@2025 +# === 오라클 DB === # Oracle DB 연결 설정 (개발용 - 로컬 컨테이너) # ORACLE_USER=system # ORACLE_PASSWORD=oracle # ORACLE_CONNECTION_STRING=localhost:1521/XEPDB1 - # Oracle DB 연결 설정 (SHI 품질) ORACLE_USER=shievcp ORACLE_PASSWORD=evp_2025 ORACLE_CONNECTION_STRING=60.100.89.191:7971/SEVMQ - -# 기본 DOLCE 동기화 값 +# 기본 DOLCE 동기화 값 (60.100.99.217=dolce 개발, 60.100.98.68=dolce 운영) SYNC_DOLCE_URL=http://60.100.99.217:1111/ SYNC_DOLCE_BATCH=150 # 없으면 100으로 fallback SYNC_DOLCE_TOKEN= - SYNC_DOLCE_ENABLED=true DOLCE_UPLOAD_ENABLED=true - # 기본 SWP 동기화 값 SYNC_SWP_URL=https://swp.example.com/api/documents SYNC_SWP_BATCH=200 SYNC_SWP_TOKEN= +# SYNC_SWP_ENABLED=true # production에는 선언되어 있지 않아서 주석처리해 추가 - +# DOLCE 설정 IMPORT_DOLCE_ENABLED=true - DOLCE_API_URL=http://60.100.99.217:1111 DOLCE_UPLOAD_URL=http://60.100.99.217:1111/PWPUploadService.ashx DOLCE_DOC_LIST_API_URL=http://60.100.99.217:1111/Services/VDCSWebService.svc/DwgReceiptMgmt DOLCE_DOC_DETAIL_API_URL=http://60.100.99.217:1111/Services/VDCSWebService.svc/DetailDwgReceiptMgmt DOLCE_FILE_INFO_API_URL=http://60.100.99.217:1111/Services/VDCSWebService.svc/FileInfoList - +DOLCE_DOWNLOAD_URL=http://60.100.99.217:1111/Download.aspx ### S-GIPS ### S_GIPS_URL="http://qa.shi-api.com/evcp/Common/verifySgipsUser" S_GIPS_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJrZXlhdXRoLWV2Y3AiLCJuYmYiOjE3NDg2MTcyMDAsImV4cCI6MTc1NjYyNzIwMH0.aMPZn9Et0Q--lC3Av8Sh4VtWW50-Dk05WHzdhbWsr7k" S_GIPS_RSA_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtHC28Gw0U8taUwI8oJtG1H2JWGJtcsDw8w1oZbs759/Rag7zCF/bBilRtvlOz92wt02RCONetWK9VMgR2cqTJhfSaP92jIx0QQ+W1IrSKAiBxv+WtItsaWFLgYGIYNvrX8+qOnd+rDBvKDP9kk9Zqs1mHF2CbPRmao7/iEfhTb92hCgpFqsj/zU7nV3a8RbyifEMKSXTNanOEK2nTxAjld/csXQayHSaaqoH/lVySK0Qp6A2d2u2gEj/TAQ+Bhe7BsexNs2s5u5rykJqeROqJ7n0UsGgLd+uUDeo2nLqq5KeaXNcmACVcy2AASog78dzKwQmmGuC9Rp3zIoKOGdoQwIDAQAB" -### S-GIPS ### +### NHN Cloud OCR KEY OCR_SECRET_KEY=QVZzbkFtVFV1UWl2THNCY01lYVVGUUxpWmdyUkxHYVA= - -# === [시작] SSO 설정 === - +# === SSO 설정 === # ! SSO Redirect 주소로 활용되며, 상단에서 적절한 URL을 쓴다면 이 변수는 주석처리할 것 # NEXTAUTH_URL="http://60.101.108.100" - # SAML 2.0 SP로서 신청할 때 기입하는 사항 # 메타데이터 XML에서 추출 가능하나, 개발 편의성을 위해 추출로직 제거하고 환경변수에 하드코딩함 - ### sp_metadata.xml ### SAML_SP_ENTITY_ID="http://60.101.108.100" SAML_SP_CALLBACK_URL="http://60.101.108.100/api/saml/callback" @@ -97,29 +94,25 @@ SAML_SP_ACS_BINDING_PRIMARY="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" SAML_SP_ACS_BINDING_SECONDARY="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" SAML_SP_AUTHN_REQUESTS_SIGNED=false SAML_SP_WANT_ASSERTIONS_SIGNED=false - ### idp_metadata.xml ### SAML_IDP_ENTITY_ID="www.samsung.net" SAML_IDP_SSO_URL="https://epsso.samsung.net/sso/saml/SingleSignOnService" SAML_IDP_CERT="MIID2zCCAsOgAwIBAgIJAIt4QxV2bA3qMA0GCSqGSIb3DQEBCwUAMIGDMQswCQYDVQQGEwJLUjEPMA0GA1UECAwGSmFtc2lsMQ4wDAYDVQQHDAVTZW91bDETMBEGA1UECgwKU2Ftc3VuZ1NEUzEdMBsGA1UECwwUSW50cmFuZXRCdXNpbmVzc1RlYW0xHzAdBgNVBAMMFm5ldC5zYW1zdW5nLmtub3hwb3J0YWwwHhcNMTcwOTA2MDQ0OTI1WhcNMjcwOTA0MDQ0OTI1WjCBgzELMAkGA1UEBhMCS1IxDzANBgNVBAgMBkphbXNpbDEOMAwGA1UEBwwFU2VvdWwxEzARBgNVBAoMClNhbXN1bmdTRFMxHTAbBgNVBAsMFEludHJhbmV0QnVzaW5lc3NUZWFtMR8wHQYDVQQDDBZuZXQuc2Ftc3VuZy5rbm94cG9ydGFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA403a0G0WexaxyscAVFtThKL9X9d6XM5fq6ELIcD+cNQigQK4lqo1oRX+u1NEia+YqJHpCMdSzjmU76+xSytvTI0aNTAbm6wfiXNfkjFwD8H0TT0P4TgeqtIjmH80YLjEPIPGiMMVcbvRgJxGCKDM4XOoM5YOtzRPQaSrQ+6Vy9J5poduafMRamf1uljUfo++P8fPbqwPjamFYxG3HTX02ac11aiuY4xlUFOkvXc6UtEQ79tKmf0SKnkEyWpxyDmQYy5pW36Lkh2FzKo6itYlKaMwJRP1b9IN4g1e/Eexr+6Qb4p8qoKeWq7hTFgtiW321e8+cdeL28m1WkVDPEB5TwIDAQABo1AwTjAdBgNVHQ4EFgQUTSA00p+swYrMz1nGBs6uJ83D7DswHwYDVR0jBBgwFoAUTSA00p+swYrMz1nGBs6uJ83D7DswDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAmyBNNwzkq/+9r7gwVEe51T0s/e21b5NjQZ1t7Zrg0v43rg1baxZINpc5imGFOGpzyBFhoGCrmnpMk70m0uS284DeLJTB2Z+zsjE8NPlS5fU7lLDqaSJduOwdxmdo3PufgwL3vYXK0KTrsptdNLmP+9mYUdEAUTTyd6rwMyxXv1sgHUBNHHUY4Nlq78Q6vzjMTZ+j2yjRv4kCAueQOyuP1hqXjbfhoEluAM3gXlu7nASNFHR5CkaRyBYeORSJm/jLehGb66aRl6XfI+tNuGmpnMEnXhCq/om8KArBI/hOHgeI/YUoYkfgWjK+cteZ6RMiwlYQALwHd3J2RBMPz3NnIw==" -# === [끝] SSO 설정 === - # Bizppurio API 설정 BIZPPURIO_ACCOUNT=shinonsap_evcp BIZPPURIO_PASSWORD=shi_2025 BIZPPURIO_FROM_NUMBER=05563092940 +# LINUX CRON SECRET CRON_SECRET=dujin@DTS@2025dujin@DTS@2025dujin@DTS@2025dujin@DTS@2025dujin@DTS@2025dujin@DTS@2025 # === SOAP 인터페이스 설정 === # MDG SOAP 인증 정보 (개발/품질/운영 비밀번호가 다름) -MDG_SOAP_USERNAME=P2038_01 # 개발/품질/운영 공통 -# MDG_SOAP_PASSWORD=STG4857602 # 개발 -MDG_SOAP_PASSWORD=SEW2765890 # 품질 -# MDG_SOAP_PASSWORD=POI9807861 # 운영 -SOAP_LOG_MAX_RECORDS=5000 -# === SOAP 인터페이스 설정 === +MDG_SOAP_USERNAME=P2038_01 # 개발/품질/운영 공통, +MDG_SOAP_PASSWORD=SEW2765890 # 품질: MDG_SOAP_PASSWORD=SEW2765890, # 운영: MDG_SOAP_PASSWORD=POI9807861 # 개발: MDG_SOAP_PASSWORD=STG4857602 +SOAP_LOG_MAX_RECORDS=5000 # soap.soap_logs 테이블에 몇건의 로그를 남길 것인지 (rotating), 5000개 = 대략 2GB +SOAP_IGNORE_DELETE_FOR_MIGRATION=false # migration 과정에서 db 부하를 줄이기 위해 서브테이블 delete 과정 생략 여부 # === KNOX API 사용을 위한 설정 === # 임직원 API: 임직원, 조직도, 직급 @@ -138,9 +131,8 @@ MESSENGER_ACCESS_TOKEN="" MESSENGER_DEVICE_ID="" MESSENGER_BASE_URL="https://openapi.samsung.net" -# NAS 경로 설정 +# === NAS 경로 설정 === NAS_PATH="/evcp_nas" -# 임시 환경변수 --- 요구사항 해소되면 삭제 -READONLY_DB_URL="postgresql://readonly:tempReadOnly_123@localhost:5432/evcp" -# 임시 환경변수 --- 요구사항 해소되면 삭제
\ No newline at end of file +# === 임시 환경변수, 나프로 요구사항 해소되면 삭제 === +READONLY_DB_URL="postgresql://readonly:tempReadOnly_123@localhost:5432/evcp" # 해당 계정은 별도로 만들어야 함
\ No newline at end of file diff --git a/app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PR_INFORMATION/route.ts b/app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PR_INFORMATION/route.ts index 3b7636f9..31b61ffc 100644 --- a/app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PR_INFORMATION/route.ts +++ b/app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PR_INFORMATION/route.ts @@ -13,7 +13,7 @@ import { createSoapResponse, replaceSubTableData, withSoapLogging, -} from '@/lib/soap/mdg/utils'; +} from '@/lib/soap/utils'; import { PR_INFORMATION_T_BID_HEADER, diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_CUSTOMER_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_CUSTOMER_MASTER/route.ts index 9d08527b..0cedcade 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_CUSTOMER_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_CUSTOMER_MASTER/route.ts @@ -25,9 +25,12 @@ import { processNestedArray, createErrorResponse, createSuccessResponse, - replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; // 스키마에서 직접 타입 추론 type BpHeaderData = typeof CUSTOMER_MASTER_BP_HEADER.$inferInsert; @@ -316,54 +319,53 @@ function transformCustomerData(bpHeaderData: BpHeaderXML[]): ProcessedCustomerDa * @param processedCustomers 변환된 CUSTOMER 데이터 배열 */ async function saveToDatabase(processedCustomers: ProcessedCustomerData[]) { - console.log(`데이터베이스 저장 시작: ${processedCustomers.length}개 고객 데이터`); - + console.log(`데이터베이스(배치) 저장 시작: ${processedCustomers.length}개 고객 데이터`); try { await db.transaction(async (tx) => { - for (const customerData of processedCustomers) { - const { bpHeader, addresses, adEmails, adFaxes, adPostals, adTels, adUrls, - bpCusgens, zvatregs, ztaxinds, zcompanies, zsales, zcpfns, bpTaxnums } = customerData; - - if (!bpHeader.BP_HEADER) { - console.warn('BP_HEADER가 없는 항목 발견, 건너뜁니다.'); - continue; - } + // 1) 부모 테이블 데이터 준비 + const bpHeaderRows = processedCustomers + .map((c) => c.bpHeader) + .filter((h): h is BpHeaderData => !!h.BP_HEADER); - // 1. BP_HEADER 테이블 Upsert (최상위 테이블 - unique 필드: BP_HEADER) - await tx.insert(CUSTOMER_MASTER_BP_HEADER) - .values(bpHeader) - .onConflictDoUpdate({ - target: CUSTOMER_MASTER_BP_HEADER.BP_HEADER, - set: { - ...bpHeader, - updatedAt: new Date(), - } - }); + const bpHeaderKeys = bpHeaderRows.map((h) => h.BP_HEADER as string); - // 2. 하위 테이블들 처리 - FK(BP_HEADER) 기준 전체 삭제 후 재삽입 - // 전체 데이터셋 기반 처리로 데이터 일관성 확보 - await Promise.all([ - // 2단계 테이블들 - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS, addresses, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN, bpCusgens, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM, bpTaxnums, 'BP_HEADER', bpHeader.BP_HEADER), - - // 3-4단계 테이블들 - 동일하게 FK(BP_HEADER) 기준 처리 - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL, adEmails, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX, adFaxes, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL, adPostals, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL, adTels, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL, adUrls, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG, zvatregs, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND, ztaxinds, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY, zcompanies, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES, zsales, 'BP_HEADER', bpHeader.BP_HEADER), - replaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN, zcpfns, 'BP_HEADER', bpHeader.BP_HEADER), - ]); - } + // 2) 하위 테이블 데이터 평탄화 + const addresses = processedCustomers.flatMap((c) => c.addresses); + const adEmails = processedCustomers.flatMap((c) => c.adEmails); + const adFaxes = processedCustomers.flatMap((c) => c.adFaxes); + const adPostals = processedCustomers.flatMap((c) => c.adPostals); + const adTels = processedCustomers.flatMap((c) => c.adTels); + const adUrls = processedCustomers.flatMap((c) => c.adUrls); + const bpCusgens = processedCustomers.flatMap((c) => c.bpCusgens); + const zvatregs = processedCustomers.flatMap((c) => c.zvatregs); + const ztaxinds = processedCustomers.flatMap((c) => c.ztaxinds); + const zcompanies = processedCustomers.flatMap((c) => c.zcompanies); + const zsales = processedCustomers.flatMap((c) => c.zsales); + const zcpfns = processedCustomers.flatMap((c) => c.zcpfns); + const bpTaxnums = processedCustomers.flatMap((c) => c.bpTaxnums); + + // 3) 부모 테이블 UPSERT (배치) + await bulkUpsert(tx, CUSTOMER_MASTER_BP_HEADER, bpHeaderRows, 'BP_HEADER'); + + // 4) 하위 테이블 교체 (배치) + await Promise.all([ + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS, addresses, CUSTOMER_MASTER_BP_HEADER_ADDRESS.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL, adEmails, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX, adFaxes, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL, adPostals, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL, adTels, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL, adUrls, CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN, bpCusgens, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG, zvatregs, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND, ztaxinds, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY, zcompanies, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES, zsales, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN, zcpfns, CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN.BP_HEADER, bpHeaderKeys), + bulkReplaceSubTableData(tx, CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM, bpTaxnums, CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM.BP_HEADER, bpHeaderKeys), + ]); }); - console.log(`데이터베이스 저장 완료: ${processedCustomers.length}개 고객`); + console.log(`데이터베이스(배치) 저장 완료: ${processedCustomers.length}개 고객`); return true; } catch (error) { console.error('데이터베이스 저장 중 오류 발생:', error); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_DEPARTMENT_CODE/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_DEPARTMENT_CODE/route.ts index 28757fb5..fb54dff3 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_DEPARTMENT_CODE/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_DEPARTMENT_CODE/route.ts @@ -16,9 +16,12 @@ import { processNestedArray, createErrorResponse, createSuccessResponse, - replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; // 스키마에서 직접 타입 추론 type DeptData = typeof DEPARTMENT_CODE_CMCTB_DEPT_MDG.$inferInsert; @@ -187,40 +190,29 @@ function transformDepartmentData(deptData: DeptXML[]): ProcessedDepartmentData[] * @param processedDepts 변환된 DEPARTMENT 데이터 배열 */ async function saveToDatabase(processedDepts: ProcessedDepartmentData[]) { - console.log(`데이터베이스 저장 시작: ${processedDepts.length}개 부서 데이터`); - + console.log(`데이터베이스(배치) 저장 시작: ${processedDepts.length}개 부서 데이터`); try { await db.transaction(async (tx) => { - for (const deptData of processedDepts) { - const { dept, deptnms, compnms, corpnms } = deptData; - - if (!dept.DEPTCD) { - console.warn('부서코드(DEPTCD)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + const deptRows = processedDepts + .map((d) => d.dept) + .filter((d): d is DeptData => !!d.DEPTCD); - // 1. Department 테이블 Upsert (최상위 테이블 - unique 필드: DEPTCD) - await tx.insert(DEPARTMENT_CODE_CMCTB_DEPT_MDG) - .values(dept) - .onConflictDoUpdate({ - target: DEPARTMENT_CODE_CMCTB_DEPT_MDG.DEPTCD, - set: { - ...dept, - updatedAt: new Date(), - } - }); - - // 2. 하위 테이블들 처리 - FK(DEPTCD) 기준 전체 삭제 후 재삽입 - // 전체 데이터셋 기반 처리로 데이터 일관성 확보 - await Promise.all([ - replaceSubTableData(tx, DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM, deptnms, 'DEPTCD', dept.DEPTCD), - replaceSubTableData(tx, DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM, compnms, 'DEPTCD', dept.DEPTCD), - replaceSubTableData(tx, DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM, corpnms, 'DEPTCD', dept.DEPTCD) - ]); - } + const deptcds = deptRows.map((d) => d.DEPTCD as string); + + const deptnms = processedDepts.flatMap((d) => d.deptnms); + const compnms = processedDepts.flatMap((d) => d.compnms); + const corpnms = processedDepts.flatMap((d) => d.corpnms); + + await bulkUpsert(tx, DEPARTMENT_CODE_CMCTB_DEPT_MDG, deptRows, 'DEPTCD'); + + await Promise.all([ + bulkReplaceSubTableData(tx, DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM, deptnms, DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM.DEPTCD, deptcds), + bulkReplaceSubTableData(tx, DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM, compnms, DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM.DEPTCD, deptcds), + bulkReplaceSubTableData(tx, DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM, corpnms, DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM.DEPTCD, deptcds), + ]); }); - console.log(`데이터베이스 저장 완료: ${processedDepts.length}개 부서`); + console.log(`데이터베이스(배치) 저장 완료: ${processedDepts.length}개 부서`); return true; } catch (error) { console.error('데이터베이스 저장 중 오류 발생:', error); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EMPLOYEE_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EMPLOYEE_MASTER/route.ts index fc6bc71f..388c4dc4 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EMPLOYEE_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EMPLOYEE_MASTER/route.ts @@ -41,7 +41,12 @@ import { createSuccessResponse, replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; + // 스키마에서 직접 타입 추론 type EmpMdgData = typeof EMPLOYEE_MASTER_CMCTB_EMP_MDG.$inferInsert; @@ -310,65 +315,76 @@ function transformEmployeeData(empData: EmpMdgXML[]): ProcessedEmployeeData[] { * @param processedEmployees 변환된 EMPLOYEE 데이터 배열 */ async function saveToDatabase(processedEmployees: ProcessedEmployeeData[]) { - console.log(`데이터베이스 저장 시작: ${processedEmployees.length}개 사원 데이터`); + console.log(`데이터베이스(배치) 저장 시작: ${processedEmployees.length}개 사원 데이터`); try { await db.transaction(async (tx) => { - for (const employeeData of processedEmployees) { - const { employee, banm, binm, compnm, corpnm, countrynm, deptcode, deptcodePccdnm, - deptnm, dhjobgdnm, gjobdutynm, gjobgrdnm, gjobgrdtype, gjobnm, gnnm, - jobdutynm, jobgrdnm, jobnm, ktlnm, oktlnm, orgbicdnm, orgcompnm, - orgcorpnm, orgdeptnm, orgpdepnm, pdeptnm } = employeeData; - - if (!employee.EMPID) { - console.warn('사원번호(EMPID)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + // 1) 부모 테이블 데이터 준비 + const employeeRows = processedEmployees + .map((e) => e.employee) + .filter((e): e is EmpMdgData => !!e.EMPID); - // 1. CMCTB_EMP_MDG 테이블 Upsert (최상위 테이블 - unique 필드: EMPID) - await tx.insert(EMPLOYEE_MASTER_CMCTB_EMP_MDG) - .values(employee) - .onConflictDoUpdate({ - target: EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID, - set: { - ...employee, - updatedAt: new Date(), - } - }); + const empids = employeeRows.map((e) => e.EMPID as string); - // 2. 하위 테이블들 처리 - FK(EMPID) 기준 전체 삭제 후 재삽입 - // 25개 테이블을 병렬 처리로 성능 최적화 - await Promise.all([ - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM, banm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM, binm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM, compnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM, corpnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM, countrynm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE, deptcode, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM, deptcodePccdnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM, deptnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM, dhjobgdnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM, gjobdutynm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM, gjobgrdnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE, gjobgrdtype, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM, gjobnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM, gnnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM, jobdutynm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM, jobgrdnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM, jobnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM, ktlnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM, oktlnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM, orgbicdnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM, orgcompnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM, orgcorpnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM, orgdeptnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM, orgpdepnm, 'EMPID', employee.EMPID), - replaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM, pdeptnm, 'EMPID', employee.EMPID) - ]); - } + // 2) 하위 테이블 데이터 평탄화 + const banm = processedEmployees.flatMap((e) => e.banm); + const binm = processedEmployees.flatMap((e) => e.binm); + const compnm = processedEmployees.flatMap((e) => e.compnm); + const corpnm = processedEmployees.flatMap((e) => e.corpnm); + const countrynm = processedEmployees.flatMap((e) => e.countrynm); + const deptcode = processedEmployees.flatMap((e) => e.deptcode); + const deptcodePccdnm = processedEmployees.flatMap((e) => e.deptcodePccdnm); + const deptnm = processedEmployees.flatMap((e) => e.deptnm); + const dhjobgdnm = processedEmployees.flatMap((e) => e.dhjobgdnm); + const gjobdutynm = processedEmployees.flatMap((e) => e.gjobdutynm); + const gjobgrdnm = processedEmployees.flatMap((e) => e.gjobgrdnm); + const gjobgrdtype = processedEmployees.flatMap((e) => e.gjobgrdtype); + const gjobnm = processedEmployees.flatMap((e) => e.gjobnm); + const gnnm = processedEmployees.flatMap((e) => e.gnnm); + const jobdutynm = processedEmployees.flatMap((e) => e.jobdutynm); + const jobgrdnm = processedEmployees.flatMap((e) => e.jobgrdnm); + const jobnm = processedEmployees.flatMap((e) => e.jobnm); + const ktlnm = processedEmployees.flatMap((e) => e.ktlnm); + const oktlnm = processedEmployees.flatMap((e) => e.oktlnm); + const orgbicdnm = processedEmployees.flatMap((e) => e.orgbicdnm); + const orgcompnm = processedEmployees.flatMap((e) => e.orgcompnm); + const orgcorpnm = processedEmployees.flatMap((e) => e.orgcorpnm); + const orgdeptnm = processedEmployees.flatMap((e) => e.orgdeptnm); + const orgpdepnm = processedEmployees.flatMap((e) => e.orgpdepnm); + const pdeptnm = processedEmployees.flatMap((e) => e.pdeptnm); + + // 3) 데이터베이스 저장 + await bulkUpsert(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG, employeeRows, 'EMPID'); + + // 4) 하위 테이블 데이터 저장 + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM, banm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM, binm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM, compnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM, corpnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM, countrynm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE, deptcode, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM, deptcodePccdnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM, deptnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM, dhjobgdnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM, gjobdutynm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM, gjobgrdnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE, gjobgrdtype, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM, gjobnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM, gnnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM, jobdutynm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM, jobgrdnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM, jobnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM, ktlnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM, oktlnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM, orgbicdnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM, orgcompnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM, orgcorpnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM, orgdeptnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM, orgpdepnm, 'EMPID', empids); + await bulkReplaceSubTableData(tx, EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM, pdeptnm, 'EMPID', empids); }); - console.log(`데이터베이스 저장 완료: ${processedEmployees.length}개 사원`); + console.log(`데이터베이스(배치) 저장 완료: ${processedEmployees.length}개 사원`); return true; } catch (error) { console.error('데이터베이스 저장 중 오류 발생:', error); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER/route.ts index 22f151b3..563696d3 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER/route.ts @@ -16,7 +16,11 @@ import { createSuccessResponse, replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; // 스키마에서 직접 타입 추론 type EmpRefData = typeof EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF.$inferInsert; @@ -160,33 +164,25 @@ function transformEmpRefData(empRefData: EmpRefXML[]): ProcessedEmployeeReferenc * @param processedEmpRefs 변환된 EMPLOYEE_REFERENCE 데이터 배열 */ async function saveToDatabase(processedEmpRefs: ProcessedEmployeeReferenceData[]) { - console.log(`데이터베이스 저장 시작: ${processedEmpRefs.length}개 직원 참조 데이터`); + console.log(`데이터베이스(배치) 저장 시작: ${processedEmpRefs.length}개 직원 참조 데이터`); try { await db.transaction(async (tx) => { - for (const empRefData of processedEmpRefs) { - const { empRef, names } = empRefData; - - if (!empRef.GRPCD) { - console.warn('그룹코드(GRPCD)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + // 1) 부모 테이블 데이터 준비 + const empRefRows = processedEmpRefs + .map((e) => e.empRef) + .filter((e): e is EmpRefData => !!e.GRPCD); - // 1. Employee Reference 테이블 Upsert (최상위 테이블 - unique 필드: GRPCD) - await tx.insert(EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF) - .values(empRef) - .onConflictDoUpdate({ - target: EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF.GRPCD, - set: { - ...empRef, - updatedAt: new Date(), - } - }); - - // 2. 하위 테이블 처리 - FK(GRPCD) 기준 전체 삭제 후 재삽입 - // 전체 데이터셋 기반 처리로 데이터 일관성 확보 - await replaceSubTableData(tx, EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME, names, 'GRPCD', empRef.GRPCD); - } + const grpcds = empRefRows.map((e) => e.GRPCD as string); + + // 2) 하위 테이블 데이터 평탄화 + const names = processedEmpRefs.flatMap((e) => e.names); + + // 3) 부모 테이블 UPSERT (배치) + await bulkUpsert(tx, EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF, empRefRows, 'GRPCD'); + + // 4) 하위 테이블 교체 (배치) + await bulkReplaceSubTableData(tx, EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME, names, EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME.GRPCD, grpcds); }); console.log(`데이터베이스 저장 완료: ${processedEmpRefs.length}개 직원 참조`); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EQUP_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EQUP_MASTER/route.ts index cd1005e7..5544dfdb 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EQUP_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_EQUP_MASTER/route.ts @@ -18,9 +18,12 @@ import { processNestedArray, createErrorResponse, createSuccessResponse, - replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; // 스키마에서 직접 타입 추론 (Insert와 XML을 통합) type MatlData = typeof EQUP_MASTER_MATL.$inferInsert; @@ -212,42 +215,37 @@ function transformMatlData(matlData: MatlXML[]): ProcessedMaterialData[] { * @param processedMaterials 변환된 EQUP 데이터 배열 */ async function saveToDatabase(processedMaterials: ProcessedMaterialData[]) { - console.log(`데이터베이스 저장 시작: ${processedMaterials.length}개 장비 데이터`); - + console.log(`데이터베이스(배치) 저장 시작: ${processedMaterials.length}개 장비 데이터`); try { await db.transaction(async (tx) => { - for (const materialData of processedMaterials) { - const { material, descriptions, plants, units, classAssignments, characteristicAssignments } = materialData; - - if (!material.MATNR) { - console.warn('자재번호(MATNR)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + // 1) 부모 테이블 데이터 준비 + const materialRows = processedMaterials + .map((m) => m.material) + .filter((m): m is MatlData => !!m.MATNR); - // 1. MATL 테이블 Upsert (최상위 테이블 - unique 필드: MATNR) - await tx.insert(EQUP_MASTER_MATL) - .values(material) - .onConflictDoUpdate({ - target: EQUP_MASTER_MATL.MATNR, - set: { - ...material, - updatedAt: new Date(), - } - }); + const matnrs = materialRows.map((m) => m.MATNR as string); - // 2. 하위 테이블들 처리 - FK(MATNR) 기준 전체 삭제 후 재삽입 - // 전체 데이터셋 기반 처리로 데이터 일관성 확보 - await Promise.all([ - replaceSubTableData(tx, EQUP_MASTER_MATL_DESC, descriptions, 'MATNR', material.MATNR), - replaceSubTableData(tx, EQUP_MASTER_MATL_PLNT, plants, 'MATNR', material.MATNR), - replaceSubTableData(tx, EQUP_MASTER_MATL_UNIT, units, 'MATNR', material.MATNR), - replaceSubTableData(tx, EQUP_MASTER_MATL_CLASSASGN, classAssignments, 'MATNR', material.MATNR), - replaceSubTableData(tx, EQUP_MASTER_MATL_CHARASGN, characteristicAssignments, 'MATNR', material.MATNR) - ]); - } + // 2) 하위 테이블 데이터 평탄화 + const descriptions = processedMaterials.flatMap((m) => m.descriptions); + const plants = processedMaterials.flatMap((m) => m.plants); + const units = processedMaterials.flatMap((m) => m.units); + const classAssignments = processedMaterials.flatMap((m) => m.classAssignments); + const characteristicAssignments = processedMaterials.flatMap((m) => m.characteristicAssignments); + + // 3) 부모 테이블 UPSERT (배치) + await bulkUpsert(tx, EQUP_MASTER_MATL, materialRows, 'MATNR'); + + // 4) 하위 테이블 교체 (배치) + await Promise.all([ + bulkReplaceSubTableData(tx, EQUP_MASTER_MATL_DESC, descriptions, EQUP_MASTER_MATL_DESC.MATNR, matnrs), + bulkReplaceSubTableData(tx, EQUP_MASTER_MATL_PLNT, plants, EQUP_MASTER_MATL_PLNT.MATNR, matnrs), + bulkReplaceSubTableData(tx, EQUP_MASTER_MATL_UNIT, units, EQUP_MASTER_MATL_UNIT.MATNR, matnrs), + bulkReplaceSubTableData(tx, EQUP_MASTER_MATL_CLASSASGN, classAssignments, EQUP_MASTER_MATL_CLASSASGN.MATNR, matnrs), + bulkReplaceSubTableData(tx, EQUP_MASTER_MATL_CHARASGN, characteristicAssignments, EQUP_MASTER_MATL_CHARASGN.MATNR, matnrs), + ]); }); - console.log(`데이터베이스 저장 완료: ${processedMaterials.length}개 장비`); + console.log(`데이터베이스(배치) 저장 완료: ${processedMaterials.length}개 장비`); return true; } catch (error) { console.error('데이터베이스 저장 중 오류 발생:', error); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MATERIAL_MASTER_PART/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MATERIAL_MASTER_PART/route.ts index 21063ff7..49aff036 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MATERIAL_MASTER_PART/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MATERIAL_MASTER_PART/route.ts @@ -11,7 +11,6 @@ import { import { ToXMLFields, - SoapBodyData, serveWsdl, createXMLParser, extractRequestData, @@ -19,9 +18,16 @@ import { processNestedArray, createErrorResponse, createSuccessResponse, - replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; // 스키마에서 직접 타입 추론 (Insert와 XML을 통합) type MatlData = typeof MATERIAL_MASTER_PART_MATL.$inferInsert; @@ -213,42 +219,37 @@ function transformMatlData(matlData: MatlXML[]): ProcessedMaterialData[] { * @param processedMaterials 변환된 MATERIAL 데이터 배열 */ async function saveToDatabase(processedMaterials: ProcessedMaterialData[]) { - console.log(`데이터베이스 저장 시작: ${processedMaterials.length}개 자재 데이터`); - + console.log(`데이터베이스(배치) 저장 시작: ${processedMaterials.length}개 자재`); try { await db.transaction(async (tx) => { - for (const materialData of processedMaterials) { - const { material, descriptions, plants, units, classAssignments, characteristicAssignments } = materialData; - - if (!material.MATNR) { - console.warn('자재번호(MATNR)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + // 1) 부모 테이블 데이터 준비 + const materialRows = processedMaterials + .map((m) => m.material) + .filter((m): m is MatlData => !!m.MATNR); - // 1. MATL 테이블 Upsert (최상위 테이블 - unique 필드: MATNR) - await tx.insert(MATERIAL_MASTER_PART_MATL) - .values(material) - .onConflictDoUpdate({ - target: MATERIAL_MASTER_PART_MATL.MATNR, - set: { - ...material, - updatedAt: new Date(), - } - }); + const matnrs = materialRows.map((m) => m.MATNR as string); - // 2. 하위 테이블들 처리 - FK(MATNR) 기준 전체 삭제 후 재삽입 - // 전체 데이터셋 기반 처리로 데이터 일관성 확보 - await Promise.all([ - replaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_DESC, descriptions, 'MATNR', material.MATNR), - replaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_PLNT, plants, 'MATNR', material.MATNR), - replaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_UNIT, units, 'MATNR', material.MATNR), - replaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_CLASSASGN, classAssignments, 'MATNR', material.MATNR), - replaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_CHARASGN, characteristicAssignments, 'MATNR', material.MATNR) - ]); - } + // 2) 하위 테이블 데이터 평탄화 + const descriptions = processedMaterials.flatMap((m) => m.descriptions); + const plants = processedMaterials.flatMap((m) => m.plants); + const units = processedMaterials.flatMap((m) => m.units); + const classAssignments = processedMaterials.flatMap((m) => m.classAssignments); + const characteristicAssignments = processedMaterials.flatMap((m) => m.characteristicAssignments); + + // 3) 부모 테이블 UPSERT (배치) + await bulkUpsert(tx, MATERIAL_MASTER_PART_MATL, materialRows, 'MATNR'); + + // 4) 하위 테이블 교체 (배치) + await Promise.all([ + bulkReplaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_DESC, descriptions, MATERIAL_MASTER_PART_MATL_DESC.MATNR, matnrs), + bulkReplaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_PLNT, plants, MATERIAL_MASTER_PART_MATL_PLNT.MATNR, matnrs), + bulkReplaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_UNIT, units, MATERIAL_MASTER_PART_MATL_UNIT.MATNR, matnrs), + bulkReplaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_CLASSASGN, classAssignments, MATERIAL_MASTER_PART_MATL_CLASSASGN.MATNR, matnrs), + bulkReplaceSubTableData(tx, MATERIAL_MASTER_PART_MATL_CHARASGN, characteristicAssignments, MATERIAL_MASTER_PART_MATL_CHARASGN.MATNR, matnrs), + ]); }); - console.log(`데이터베이스 저장 완료: ${processedMaterials.length}개 자재`); + console.log(`데이터베이스(배치) 저장 완료: ${processedMaterials.length}개 자재`); return true; } catch (error) { console.error('데이터베이스 저장 중 오류 발생:', error); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN/route.ts index 428cd298..e2c97b2e 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN/route.ts @@ -10,7 +10,11 @@ import { createSuccessResponse, ToXMLFields, withSoapLogging, -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; // 스키마에서 직접 타입 추론 type CMCTBMatBseData = typeof MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE.$inferInsert; @@ -116,29 +120,21 @@ function transformMaterialData(materialData: CMCTBMatBseXML[]): ProcessedMateria // 데이터베이스 저장 함수 async function saveToDatabase(processedMaterials: ProcessedMaterialData[]) { - console.log(`데이터베이스 저장 시작: ${processedMaterials.length}개 자재 데이터`); + console.log(`데이터베이스(배치) 저장 시작: ${processedMaterials.length}개 자재 데이터`); try { await db.transaction(async (tx) => { - for (const materialData of processedMaterials) { - const { materialData: material } = materialData; - - if (!material.MAT_CD) { - console.warn('자재코드(MAT_CD)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + // 1) 부모 테이블 데이터 준비 + const materialRows = processedMaterials + .map((m) => m.materialData) + .filter((m): m is CMCTBMatBseData => !!m.MAT_CD); - // MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE 테이블 Upsert - await tx.insert(MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE) - .values(material) - .onConflictDoUpdate({ - target: MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE.MAT_CD, - set: { - ...material, - updatedAt: new Date(), - } - }); - } + const matcds = materialRows.map((m) => m.MAT_CD as string); + + // 2) 하위 테이블 데이터 평탄화 (하위 테이블 없음) + + // 3) 부모 테이블 UPSERT (배치) + await bulkUpsert(tx, MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE, materialRows, 'MAT_CD'); }); console.log(`✅ 데이터베이스 저장 완료: ${processedMaterials.length}개 자료`); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MODEL_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MODEL_MASTER/route.ts index 204dffa3..9d76adbb 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MODEL_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_MODEL_MASTER/route.ts @@ -17,9 +17,12 @@ import { processNestedArray, createErrorResponse, createSuccessResponse, - replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; // 스키마에서 직접 타입 추론 (Insert와 XML을 통합) type MatlData = typeof MODEL_MASTER_MATL.$inferInsert; @@ -211,39 +214,35 @@ function transformMatlData(matlData: MatlXML[]): ProcessedMaterialData[] { * @param processedMaterials 변환된 MODEL 데이터 배열 */ async function saveToDatabase(processedMaterials: ProcessedMaterialData[]) { - console.log(`데이터베이스 저장 시작: ${processedMaterials.length}개 모델 데이터`); + console.log(`데이터베이스(배치) 저장 시작: ${processedMaterials.length}개 모델 데이터`); try { await db.transaction(async (tx) => { - for (const materialData of processedMaterials) { - const { material, descriptions, plants, units, classAssignments, characteristicAssignments } = materialData; - - if (!material.MATNR) { - console.warn('자재번호(MATNR)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + // 1) 부모 테이블 데이터 준비 + const materialRows = processedMaterials + .map((m) => m.material) + .filter((m): m is MatlData => !!m.MATNR); - // 1. MATL 테이블 Upsert (최상위 테이블 - unique 필드: MATNR) - await tx.insert(MODEL_MASTER_MATL) - .values(material) - .onConflictDoUpdate({ - target: MODEL_MASTER_MATL.MATNR, - set: { - ...material, - updatedAt: new Date(), - } - }); + const matnrs = materialRows.map((m) => m.MATNR as string); - // 2. 하위 테이블들 처리 - FK(MATNR) 기준 전체 삭제 후 재삽입 - // 전체 데이터셋 기반 처리로 데이터 일관성 확보 - await Promise.all([ - replaceSubTableData(tx, MODEL_MASTER_MATL_DESC, descriptions, 'MATNR', material.MATNR), - replaceSubTableData(tx, MODEL_MASTER_MATL_PLNT, plants, 'MATNR', material.MATNR), - replaceSubTableData(tx, MODEL_MASTER_MATL_UNIT, units, 'MATNR', material.MATNR), - replaceSubTableData(tx, MODEL_MASTER_MATL_CLASSASGN, classAssignments, 'MATNR', material.MATNR), - replaceSubTableData(tx, MODEL_MASTER_MATL_CHARASGN, characteristicAssignments, 'MATNR', material.MATNR) - ]); - } + // 2) 하위 테이블 데이터 평탄화 + const descriptions = processedMaterials.flatMap((m) => m.descriptions); + const plants = processedMaterials.flatMap((m) => m.plants); + const units = processedMaterials.flatMap((m) => m.units); + const classAssignments = processedMaterials.flatMap((m) => m.classAssignments); + const characteristicAssignments = processedMaterials.flatMap((m) => m.characteristicAssignments); + + // 3) 부모 테이블 UPSERT (배치) + await bulkUpsert(tx, MODEL_MASTER_MATL, materialRows, 'MATNR'); + + // 4) 하위 테이블 교체 (배치) + await Promise.all([ + bulkReplaceSubTableData(tx, MODEL_MASTER_MATL_DESC, descriptions, MODEL_MASTER_MATL_DESC.MATNR, matnrs), + bulkReplaceSubTableData(tx, MODEL_MASTER_MATL_PLNT, plants, MODEL_MASTER_MATL_PLNT.MATNR, matnrs), + bulkReplaceSubTableData(tx, MODEL_MASTER_MATL_UNIT, units, MODEL_MASTER_MATL_UNIT.MATNR, matnrs), + bulkReplaceSubTableData(tx, MODEL_MASTER_MATL_CLASSASGN, classAssignments, MODEL_MASTER_MATL_CLASSASGN.MATNR, matnrs), + bulkReplaceSubTableData(tx, MODEL_MASTER_MATL_CHARASGN, characteristicAssignments, MODEL_MASTER_MATL_CHARASGN.MATNR, matnrs) + ]); }); console.log(`데이터베이스 저장 완료: ${processedMaterials.length}개 모델`); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_ORGANIZATION_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_ORGANIZATION_MASTER/route.ts index 987d4002..3051fd8f 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_ORGANIZATION_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_ORGANIZATION_MASTER/route.ts @@ -30,7 +30,12 @@ import { createSuccessResponse, replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; +import { coerce } from "zod/v4"; // 스키마에서 직접 타입 추론 type CctrData = typeof ORGANIZATION_MASTER_HRHMTB_CCTR.$inferInsert; @@ -376,75 +381,49 @@ async function saveToDatabase(processedOrganizations: ProcessedOrganizationData) try { await db.transaction(async (tx) => { - // CCTR 테이블 처리 (unique 필드: CCTR) - for (const { cctr, texts } of processedOrganizations.cctrItems) { - if (!cctr.CCTR) continue; - - await tx.insert(ORGANIZATION_MASTER_HRHMTB_CCTR) - .values(cctr) - .onConflictDoUpdate({ - target: ORGANIZATION_MASTER_HRHMTB_CCTR.CCTR, - set: { ...cctr, updatedAt: new Date() } - }); - - await replaceSubTableData(tx, ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT, texts, 'CCTR', cctr.CCTR); - } - - // PCTR 테이블 처리 (unique 필드: PCTR) - for (const { pctr, texts } of processedOrganizations.pctrItems) { - if (!pctr.PCTR) continue; - - await tx.insert(ORGANIZATION_MASTER_HRHMTB_PCTR) - .values(pctr) - .onConflictDoUpdate({ - target: ORGANIZATION_MASTER_HRHMTB_PCTR.PCTR, - set: { ...pctr, updatedAt: new Date() } - }); - - // PCTR의 TEXT는 CCTR_TEXT 테이블을 사용하므로 처리하지 않음 - } - // 나머지 단일 테이블들 처리 - const tableProcessors = [ - { items: processedOrganizations.zbukrsItems, table: ORGANIZATION_MASTER_HRHMTB_ZBUKRS, key: 'ZBUKRS' }, - { items: processedOrganizations.zekgrpItems, table: ORGANIZATION_MASTER_HRHMTB_ZEKGRP, key: 'ZEKGRP' }, - { items: processedOrganizations.zekorgItems, table: ORGANIZATION_MASTER_HRHMTB_ZEKORG, key: 'ZEKORG' }, - { items: processedOrganizations.zlgortItems, table: ORGANIZATION_MASTER_HRHMTB_ZLGORT, key: 'ZLGORT' }, - { items: processedOrganizations.zspartItems, table: ORGANIZATION_MASTER_HRHMTB_ZSPART, key: 'ZSPART' }, - { items: processedOrganizations.zvkburItems, table: ORGANIZATION_MASTER_HRHMTB_ZVKBUR, key: 'ZVKBUR' }, - { items: processedOrganizations.zvkgrpItems, table: ORGANIZATION_MASTER_HRHMTB_ZVKGRP, key: 'ZVKGRP' }, - { items: processedOrganizations.zvkorgItems, table: ORGANIZATION_MASTER_HRHMTB_ZVKORG, key: 'ZVKORG' }, - { items: processedOrganizations.zvstelItems, table: ORGANIZATION_MASTER_HRHMTB_ZVSTEL, key: 'ZVSTEL' }, - { items: processedOrganizations.zvtwegItems, table: ORGANIZATION_MASTER_HRHMTB_ZVTWEG, key: 'ZVTWEG' }, - { items: processedOrganizations.zwerksItems, table: ORGANIZATION_MASTER_HRHMTB_ZWERKS, key: 'ZWERKS' } - ]; - - for (const { items, table, key } of tableProcessors) { - for (const item of items) { - if (!(item as any)[key]) continue; - - await tx.insert(table) - .values(item) - .onConflictDoUpdate({ - target: (table as any)[key], - set: { ...item, updatedAt: new Date() } - }); - } - } - - // ZGSBER 테이블 처리 (TEXT 포함) - for (const { zgsber, texts } of processedOrganizations.zgsberItems) { - if (!zgsber.ZGSBER) continue; - - await tx.insert(ORGANIZATION_MASTER_HRHMTB_ZGSBER) - .values(zgsber) - .onConflictDoUpdate({ - target: ORGANIZATION_MASTER_HRHMTB_ZGSBER.ZGSBER, - set: { ...zgsber, updatedAt: new Date() } - }); - - await replaceSubTableData(tx, ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT, texts, 'ZGSBER', zgsber.ZGSBER); - } + // 1) 부모 테이블 데이터 준비 (root) + const cctrRows = processedOrganizations.cctrItems.map((c) => c.cctr).filter((c): c is CctrData => !!c.CCTR); + const pctrRows = processedOrganizations.pctrItems; + const zbukrsRows = processedOrganizations.zbukrsItems; + const zekgrpRows = processedOrganizations.zekgrpItems; + const zekorgRows = processedOrganizations.zekorgItems; + const zgsberRows = processedOrganizations.zgsberItems.map((zgsber) => zgsber.zgsber).filter((zgsber): zgsber is ZgsberData => !!zgsber.ZGSBER); + const zlgortRows = processedOrganizations.zlgortItems; + const zspartRows = processedOrganizations.zspartItems; + const zvkburRows = processedOrganizations.zvkburItems; + const zvkgrpRows = processedOrganizations.zvkgrpItems; + const zvkorgRows = processedOrganizations.zvkorgItems; + const zvstelRows = processedOrganizations.zvstelItems; + const zvtwegRows = processedOrganizations.zvtwegItems; + const zwerksRows = processedOrganizations.zwerksItems; + + const cctrIds = cctrRows.map((cctr) => cctr.CCTR as string); + const zgsberIds = zgsberRows.map((zgsber) => zgsber.ZGSBER as string); + + // 2) 하위 테이블 데이터 평탄화 (2건) + const cctrTexts = processedOrganizations.cctrItems.flatMap((cctr) => cctr.texts); + const zgsberTexts = processedOrganizations.zgsberItems.flatMap((zgsber) => zgsber.texts); + + // 3) 부모 테이블 UPSERT (배치) + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_CCTR, cctrRows, 'CCTR'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_PCTR, pctrRows, 'PCTR'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZBUKRS, zbukrsRows, 'ZBUKRS'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZEKGRP, zekgrpRows, 'ZEKGRP'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZEKORG, zekorgRows, 'ZEKORG'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZGSBER, zgsberRows, 'ZGSBER'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZLGORT, zlgortRows, 'ZLGORT'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZSPART, zspartRows, 'ZSPART'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZVKBUR, zvkburRows, 'ZVKBUR'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZVKGRP, zvkgrpRows, 'ZVKGRP'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZVKORG, zvkorgRows, 'ZVKORG'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZVSTEL, zvstelRows, 'ZVSTEL'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZVTWEG, zvtwegRows, 'ZVTWEG'); + await bulkUpsert(tx, ORGANIZATION_MASTER_HRHMTB_ZWERKS, zwerksRows, 'ZWERKS'); + + // 4) 하위 테이블 교체 (배치) (2건) + await bulkReplaceSubTableData(tx, ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT, cctrTexts, ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT.CCTR, cctrIds); + await bulkReplaceSubTableData(tx, ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT, zgsberTexts, ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT.ZGSBER, zgsberIds); }); console.log('조직 마스터 데이터 처리 완료.'); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts index 93071c69..c1563859 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts @@ -13,7 +13,9 @@ import { createErrorResponse, createSuccessResponse, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { bulkUpsert } from "@/lib/soap/batch-utils"; // 서브테이블 없음 + // 스키마에서 직접 타입 추론 type ProjectData = typeof PROJECT_MASTER_CMCTB_PROJ_MAST.$inferInsert; @@ -102,8 +104,7 @@ function transformProjectData(projectData: ProjectXML[]): ProcessedProjectData[] return projectData.map(proj => { // Project 데이터 변환 const project = convertXMLToDBData<ProjectData>( - proj as Record<string, string | undefined>, - ['PROJ_NO'] + proj as Record<string, string | undefined> ); // 필수 필드 보정 @@ -119,32 +120,19 @@ function transformProjectData(projectData: ProjectXML[]): ProcessedProjectData[] // 데이터베이스 저장 함수 async function saveToDatabase(processedProjects: ProcessedProjectData[]) { - console.log(`데이터베이스 저장 함수가 호출됨. ${processedProjects.length}개의 프로젝트 데이터 수신.`); - + console.log(`데이터베이스(배치) 저장 시작: ${processedProjects.length}개 프로젝트`); try { await db.transaction(async (tx) => { - for (const projectData of processedProjects) { - const { project } = projectData; - - if (!project.PROJ_NO) { - console.warn('프로젝트번호(PROJ_NO)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + const projectRows = processedProjects + .map((p) => p.project) + .filter((p): p is ProjectData => !!p.PROJ_NO); - // Project 테이블 Upsert - await tx.insert(PROJECT_MASTER_CMCTB_PROJ_MAST) - .values(project) - .onConflictDoUpdate({ - target: PROJECT_MASTER_CMCTB_PROJ_MAST.PROJ_NO, - set: { - ...project, - updatedAt: new Date(), - } - }); - } + if (!projectRows.length) return; + + await bulkUpsert(tx, PROJECT_MASTER_CMCTB_PROJ_MAST, projectRows, 'PROJ_NO'); }); - console.log(`${processedProjects.length}개의 프로젝트 데이터 처리 완료.`); + console.log(`데이터베이스(배치) 저장 완료: ${processedProjects.length}개 프로젝트`); return true; } catch (error) { console.error('데이터베이스 저장 중 오류 발생:', error); diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_VENDOR_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_VENDOR_MASTER/route.ts index 75f8cd62..61269937 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_VENDOR_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_VENDOR_MASTER/route.ts @@ -24,9 +24,12 @@ import { processNestedArray, createErrorResponse, createSuccessResponse, - replaceSubTableData, withSoapLogging -} from "@/lib/soap/mdg/utils"; +} from "@/lib/soap/utils"; +import { + bulkUpsert, + bulkReplaceSubTableData +} from "@/lib/soap/batch-utils"; // 스키마에서 직접 타입 추론 type VendorHeaderData = typeof VENDOR_MASTER_BP_HEADER.$inferInsert; @@ -308,53 +311,54 @@ function transformVendorData(vendorHeaderData: VendorHeaderXML[]): ProcessedVend * @param processedVendors 변환된 VENDOR 데이터 배열 */ async function saveToDatabase(processedVendors: ProcessedVendorData[]) { - console.log(`데이터베이스 저장 시작: ${processedVendors.length}개 벤더 데이터`); - + console.log(`데이터베이스(배치) 저장 시작: ${processedVendors.length}개 벤더 데이터`); try { await db.transaction(async (tx) => { - for (const vendorData of processedVendors) { - const { vendorHeader, addresses, adEmails, adFaxes, adPostals, adTels, adUrls, - bpTaxnums, bpVengens, bpCompnies, bpWhtaxes, bpPorgs, zvpfns } = vendorData; - - if (!vendorHeader.VNDRCD) { - console.warn('벤더코드(VNDRCD)가 없는 항목 발견, 건너뜁니다.'); - continue; - } + // 1) 부모 테이블 데이터 준비 + const vendorHeaderRows = processedVendors + .map((v) => v.vendorHeader) + .filter((v): v is VendorHeaderData => !!v.VNDRCD); - // 1. BP_HEADER 테이블 Upsert (최상위 테이블 - unique 필드: VNDRCD) - await tx.insert(VENDOR_MASTER_BP_HEADER) - .values(vendorHeader) - .onConflictDoUpdate({ - target: VENDOR_MASTER_BP_HEADER.VNDRCD, - set: { - ...vendorHeader, - updatedAt: new Date(), - } - }); + const vndrCds = vendorHeaderRows.map((v) => v.VNDRCD as string); - // 2. 하위 테이블들 처리 - FK(VNDRCD) 기준 전체 삭제 후 재삽입 - // 전체 데이터셋 기반 처리로 데이터 일관성 확보 - await Promise.all([ - // 2단계 테이블들 - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS, addresses, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_TAXNUM, bpTaxnums, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN, bpVengens, 'VNDRCD', vendorHeader.VNDRCD), - - // 3-4단계 테이블들 - 동일하게 FK(VNDRCD) 기준 처리 - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL, adEmails, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX, adFaxes, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL, adPostals, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL, adTels, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL, adUrls, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY, bpCompnies, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX, bpWhtaxes, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG, bpPorgs, 'VNDRCD', vendorHeader.VNDRCD), - replaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN, zvpfns, 'VNDRCD', vendorHeader.VNDRCD), - ]); - } + // 2) 하위 테이블 데이터 평탄화 + const addresses = processedVendors.flatMap((v) => v.addresses); + const adEmails = processedVendors.flatMap((v) => v.adEmails); + const adFaxes = processedVendors.flatMap((v) => v.adFaxes); + const adPostals = processedVendors.flatMap((v) => v.adPostals); + const adTels = processedVendors.flatMap((v) => v.adTels); + const adUrls = processedVendors.flatMap((v) => v.adUrls); + const bpTaxnums = processedVendors.flatMap((v) => v.bpTaxnums); + const bpVengens = processedVendors.flatMap((v) => v.bpVengens); + const bpCompnies = processedVendors.flatMap((v) => v.bpCompnies); + const bpWhtaxes = processedVendors.flatMap((v) => v.bpWhtaxes); + const bpPorgs = processedVendors.flatMap((v) => v.bpPorgs); + const zvpfns = processedVendors.flatMap((v) => v.zvpfns); + + // 3) 부모 테이블 UPSERT (배치) + await bulkUpsert(tx, VENDOR_MASTER_BP_HEADER, vendorHeaderRows, 'VNDRCD'); + + // 4) 하위 테이블 교체 (배치) + // 정의서에서 하위 테이블 키를 알려주지 않았고, 정시템도 모른다고 하므로 최상위 테이블 PK 기준 전체 삭제 후 삽입 + await Promise.all([ + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS, addresses, VENDOR_MASTER_BP_HEADER_ADDRESS.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_TAXNUM, bpTaxnums, VENDOR_MASTER_BP_HEADER_BP_TAXNUM.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN, bpVengens, VENDOR_MASTER_BP_HEADER_BP_VENGEN.VNDRCD, vndrCds), + + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL, adEmails, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX, adFaxes, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL, adPostals, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL, adTels, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL, adUrls, VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL.VNDRCD, vndrCds), + + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY, bpCompnies, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX, bpWhtaxes, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG, bpPorgs, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG.VNDRCD, vndrCds), + bulkReplaceSubTableData(tx, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN, zvpfns, VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN.VNDRCD, vndrCds), + ]); }); - console.log(`데이터베이스 저장 완료: ${processedVendors.length}개 벤더`); + console.log(`데이터베이스(배치) 저장 완료: ${processedVendors.length}개 벤더`); return true; } catch (error) { console.error('데이터베이스 저장 중 오류 발생:', error); diff --git a/db/schema/MDG/mdg.ts b/db/schema/MDG/mdg.ts index fac45868..60f94793 100644 --- a/db/schema/MDG/mdg.ts +++ b/db/schema/MDG/mdg.ts @@ -26,7 +26,7 @@ export const mdgSchema = pgSchema("mdg"); // [root] export const CUSTOMER_MASTER_BP_HEADER = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BP_HEADER: varchar().notNull().unique(), // Business Partner Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().unique(), // Business Partner Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -34,10 +34,10 @@ export const CUSTOMER_MASTER_BP_HEADER = mdgSchema.table('CUSTOMER_MASTER_BP_HEA export const CUSTOMER_MASTER_BP_HEADER_ADDRESS = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_ADDRESS', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ADDRNO: varchar().notNull(), // Address Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + ADDRNO: varchar('ADDRNO', { length: 1000 }).notNull(), // Address Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -45,12 +45,12 @@ export const CUSTOMER_MASTER_BP_HEADER_ADDRESS = mdgSchema.table('CUSTOMER_MASTE export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CONSNUMBER: varchar().notNull(), // Sequence number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - DATE_FROM: varchar().notNull(), // Valid-from date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - SMTP_ADDR: varchar({ length: 241 }), // E-Mail Address // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + CONSNUMBER: varchar('CONSNUMBER', { length: 1000 }).notNull(), // Sequence number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + DATE_FROM: varchar('DATE_FROM', { length: 1000 }).notNull(), // Valid-from date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + SMTP_ADDR: varchar({ length: 1000 }), // E-Mail Address // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -58,14 +58,14 @@ export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL = mdgSchema.table('CUSTO export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CONSNUMBER: varchar().notNull(), // Sequence number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - COUNTRY: varchar(), // Country Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - DATE_FROM: varchar().notNull(), // Valid-from date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - FAX_EXTENS: varchar(), // Fax no.: Extension // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - FAX_NUMBER: varchar({ length: 30 }), // Fax number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + CONSNUMBER: varchar('CONSNUMBER', { length: 1000 }).notNull(), // Sequence number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + COUNTRY: varchar('COUNTRY', { length: 1000 }), // Country Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + DATE_FROM: varchar('DATE_FROM', { length: 1000 }).notNull(), // Valid-from date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + FAX_EXTENS: varchar('FAX_EXTENS', { length: 1000 }), // Fax no.: Extension // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + FAX_NUMBER: varchar({ length: 1000 }), // Fax number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -73,30 +73,30 @@ export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX = mdgSchema.table('CUSTOME export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CITY1: varchar({ length: 40 }), // City // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - CITY2: varchar({ length: 40 }), // District // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - COUNTRY: varchar(), // Country Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - HOUSE_NUM1: varchar(), // House Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - LANGU: varchar(), // Language Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - NAME1: varchar({ length: 40 }), // Name 1 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - NAME2: varchar({ length: 40 }), // Name 2 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - NAME3: varchar({ length: 40 }), // Name 3 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - NAME4: varchar({ length: 40 }), // Name 4 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - NATION: varchar(), // International address version ID // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - POST_CODE1: varchar(), // Postal Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - POST_CODE2: varchar(), // Postal Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - PO_BOX: varchar(), // PO Box // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - REGION: varchar(), // Region (State, Province, County) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - SORT1: varchar({ length: 20 }), // Search Term 1 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - SORT2: varchar({ length: 20 }), // Search Term 2 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - STREET: varchar({ length: 60 }), // Street // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - TAXJURCODE: varchar({ length: 15 }), // Tax Jurisdiction // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - TIME_ZONE: varchar(), // Time zone // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - TITLE: varchar(), // Title // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - TRANSPZONE: varchar(), // Transportation zone to or from which the goods are // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + CITY1: varchar({ length: 1000 }), // City // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + CITY2: varchar({ length: 1000 }), // District // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + COUNTRY: varchar('COUNTRY', { length: 1000 }), // Country Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + HOUSE_NUM1: varchar('HOUSE_NUM1', { length: 1000 }), // House Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + LANGU: varchar('LANGU', { length: 1000 }), // Language Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + NAME1: varchar({ length: 1000 }), // Name 1 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + NAME2: varchar({ length: 1000 }), // Name 2 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + NAME3: varchar({ length: 1000 }), // Name 3 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + NAME4: varchar({ length: 1000 }), // Name 4 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + NATION: varchar('NATION', { length: 1000 }), // International address version ID // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + POST_CODE1: varchar('POST_CODE1', { length: 1000 }), // Postal Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + POST_CODE2: varchar('POST_CODE2', { length: 1000 }), // Postal Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + PO_BOX: varchar('PO_BOX', { length: 1000 }), // PO Box // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + REGION: varchar('REGION', { length: 1000 }), // Region (State, Province, County) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + SORT1: varchar({ length: 1000 }), // Search Term 1 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + SORT2: varchar({ length: 1000 }), // Search Term 2 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + STREET: varchar({ length: 1000 }), // Street // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + TAXJURCODE: varchar({ length: 1000 }), // Tax Jurisdiction // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + TIME_ZONE: varchar('TIME_ZONE', { length: 1000 }), // Time zone // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + TITLE: varchar('TITLE', { length: 1000 }), // Title // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + TRANSPZONE: varchar('TRANSPZONE', { length: 1000 }), // Transportation zone to or from which the goods are // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -104,15 +104,15 @@ export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL = mdgSchema.table('CUST export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CONSNUMBER: varchar().notNull(), // Sequence number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - COUNTRY: varchar(), // Country Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - DATE_FROM: varchar().notNull(), // Valid-from date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - R3_USER: varchar(), // ndicator: Telephone is a Mobile Telephone // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - TEL_EXTENS: varchar(), // Telephone no.: Extension // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - TEL_NUMBER: varchar({ length: 30 }), // Telephone no.: dialling code+number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + CONSNUMBER: varchar('CONSNUMBER', { length: 1000 }).notNull(), // Sequence number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + COUNTRY: varchar('COUNTRY', { length: 1000 }), // Country Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + DATE_FROM: varchar('DATE_FROM', { length: 1000 }).notNull(), // Valid-from date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + R3_USER: varchar('R3_USER', { length: 1000 }), // ndicator: Telephone is a Mobile Telephone // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + TEL_EXTENS: varchar('TEL_EXTENS', { length: 1000 }), // Telephone no.: Extension // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + TEL_NUMBER: varchar({ length: 1000 }), // Telephone no.: dialling code+number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -120,11 +120,11 @@ export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL = mdgSchema.table('CUSTOME export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CONSNUMBER: varchar().notNull(), // Sequence number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - DATE_FROM: varchar().notNull(), // Valid-from date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + CONSNUMBER: varchar('CONSNUMBER', { length: 1000 }).notNull(), // Sequence number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + DATE_FROM: varchar('DATE_FROM', { length: 1000 }).notNull(), // Valid-from date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 URI_ADDR: text(), // Universal Resource Identifier (URI) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), @@ -133,68 +133,68 @@ export const CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL = mdgSchema.table('CUSTOME export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), - - id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ANRED: varchar({ length: 15 }), // Title // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - AUFSD: varchar(), // Central order block // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - FAKSD: varchar(), // Central billing block // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - GFORM: varchar(), // Legal status // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - JMJAH: varchar(), // Year for which the number of employees is given // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - JMZAH: varchar(), // Yearly number of employees // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - J_1KFREPRE: varchar(), // Name of Representative // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - J_1KFTBUS: varchar({ length: 30 }), // Type of Business // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - J_1KFTIND: varchar({ length: 30 }), // Type of Industry // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KATR1: varchar(), // Attribute1(발행구분-정발행, 역발행등 계산서 발행구분) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KDKG1: varchar(), // Condition grp1 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KTOKD: varchar(), // Account Group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KUNNR: varchar().notNull(), // Customer Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - LIFNR: varchar(), // Vendor Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - LIFSD: varchar(), // Central delivery block // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - LOEVM: varchar(), // Central Deletion Flag for Master Record // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - NIELS: varchar(), // Customer Type // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - NODEL: varchar(), // Central deletion block for master record // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - PUGRP: varchar({ length: 20 }), // Customer Group Name // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - SPERR: varchar(), // Central Posting Block // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - SPRAS: varchar(), // Language Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - STCD1: varchar({ length: 16 }), // Tax Number 1 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - STCD2: varchar({ length: 11 }), // Tax Number 2 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - STCD3: varchar({ length: 18 }), // Tax Number 3 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - STCD4: varchar({ length: 18 }), // Tax Number 4 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - STCEG: varchar({ length: 20 }), // VAT Registration Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - UMJAH: varchar(), // Year For Which Sales are Given // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - UWAER: varchar(), // Currency of Sales figure // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - VBUND: varchar(), // Company ID of Trading Partner // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZAPPDT_C: varchar(), // Apporval Date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZAPPTM_C: varchar(), // Apporval Time // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZAPPUS_C: varchar({ length: 12 }), // Apporval User // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZBA: varchar(), // Business Area(GBM) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZBRSCH_C: varchar(), // Industry // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZCRMCD: varchar({ length: 20 }), // CRM Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZDOKAR_C: varchar(), // Document Type // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZDOKNR_C: varchar({ length: 25 }), // Document // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZDOKTL_C: varchar(), // Document Part // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZDOKVR_C: varchar(), // Document version // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZDUNS: varchar({ length: 11 }), // DUNS Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZFTBU: varchar(), // F-Tree BU Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZFTBUNM: varchar({ length: 40 }), // F-Tree BU Name // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZFTDT: varchar(), // F-Tree DT Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZFTDTNM: varchar({ length: 40 }), // F-Tree DT Name // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZFTGT: varchar(), // F-Tree GT Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZFTGTNM: varchar({ length: 40 }), // F-Tree GT Name // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZINBFLGC: varchar(), // Inbound Flag // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZLAMDT_C: varchar(), // Last Modified Date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZLAMTM_C: varchar(), // Last Modified Time // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZLAMUS_C: varchar({ length: 12 }), // Last Modified User // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZORT01_C: varchar({ length: 35 }), // City // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZORT02_C: varchar({ length: 35 }), // District // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZREASON: varchar(), // Reason for Duplication // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZREGDT_C: varchar(), // Registerd Date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZREGTM_C: varchar(), // Registerd Time // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZREGUS_C: varchar({ length: 12 }), // Registerd User // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZSTCDT_C: varchar(), // Tax number type // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZSTRAS_C: varchar({ length: 35 }), // House number and street // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZZSUBSEQ_C: varchar(), // 종사업장 일련번호 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + + id: integer('id').primaryKey().generatedByDefaultAsIdentity(), + ANRED: varchar({ length: 1000 }), // Title // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + AUFSD: varchar('AUFSD', { length: 1000 }), // Central order block // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + FAKSD: varchar('FAKSD', { length: 1000 }), // Central billing block // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + GFORM: varchar('GFORM', { length: 1000 }), // Legal status // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + JMJAH: varchar('JMJAH', { length: 1000 }), // Year for which the number of employees is given // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + JMZAH: varchar('JMZAH', { length: 1000 }), // Yearly number of employees // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + J_1KFREPRE: varchar('J_1KFREPRE', { length: 1000 }), // Name of Representative // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + J_1KFTBUS: varchar({ length: 1000 }), // Type of Business // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + J_1KFTIND: varchar({ length: 1000 }), // Type of Industry // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KATR1: varchar('KATR1', { length: 1000 }), // Attribute1(발행구분-정발행, 역발행등 계산서 발행구분) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KDKG1: varchar('KDKG1', { length: 1000 }), // Condition grp1 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KTOKD: varchar('KTOKD', { length: 1000 }), // Account Group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KUNNR: varchar('KUNNR', { length: 1000 }).notNull(), // Customer Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + LIFNR: varchar('LIFNR', { length: 1000 }), // Vendor Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + LIFSD: varchar('LIFSD', { length: 1000 }), // Central delivery block // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + LOEVM: varchar('LOEVM', { length: 1000 }), // Central Deletion Flag for Master Record // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + NIELS: varchar('NIELS', { length: 1000 }), // Customer Type // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + NODEL: varchar('NODEL', { length: 1000 }), // Central deletion block for master record // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + PUGRP: varchar({ length: 1000 }), // Customer Group Name // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + SPERR: varchar('SPERR', { length: 1000 }), // Central Posting Block // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + SPRAS: varchar('SPRAS', { length: 1000 }), // Language Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + STCD1: varchar({ length: 1000 }), // Tax Number 1 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + STCD2: varchar({ length: 1000 }), // Tax Number 2 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + STCD3: varchar({ length: 1000 }), // Tax Number 3 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + STCD4: varchar({ length: 1000 }), // Tax Number 4 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + STCEG: varchar({ length: 1000 }), // VAT Registration Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + UMJAH: varchar('UMJAH', { length: 1000 }), // Year For Which Sales are Given // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + UWAER: varchar('UWAER', { length: 1000 }), // Currency of Sales figure // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + VBUND: varchar('VBUND', { length: 1000 }), // Company ID of Trading Partner // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZAPPDT_C: varchar('ZZAPPDT_C', { length: 1000 }), // Apporval Date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZAPPTM_C: varchar('ZZAPPTM_C', { length: 1000 }), // Apporval Time // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZAPPUS_C: varchar({ length: 1000 }), // Apporval User // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZBA: varchar('ZZBA', { length: 1000 }), // Business Area(GBM) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZBRSCH_C: varchar('ZZBRSCH_C', { length: 1000 }), // Industry // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZCRMCD: varchar({ length: 1000 }), // CRM Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZDOKAR_C: varchar('ZZDOKAR_C', { length: 1000 }), // Document Type // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZDOKNR_C: varchar({ length: 1000 }), // Document // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZDOKTL_C: varchar('ZZDOKTL_C', { length: 1000 }), // Document Part // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZDOKVR_C: varchar('ZZDOKVR_C', { length: 1000 }), // Document version // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZDUNS: varchar({ length: 1000 }), // DUNS Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZFTBU: varchar('ZZFTBU', { length: 1000 }), // F-Tree BU Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZFTBUNM: varchar({ length: 1000 }), // F-Tree BU Name // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZFTDT: varchar('ZZFTDT', { length: 1000 }), // F-Tree DT Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZFTDTNM: varchar({ length: 1000 }), // F-Tree DT Name // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZFTGT: varchar('ZZFTGT', { length: 1000 }), // F-Tree GT Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZFTGTNM: varchar({ length: 1000 }), // F-Tree GT Name // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZINBFLGC: varchar('ZZINBFLGC', { length: 1000 }), // Inbound Flag // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZLAMDT_C: varchar('ZZLAMDT_C', { length: 1000 }), // Last Modified Date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZLAMTM_C: varchar('ZZLAMTM_C', { length: 1000 }), // Last Modified Time // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZLAMUS_C: varchar({ length: 1000 }), // Last Modified User // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZORT01_C: varchar({ length: 1000 }), // City // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZORT02_C: varchar({ length: 1000 }), // District // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZREASON: varchar('ZZREASON', { length: 1000 }), // Reason for Duplication // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZREGDT_C: varchar('ZZREGDT_C', { length: 1000 }), // Registerd Date // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZREGTM_C: varchar('ZZREGTM_C', { length: 1000 }), // Registerd Time // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZREGUS_C: varchar({ length: 1000 }), // Registerd User // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZSTCDT_C: varchar('ZZSTCDT_C', { length: 1000 }), // Tax number type // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZSTRAS_C: varchar({ length: 1000 }), // House number and street // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZZSUBSEQ_C: varchar('ZZSUBSEQ_C', { length: 1000 }), // 종사업장 일련번호 // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -202,18 +202,18 @@ export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN = mdgSchema.table('CUSTOMER_MAS export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - AKONT: varchar(), // Reconcil.acct // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - BUKRS: varchar().notNull(), // Company Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - FDGRV: varchar(), // Planning Group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - LOEVM: varchar(), // Central Deletion Flag for Master Record // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - SPERR: varchar(), // Posting block for company code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZAHLS: varchar(), // Block Key for Payment // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZTERM: varchar(), // Terms of Payment Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZUAWA: varchar(), // Sort key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZWELS: varchar(), // List of the Payment Methods to be Considered // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + AKONT: varchar('AKONT', { length: 1000 }), // Reconcil.acct // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + BUKRS: varchar('BUKRS', { length: 1000 }).notNull(), // Company Code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + FDGRV: varchar('FDGRV', { length: 1000 }), // Planning Group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + LOEVM: varchar('LOEVM', { length: 1000 }), // Central Deletion Flag for Master Record // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + SPERR: varchar('SPERR', { length: 1000 }), // Posting block for company code // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZAHLS: varchar('ZAHLS', { length: 1000 }), // Block Key for Payment // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZTERM: varchar('ZTERM', { length: 1000 }), // Terms of Payment Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZUAWA: varchar('ZUAWA', { length: 1000 }), // Sort key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZWELS: varchar('ZWELS', { length: 1000 }), // List of the Payment Methods to be Considered // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -221,35 +221,35 @@ export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY = mdgSchema.table('CUS export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - AUFSD: varchar(), // Customer order block (sales area) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - AWAHR: varchar(), // Order probability of the item // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - BZIRK: varchar(), // Sales district // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - FAKSD: varchar(), // Billing block for customer (sales and distribution // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - INCO1: varchar(), // Incoterms (Part 1) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - INCO2: varchar({ length: 28 }), // Incoterms (Part 2) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KALKS: varchar(), // Pricing procedure assigned to this customer // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KDGRP: varchar(), // Customer group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KONDA: varchar(), // Price group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KTGRD: varchar(), // Account assignment group for this customer // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KURST: varchar(), // Exchange Rate Type // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KZAZU: varchar(), // Order Combination // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - LIFSD: varchar(), // Customer delivery block (sales area) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - LOEVM: varchar(), // Central Deletion Flag for Master Record // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - LPRIO: varchar(), // Delivery Priority // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - PLTYP: varchar(), // Price List // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - SPART: varchar().notNull(), // Division // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - VERSG: varchar(), // Customer Statistics Group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - VKBUR: varchar(), // Sales Office // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - VKGRP: varchar(), // Sales Group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - VKORG: varchar().notNull(), // Sales Org. // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - VSBED: varchar(), // Shipping Conditions // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - VTWEG: varchar().notNull(), // Distr. Channel // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - VWERK: varchar(), // From plant // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - WAERS: varchar(), // Currency // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - ZTERM: varchar(), // Terms of Payment Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + AUFSD: varchar('AUFSD', { length: 1000 }), // Customer order block (sales area) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + AWAHR: varchar('AWAHR', { length: 1000 }), // Order probability of the item // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + BZIRK: varchar('BZIRK', { length: 1000 }), // Sales district // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + FAKSD: varchar('FAKSD', { length: 1000 }), // Billing block for customer (sales and distribution // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + INCO1: varchar('INCO1', { length: 1000 }), // Incoterms (Part 1) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + INCO2: varchar({ length: 1000 }), // Incoterms (Part 2) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KALKS: varchar('KALKS', { length: 1000 }), // Pricing procedure assigned to this customer // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KDGRP: varchar('KDGRP', { length: 1000 }), // Customer group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KONDA: varchar('KONDA', { length: 1000 }), // Price group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KTGRD: varchar('KTGRD', { length: 1000 }), // Account assignment group for this customer // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KURST: varchar('KURST', { length: 1000 }), // Exchange Rate Type // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KZAZU: varchar('KZAZU', { length: 1000 }), // Order Combination // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + LIFSD: varchar('LIFSD', { length: 1000 }), // Customer delivery block (sales area) // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + LOEVM: varchar('LOEVM', { length: 1000 }), // Central Deletion Flag for Master Record // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + LPRIO: varchar('LPRIO', { length: 1000 }), // Delivery Priority // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + PLTYP: varchar('PLTYP', { length: 1000 }), // Price List // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + SPART: varchar('SPART', { length: 1000 }).notNull(), // Division // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + VERSG: varchar('VERSG', { length: 1000 }), // Customer Statistics Group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + VKBUR: varchar('VKBUR', { length: 1000 }), // Sales Office // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + VKGRP: varchar('VKGRP', { length: 1000 }), // Sales Group // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + VKORG: varchar('VKORG', { length: 1000 }).notNull(), // Sales Org. // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + VSBED: varchar('VSBED', { length: 1000 }), // Shipping Conditions // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + VTWEG: varchar('VTWEG', { length: 1000 }).notNull(), // Distr. Channel // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + VWERK: varchar('VWERK', { length: 1000 }), // From plant // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + WAERS: varchar('WAERS', { length: 1000 }), // Currency // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ZTERM: varchar('ZTERM', { length: 1000 }), // Terms of Payment Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -257,13 +257,13 @@ export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES = mdgSchema.table('CUSTO export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - DEFPA: varchar(), // Default Partner // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - KUNN2: varchar(), // Customer number of business partner // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - PARVW: varchar().notNull(), // Partner Function // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - PARZA: varchar().notNull(), // Partner counter // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + DEFPA: varchar('DEFPA', { length: 1000 }), // Default Partner // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + KUNN2: varchar('KUNN2', { length: 1000 }), // Customer number of business partner // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + PARVW: varchar('PARVW', { length: 1000 }).notNull(), // Partner Function // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + PARZA: varchar('PARZA', { length: 1000 }).notNull(), // Partner counter // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -271,12 +271,12 @@ export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN = mdgSchema.table( export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ALAND: varchar().notNull(), // Departure country // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - TATYP: varchar().notNull(), // Tax category // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - TAXKD: varchar(), // Tax classification for customer // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + ALAND: varchar('ALAND', { length: 1000 }).notNull(), // Departure country // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + TATYP: varchar('TATYP', { length: 1000 }).notNull(), // Tax category // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + TAXKD: varchar('TAXKD', { length: 1000 }), // Tax classification for customer // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -284,11 +284,11 @@ export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND = mdgSchema.table('CUST export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - LAND1: varchar().notNull(), // Country Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 - STCEG: varchar({ length: 20 }), // VAT Registration Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + LAND1: varchar('LAND1', { length: 1000 }).notNull(), // Country Key // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + STCEG: varchar({ length: 1000 }), // VAT Registration Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -296,11 +296,11 @@ export const CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG = mdgSchema.table('CUST export const CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM = mdgSchema.table('CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM', { // [fk] - BP_HEADER: varchar().notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), + BP_HEADER: varchar('BP_HEADER', { length: 1000 }).notNull().references(() => CUSTOMER_MASTER_BP_HEADER.BP_HEADER), id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - TAXNUM: varchar({ length: 20 }), // Business Partner Tax Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl - TAXTYPE: varchar().notNull(), // Tax Number Category // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 + TAXNUM: varchar({ length: 1000 }), // Business Partner Tax Number // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl + TAXTYPE: varchar('TAXTYPE', { length: 1000 }).notNull(), // Tax Number Category // From: IF_MDZ_EVCP_CUSTOMER_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -309,21 +309,21 @@ export const CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM = mdgSchema.table('CUSTOMER_MAS // [root] export const DEPARTMENT_CODE_CMCTB_DEPT_MDG = mdgSchema.table('DEPARTMENT_CODE_CMCTB_DEPT_MDG', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BICD: varchar({ length: 20 }), // 사업장코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - BIZAREA: varchar({ length: 10 }), // 사업부문 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - CCCD: varchar({ length: 10 }), // 코스트센터 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - COMPCD: varchar({ length: 20 }), // 회사코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - CORPCD: varchar({ length: 10 }).notNull(), // 법인코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 - DEPTCD: varchar({ length: 10 }).notNull().unique(), // 부서코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 - DEPTLVL: varchar({ length: 10 }), // 부서레벨 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - DEPTPOSNO: varchar({ length: 30 }), // 부서위치 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - DHEMPID: varchar({ length: 20 }), // 부서장사번 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - GNCD: varchar({ length: 20 }), // From multiple sources // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - PCCD: varchar({ length: 10 }), // 손익센터 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - PDEPTCD: varchar({ length: 10 }), // 상위부서코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - VALIDFROMDT: varchar({ length: 10 }), // 유효일자(시작) // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - VALIDTODT: varchar({ length: 10 }), // 유효일자(끝) // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - WERKS: varchar({ length: 10 }), // 플랜트코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + BICD: varchar({ length: 1000 }), // 사업장코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + BIZAREA: varchar({ length: 1000 }), // 사업부문 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + CCCD: varchar({ length: 1000 }), // 코스트센터 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + COMPCD: varchar({ length: 1000 }), // 회사코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + CORPCD: varchar({ length: 1000 }).notNull(), // 법인코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 + DEPTCD: varchar({ length: 1000 }).notNull().unique(), // 부서코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 + DEPTLVL: varchar({ length: 1000 }), // 부서레벨 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + DEPTPOSNO: varchar({ length: 1000 }), // 부서위치 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + DHEMPID: varchar({ length: 1000 }), // 부서장사번 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + GNCD: varchar({ length: 1000 }), // From multiple sources // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + PCCD: varchar({ length: 1000 }), // 손익센터 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + PDEPTCD: varchar({ length: 1000 }), // 상위부서코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + VALIDFROMDT: varchar({ length: 1000 }), // 유효일자(시작) // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + VALIDTODT: varchar({ length: 1000 }), // 유효일자(끝) // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + WERKS: varchar({ length: 1000 }), // 플랜트코드 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -331,11 +331,11 @@ export const DEPARTMENT_CODE_CMCTB_DEPT_MDG = mdgSchema.table('DEPARTMENT_CODE_C export const DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM = mdgSchema.table('DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM', { // [fk] - DEPTCD: varchar({ length: 10 }).notNull().references(() => DEPARTMENT_CODE_CMCTB_DEPT_MDG.DEPTCD), // 부서코드 + DEPTCD: varchar({ length: 1000 }).notNull().references(() => DEPARTMENT_CODE_CMCTB_DEPT_MDG.DEPTCD), // 부서코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - COMPNM: varchar({ length: 90 }), // 회사명 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // 언어구분 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 + COMPNM: varchar({ length: 1000 }), // 회사명 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // 언어구분 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -343,11 +343,11 @@ export const DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM = mdgSchema.table('DEPARTMENT export const DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM = mdgSchema.table('DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM', { // [fk] - DEPTCD: varchar({ length: 10 }).notNull().references(() => DEPARTMENT_CODE_CMCTB_DEPT_MDG.DEPTCD), // 부서코드 + DEPTCD: varchar({ length: 1000 }).notNull().references(() => DEPARTMENT_CODE_CMCTB_DEPT_MDG.DEPTCD), // 부서코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CORPNM: varchar({ length: 90 }), // 법인명 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // 언어구분 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 + CORPNM: varchar({ length: 1000 }), // 법인명 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // 언어구분 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -355,11 +355,11 @@ export const DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM = mdgSchema.table('DEPARTMENT export const DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM = mdgSchema.table('DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM', { // [fk] - DEPTCD: varchar({ length: 10 }).notNull().references(() => DEPARTMENT_CODE_CMCTB_DEPT_MDG.DEPTCD), // 부서코드 + DEPTCD: varchar({ length: 1000 }).notNull().references(() => DEPARTMENT_CODE_CMCTB_DEPT_MDG.DEPTCD), // 부서코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - DEPTNM: varchar({ length: 90 }), // 부서명 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // 언어구분 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 + DEPTNM: varchar({ length: 1000 }), // 부서명 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // 언어구분 // From: IF_MDZ_EVCP_DEPARTMENT_CODE.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -368,78 +368,78 @@ export const DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM = mdgSchema.table('DEPARTMENT // [root] export const EMPLOYEE_MASTER_CMCTB_EMP_MDG = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ADDRCNTRY: varchar({ length: 10 }), // 우편번호의 국가코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - AEDAT: varchar({ length: 10 }), // 수정날짜 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - AENAM: varchar({ length: 12 }), // 수정자 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - AEZET: varchar({ length: 10 }), // 최근수정시간 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - BICD: varchar({ length: 20 }), // 사업장코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - BIZAREA: varchar({ length: 10 }), // Business Area // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - BSCADDR: varchar({ length: 35 }), // Basic Address // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - COMPCD: varchar({ length: 20 }), // 회사 코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - CORPCD: varchar({ length: 10 }), // 법인 코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - COUNTRYCD: varchar({ length: 10 }), // 국가코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - CSFROMDT: varchar({ length: 10 }), // [에스원]CS Start Date // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - CSTODT: varchar({ length: 10 }), // [에스원]CS End Date // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - CTIROLE: varchar({ length: 10 }), // [에스원]CTI Authority // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DEL: varchar({ length: 10 }), // 삭제Flag // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DEPENDDT: varchar({ length: 10 }), // 파견종료예정일 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DEPTCD: varchar({ length: 10 }), // 부서코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DHJOBGRDCD: varchar({ length: 29 }), // 부서장 직급코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DHNAME: varchar({ length: 70 }), // 부서장 이름 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DHSINGLID: varchar({ length: 12 }), // 부서장 SingleID // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DISPATCH: varchar({ length: 10 }), // 파견여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DPSTARTDT: varchar({ length: 10 }), // 파견발령일 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DTLADDR: varchar({ length: 35 }), // Detail Address // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - DTLADDR2: varchar({ length: 35 }), // Detail Address2 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - EMAIL: varchar({ length: 40 }), // 이메일주소 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - EMPADR: varchar({ length: 10 }), // 주소 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - EMPID: varchar({ length: 20 }).notNull().unique(), // 사원번호 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 - EMPTYPE: varchar({ length: 20 }), // 인력유형 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ENGNAME: varchar({ length: 70 }), // 사원영문이름 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - EPID: varchar({ length: 50 }), // EPID // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ERDAT: varchar({ length: 10 }), // 생성날짜 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ERNAM: varchar({ length: 12 }), // 생성자 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ERZET: varchar({ length: 10 }), // 생성시간 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - FORIGNFLG: varchar({ length: 10 }), // [기획]Foreign Flag // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - GJOBCD: varchar({ length: 20 }), // Global 직무 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - GJOBDUTYCD: varchar({ length: 20 }), // Global 직책 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - GJOBGRDCD: varchar({ length: 20 }), // Global 직급 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - GNCD: varchar({ length: 20 }), // 총괄코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - HRMANAGE: varchar({ length: 10 }), // HR시스템에서 관리 여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - IDNO: varchar({ length: 32 }), // [모직]개인ID // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - JOBCD: varchar({ length: 20 }), // 직무코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - JOBCLASS: varchar({ length: 20 }), // [에스원]Job Class Code // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - JOBDUTYCD: varchar({ length: 15 }), // 직책코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - JOBGRDCD: varchar({ length: 12 }), // 직급코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - KTL_EMP: varchar({ length: 10 }), // 비용센터 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - LVABSENCE: varchar({ length: 10 }), // 휴직여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - MBPHONE: varchar({ length: 20 }), // 개인 휴대폰 전화번호 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - NAME: varchar({ length: 70 }), // 사원이름 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - OKTL_EMPL: varchar({ length: 10 }), // 원소속부서 비용센터 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ORGBICD: varchar({ length: 20 }), // 원소속사업장코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ORGCOMPCD: varchar({ length: 20 }), // 원소속회사코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ORGCORPCD: varchar({ length: 10 }), // 원소속법인코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ORGDEPTCD: varchar({ length: 10 }), // 원소속부서코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ORGPDEPCD: varchar({ length: 10 }), // 원소속부서의 상위부서코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - PAYPLC: varchar({ length: 10 }), // Payplace for Employee // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - PDEPTCD: varchar({ length: 10 }), // 상위부서코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - PSTLCODE: varchar({ length: 10 }), // 우편번호 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - RETIRE: varchar({ length: 10 }), // 퇴직여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SEX: varchar({ length: 10 }), // 성별 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SINGLEID: varchar({ length: 12 }), // 싱글 ID // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SINGLRQ: varchar({ length: 10 }), // 싱글ID 요청 상태 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SOCIALID: varchar({ length: 16 }), // From multiple sources // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SOCIALID_DECR: varchar({ length: 16 }), // From multiple sources // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SOJRNEMP: varchar({ length: 10 }), // 주재원 여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - TELNUM: varchar({ length: 20 }), // 전화번호 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - TMPJDIV: varchar({ length: 20 }), // [에스원]Non-Regular Code // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - USEDSYS: varchar({ length: 20 }), // [기획]Used System // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - VALFROMDT: varchar({ length: 10 }), // 근무시작일 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - VALTODT: varchar({ length: 10 }), // 종료예정일(퇴직일자-정규직일경우) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - WFREQUIRE: varchar({ length: 10 }), // 전결필요여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - WORKPLC: varchar({ length: 16 }), // 근무처 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ZPRFLG: varchar({ length: 10 }), // 업데이트 여부 Flag // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - ZZBUKRS: varchar({ length: 10 }), // ECC Company 코드 (재무법인코드) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ADDRCNTRY: varchar({ length: 1000 }), // 우편번호의 국가코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + AEDAT: varchar({ length: 1000 }), // 수정날짜 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + AENAM: varchar({ length: 1000 }), // 수정자 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + AEZET: varchar({ length: 1000 }), // 최근수정시간 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + BICD: varchar({ length: 1000 }), // 사업장코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + BIZAREA: varchar({ length: 1000 }), // Business Area // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + BSCADDR: varchar({ length: 1000 }), // Basic Address // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + COMPCD: varchar({ length: 1000 }), // 회사 코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + CORPCD: varchar({ length: 1000 }), // 법인 코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + COUNTRYCD: varchar({ length: 1000 }), // 국가코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + CSFROMDT: varchar({ length: 1000 }), // [에스원]CS Start Date // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + CSTODT: varchar({ length: 1000 }), // [에스원]CS End Date // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + CTIROLE: varchar({ length: 1000 }), // [에스원]CTI Authority // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DEL: varchar({ length: 1000 }), // 삭제Flag // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DEPENDDT: varchar({ length: 1000 }), // 파견종료예정일 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DEPTCD: varchar({ length: 1000 }), // 부서코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DHJOBGRDCD: varchar({ length: 1000 }), // 부서장 직급코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DHNAME: varchar({ length: 1000 }), // 부서장 이름 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DHSINGLID: varchar({ length: 1000 }), // 부서장 SingleID // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DISPATCH: varchar({ length: 1000 }), // 파견여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DPSTARTDT: varchar({ length: 1000 }), // 파견발령일 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DTLADDR: varchar({ length: 1000 }), // Detail Address // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DTLADDR2: varchar({ length: 1000 }), // Detail Address2 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + EMAIL: varchar({ length: 1000 }), // 이메일주소 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + EMPADR: varchar({ length: 1000 }), // 주소 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + EMPID: varchar({ length: 1000 }).notNull().unique(), // 사원번호 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + EMPTYPE: varchar({ length: 1000 }), // 인력유형 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ENGNAME: varchar({ length: 1000 }), // 사원영문이름 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + EPID: varchar({ length: 1000 }), // EPID // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ERDAT: varchar({ length: 1000 }), // 생성날짜 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ERNAM: varchar({ length: 1000 }), // 생성자 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ERZET: varchar({ length: 1000 }), // 생성시간 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + FORIGNFLG: varchar({ length: 1000 }), // [기획]Foreign Flag // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + GJOBCD: varchar({ length: 1000 }), // Global 직무 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + GJOBDUTYCD: varchar({ length: 1000 }), // Global 직책 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + GJOBGRDCD: varchar({ length: 1000 }), // Global 직급 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + GNCD: varchar({ length: 1000 }), // 총괄코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + HRMANAGE: varchar({ length: 1000 }), // HR시스템에서 관리 여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + IDNO: varchar({ length: 1000 }), // [모직]개인ID // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + JOBCD: varchar({ length: 1000 }), // 직무코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + JOBCLASS: varchar({ length: 1000 }), // [에스원]Job Class Code // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + JOBDUTYCD: varchar({ length: 1000 }), // 직책코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + JOBGRDCD: varchar({ length: 1000 }), // 직급코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + KTL_EMP: varchar({ length: 1000 }), // 비용센터 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + LVABSENCE: varchar({ length: 1000 }), // 휴직여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + MBPHONE: varchar({ length: 1000 }), // 개인 휴대폰 전화번호 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + NAME: varchar({ length: 1000 }), // 사원이름 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + OKTL_EMPL: varchar({ length: 1000 }), // 원소속부서 비용센터 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ORGBICD: varchar({ length: 1000 }), // 원소속사업장코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ORGCOMPCD: varchar({ length: 1000 }), // 원소속회사코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ORGCORPCD: varchar({ length: 1000 }), // 원소속법인코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ORGDEPTCD: varchar({ length: 1000 }), // 원소속부서코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ORGPDEPCD: varchar({ length: 1000 }), // 원소속부서의 상위부서코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + PAYPLC: varchar({ length: 1000 }), // Payplace for Employee // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + PDEPTCD: varchar({ length: 1000 }), // 상위부서코드 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + PSTLCODE: varchar({ length: 1000 }), // 우편번호 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + RETIRE: varchar({ length: 1000 }), // 퇴직여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SEX: varchar({ length: 1000 }), // 성별 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SINGLEID: varchar({ length: 1000 }), // 싱글 ID // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SINGLRQ: varchar({ length: 1000 }), // 싱글ID 요청 상태 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SOCIALID: varchar({ length: 1000 }), // From multiple sources // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SOCIALID_DECR: varchar({ length: 1000 }), // From multiple sources // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SOJRNEMP: varchar({ length: 1000 }), // 주재원 여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + TELNUM: varchar({ length: 1000 }), // 전화번호 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + TMPJDIV: varchar({ length: 1000 }), // [에스원]Non-Regular Code // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + USEDSYS: varchar({ length: 1000 }), // [기획]Used System // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + VALFROMDT: varchar({ length: 1000 }), // 근무시작일 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + VALTODT: varchar({ length: 1000 }), // 종료예정일(퇴직일자-정규직일경우) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + WFREQUIRE: varchar({ length: 1000 }), // 전결필요여부 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + WORKPLC: varchar({ length: 1000 }), // 근무처 // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ZPRFLG: varchar({ length: 1000 }), // 업데이트 여부 Flag // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ZZBUKRS: varchar({ length: 1000 }), // ECC Company 코드 (재무법인코드) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -447,11 +447,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG = mdgSchema.table('EMPLOYEE_MASTER_CM export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - GTEXT: varchar({ length: 30 }), // Business area description // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (BIZAREA) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + GTEXT: varchar({ length: 1000 }), // Business area description // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (BIZAREA) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -459,11 +459,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM = mdgSchema.table('EMPLOYEE_MAST export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BINM: varchar({ length: 60 }), // Business Place Name (BICD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (BICD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + BINM: varchar({ length: 1000 }), // Business Place Name (BICD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (BICD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -471,11 +471,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM = mdgSchema.table('EMPLOYEE_MAST export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - COMPNM: varchar({ length: 60 }), // Company Name (COMPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (COMPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + COMPNM: varchar({ length: 1000 }), // Company Name (COMPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (COMPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -483,11 +483,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM = mdgSchema.table('EMPLOYEE_MA export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CORPNM: varchar({ length: 60 }), // Corporate Name (CORPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (CORPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + CORPNM: varchar({ length: 1000 }), // Corporate Name (CORPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (CORPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -495,11 +495,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM = mdgSchema.table('EMPLOYEE_MA export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - COUNTRYNM: varchar({ length: 60 }), // Country Name (COUNTRYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (COUNTRYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + COUNTRYNM: varchar({ length: 1000 }), // Country Name (COUNTRYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (COUNTRYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -507,11 +507,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - PCCD: varchar({ length: 10 }), // Profit Center Code (DEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - WERKS: varchar({ length: 10 }), // Plant Code (DEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + PCCD: varchar({ length: 1000 }), // Profit Center Code (DEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + WERKS: varchar({ length: 1000 }), // Plant Code (DEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -519,11 +519,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE = mdgSchema.table('EMPLOYEE_ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - KTEXT: varchar({ length: 20 }), // General Name // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - LTEXT: varchar({ length: 40 }), // Long Text // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + KTEXT: varchar({ length: 1000 }), // General Name // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + LTEXT: varchar({ length: 1000 }), // Long Text // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -531,11 +531,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM = mdgSchema.table('EM export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - DEPTNM: varchar({ length: 60 }), // Department Name (DEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (DEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + DEPTNM: varchar({ length: 1000 }), // Department Name (DEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (DEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -543,11 +543,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM = mdgSchema.table('EMPLOYEE_MA export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - JOBGRDNM: varchar({ length: 60 }), // Job Grade Name (DHJOBGDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (DHJOBGDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + JOBGRDNM: varchar({ length: 1000 }), // Job Grade Name (DHJOBGDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (DHJOBGDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -555,11 +555,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - GJOBDUTYNM: varchar({ length: 21 }), // Global Job Duty Name // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (GJOBDUTYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + GJOBDUTYNM: varchar({ length: 1000 }), // Global Job Duty Name // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (GJOBDUTYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -567,11 +567,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM = mdgSchema.table('EMPLOYE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - GJOBGRDNM: varchar({ length: 21 }), // Global Job Grade Name // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (GJOBGRDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + GJOBGRDNM: varchar({ length: 1000 }), // Global Job Grade Name // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (GJOBGRDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -579,11 +579,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ISEXECUT: varchar({ length: 10 }), // Executive Indicator // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - JOBGRDTYPE: varchar({ length: 10 }), // Job Grade Type // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + ISEXECUT: varchar({ length: 1000 }), // Executive Indicator // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + JOBGRDTYPE: varchar({ length: 1000 }), // Job Grade Type // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -591,11 +591,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE = mdgSchema.table('EMPLOY export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - GJOBNM: varchar({ length: 20 }), // Global Job Name // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (GJOBCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + GJOBNM: varchar({ length: 1000 }), // Global Job Name // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (GJOBCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -603,11 +603,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM = mdgSchema.table('EMPLOYEE_MA export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - GNNM: varchar({ length: 60 }), // General Name (GNCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (GNCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + GNNM: varchar({ length: 1000 }), // General Name (GNCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (GNCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -615,11 +615,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM = mdgSchema.table('EMPLOYEE_MAST export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - JOBDUTYNM: varchar({ length: 60 }), // Job Duty Name (JOBDUTYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (JOBDUTYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + JOBDUTYNM: varchar({ length: 1000 }), // Job Duty Name (JOBDUTYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (JOBDUTYCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -627,13 +627,13 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ISEXECUT: varchar({ length: 10 }), // Executive Indicator // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - JOBGRDNM: varchar({ length: 60 }), // Job Grade Name (JOBGRDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - JOBGRDTYPE: varchar({ length: 10 }), // Job Grade Type // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (JOBGRDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + ISEXECUT: varchar({ length: 1000 }), // Executive Indicator // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + JOBGRDNM: varchar({ length: 1000 }), // Job Grade Name (JOBGRDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + JOBGRDTYPE: varchar({ length: 1000 }), // Job Grade Type // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (JOBGRDCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -641,11 +641,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM = mdgSchema.table('EMPLOYEE_ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - JOBNM: varchar({ length: 60 }), // Job Name (JOBCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (JOBCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + JOBNM: varchar({ length: 1000 }), // Job Name (JOBCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (JOBCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -653,11 +653,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM = mdgSchema.table('EMPLOYEE_MAS export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - LTEXT: varchar({ length: 40 }), // Cost Center (KTL_EMP) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (KTL_EMP) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + LTEXT: varchar({ length: 1000 }), // Cost Center (KTL_EMP) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (KTL_EMP) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -665,11 +665,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM = mdgSchema.table('EMPLOYEE_MAS export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - LTEXT: varchar({ length: 40 }), // Cost Center (OKTL_EMPL) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (OKTL_EMPL) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + LTEXT: varchar({ length: 1000 }), // Cost Center (OKTL_EMPL) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (OKTL_EMPL) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -677,11 +677,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM = mdgSchema.table('EMPLOYEE_MA export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BINM: varchar({ length: 60 }), // Business Place Name (ORGBICD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (ORGBICD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + BINM: varchar({ length: 1000 }), // Business Place Name (ORGBICD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (ORGBICD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -689,11 +689,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - COMPNM: varchar({ length: 60 }), // Company Name (ORGCOMPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (ORGCOMPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + COMPNM: varchar({ length: 1000 }), // Company Name (ORGCOMPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (ORGCOMPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -701,11 +701,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CORPNM: varchar({ length: 60 }), // Corporate Name (ORGCORPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (ORGCORPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + CORPNM: varchar({ length: 1000 }), // Corporate Name (ORGCORPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (ORGCORPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -713,11 +713,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - DEPTNM: varchar({ length: 60 }), // Department Name (ORGDEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (ORGDEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + DEPTNM: varchar({ length: 1000 }), // Department Name (ORGDEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (ORGDEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -725,11 +725,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - DEPTNM: varchar({ length: 60 }), // Department Name (ORGPDEPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language Key (ORGPDEPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 + DEPTNM: varchar({ length: 1000 }), // Department Name (ORGPDEPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language Key (ORGPDEPCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -737,11 +737,11 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM = mdgSchema.table('EMPLOYEE export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM = mdgSchema.table('EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM', { // [fk] - EMPID: varchar({ length: 20 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 + EMPID: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_MASTER_CMCTB_EMP_MDG.EMPID), // 사원번호 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - DEPTNM: varchar({ length: 60 }), // Department Name (PDEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl - SPRAS: varchar({ length: 10 }), // Language Key (PDEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + DEPTNM: varchar({ length: 1000 }), // Department Name (PDEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }), // Language Key (PDEPTCD) // From: IF_MDZ_EVCP_EMPLOYEE_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -750,13 +750,13 @@ export const EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM = mdgSchema.table('EMPLOYEE_M // [root] export const EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF = mdgSchema.table('EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ADTL_01: varchar({ length: 10 }), // 추가필드1 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl - ADTL_02: varchar({ length: 10 }), // 추가필드2 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl - CORPCD: varchar({ length: 10 }).notNull(), // 법인코드 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl // WSDL에서 필수 필드 - GRPCD: varchar({ length: 10 }).notNull().unique(), // 그룹코드 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl // WSDL에서 필수 필드 - MAINCD: varchar({ length: 20 }).notNull(), // 메인코드 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl // WSDL에서 필수 필드 - VALIDFROMDT: varchar({ length: 10 }), // 시작유효일자 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl - VALIDTODT: varchar({ length: 10 }), // 종료유효일자 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl + ADTL_01: varchar({ length: 1000 }), // 추가필드1 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl + ADTL_02: varchar({ length: 1000 }), // 추가필드2 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl + CORPCD: varchar({ length: 1000 }).notNull(), // 법인코드 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl // WSDL에서 필수 필드 + GRPCD: varchar({ length: 1000 }).notNull().unique(), // 그룹코드 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl // WSDL에서 필수 필드 + MAINCD: varchar({ length: 1000 }).notNull(), // 메인코드 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl // WSDL에서 필수 필드 + VALIDFROMDT: varchar({ length: 1000 }), // 시작유효일자 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl + VALIDTODT: varchar({ length: 1000 }), // 종료유효일자 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -764,11 +764,11 @@ export const EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF = mdgSchema.table('E export const EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME = mdgSchema.table('EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME', { // [fk] - GRPCD: varchar({ length: 10 }).notNull().references(() => EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF.GRPCD), // 그룹코드 + GRPCD: varchar({ length: 1000 }).notNull().references(() => EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF.GRPCD), // 그룹코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - NAME: varchar({ length: 90 }), // 코드명 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // 언어구분 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl // WSDL에서 필수 필드 + NAME: varchar({ length: 1000 }), // 코드명 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // 언어구분 // From: IF_MDZ_EVCP_EMPLOYEE_REFERENCE_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -777,38 +777,38 @@ export const EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME = mdgSchema.tab // [root] export const EQUP_MASTER_MATL = mdgSchema.table('EQUP_MASTER_MATL', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BISMT: varchar({ length: 18 }), // Old material number // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - BRGEW: varchar({ length: 13 }), // Gross Weight // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - GEWEI: varchar({ length: 10 }), // Weight Unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - GROES: varchar({ length: 32 }), // Size/dimensions // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - LVORM: varchar({ length: 10 }), // Deletion flag // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MAGRV: varchar({ length: 10 }), // Material Group: Packaging Materials // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MATKL: varchar({ length: 10 }), // Material Group // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MATNR: varchar({ length: 18 }).notNull().unique(), // Material Number // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MBRSH: varchar({ length: 10 }), // Industry sector // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MEABM: varchar({ length: 10 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MEINS: varchar({ length: 10 }), // Base Unit of Measure // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MSTAE: varchar({ length: 10 }), // Material Status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MSTDE: varchar({ length: 10 }), // Date from which the cross-plant material status is // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MTART: varchar({ length: 10 }), // Material Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - NTGEW: varchar({ length: 16 }), // Net Weight // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - PRDHA: varchar({ length: 18 }), // Product hierarchy // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - SPART: varchar({ length: 10 }), // Division // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - VHART: varchar({ length: 10 }), // Packaging Material Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - VOLEH: varchar({ length: 10 }), // Volume unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZAPPDT: varchar({ length: 10 }), // Approval Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZAPPTM: varchar({ length: 10 }), // Approval Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZAPPUS: varchar({ length: 12 }), // Approval User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZDESC: varchar({ length: 255 }), // Description // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZLAMDT: varchar({ length: 10 }), // Last Modified Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZLAMTM: varchar({ length: 10 }), // Last Modified Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZLAMUS: varchar({ length: 12 }), // Last Modified User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZNAME: varchar({ length: 40 }), // Material Name // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZPRFLG: varchar({ length: 10 }), // CRUD Status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZREGDT: varchar({ length: 10 }), // Registered Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZREGTM: varchar({ length: 10 }), // Registered Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZREGUS: varchar({ length: 12 }), // Registered User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZSPEC: varchar({ length: 255 }), // Specification // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + BISMT: varchar({ length: 1000 }), // Old material number // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + BRGEW: varchar({ length: 1000 }), // Gross Weight // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + GEWEI: varchar({ length: 1000 }), // Weight Unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + GROES: varchar({ length: 1000 }), // Size/dimensions // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + LVORM: varchar({ length: 1000 }), // Deletion flag // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MAGRV: varchar({ length: 1000 }), // Material Group: Packaging Materials // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MATKL: varchar({ length: 1000 }), // Material Group // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MATNR: varchar({ length: 1000 }).notNull().unique(), // Material Number // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MBRSH: varchar({ length: 1000 }), // Industry sector // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MEABM: varchar({ length: 1000 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MEINS: varchar({ length: 1000 }), // Base Unit of Measure // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MSTAE: varchar({ length: 1000 }), // Material Status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MSTDE: varchar({ length: 1000 }), // Date from which the cross-plant material status is // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MTART: varchar({ length: 1000 }), // Material Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + NTGEW: varchar({ length: 1000 }), // Net Weight // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + PRDHA: varchar({ length: 1000 }), // Product hierarchy // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + SPART: varchar({ length: 1000 }), // Division // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + VHART: varchar({ length: 1000 }), // Packaging Material Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + VOLEH: varchar({ length: 1000 }), // Volume unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZAPPDT: varchar({ length: 1000 }), // Approval Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZAPPTM: varchar({ length: 1000 }), // Approval Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZAPPUS: varchar({ length: 1000 }), // Approval User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZDESC: varchar({ length: 1000 }), // Description // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZLAMDT: varchar({ length: 1000 }), // Last Modified Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZLAMTM: varchar({ length: 1000 }), // Last Modified Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZLAMUS: varchar({ length: 1000 }), // Last Modified User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZNAME: varchar({ length: 1000 }), // Material Name // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZPRFLG: varchar({ length: 1000 }), // CRUD Status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZREGDT: varchar({ length: 1000 }), // Registered Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZREGTM: varchar({ length: 1000 }), // Registered Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZREGUS: varchar({ length: 1000 }), // Registered User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZSPEC: varchar({ length: 1000 }), // Specification // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -816,19 +816,19 @@ export const EQUP_MASTER_MATL = mdgSchema.table('EQUP_MASTER_MATL', { export const EQUP_MASTER_MATL_CHARASGN = mdgSchema.table('EQUP_MASTER_MATL_CHARASGN', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ATAW1: varchar({ length: 10 }), // Unit of Measurement // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ATAWE: varchar({ length: 10 }), // Unit of Measurement // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ATBEZ: varchar({ length: 30 }), // 특성내역 // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ATFLB: varchar({ length: 16 }), // Internal floating point value to // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ATFLV: varchar({ length: 16 }), // Internal floating point from // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ATNAM: varchar({ length: 30 }), // Characteristic Name // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ATWRT: varchar({ length: 30 }), // Characteristic Value // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ATWTB: varchar({ length: 30 }), // 특성값내역 // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - CLASS: varchar({ length: 18 }), // Class number // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - KLART: varchar({ length: 10 }), // Class Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ATAW1: varchar({ length: 1000 }), // Unit of Measurement // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ATAWE: varchar({ length: 1000 }), // Unit of Measurement // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ATBEZ: varchar({ length: 1000 }), // 특성내역 // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ATFLB: varchar({ length: 1000 }), // Internal floating point value to // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ATFLV: varchar({ length: 1000 }), // Internal floating point from // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ATNAM: varchar({ length: 1000 }), // Characteristic Name // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ATWRT: varchar({ length: 1000 }), // Characteristic Value // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ATWTB: varchar({ length: 1000 }), // 특성값내역 // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + CLASS: varchar({ length: 1000 }), // Class number // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + KLART: varchar({ length: 1000 }), // Class Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -836,11 +836,11 @@ export const EQUP_MASTER_MATL_CHARASGN = mdgSchema.table('EQUP_MASTER_MATL_CHARA export const EQUP_MASTER_MATL_CLASSASGN = mdgSchema.table('EQUP_MASTER_MATL_CLASSASGN', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CLASS: varchar({ length: 18 }), // Class number // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - KLART: varchar({ length: 10 }), // Class Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + CLASS: varchar({ length: 1000 }), // Class number // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + KLART: varchar({ length: 1000 }), // Class Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -848,11 +848,11 @@ export const EQUP_MASTER_MATL_CLASSASGN = mdgSchema.table('EQUP_MASTER_MATL_CLAS export const EQUP_MASTER_MATL_DESC = mdgSchema.table('EQUP_MASTER_MATL_DESC', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - MAKTX: varchar({ length: 40 }), // Material Description (Short Text) // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - SPRAS: varchar({ length: 10 }), // Language // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MAKTX: varchar({ length: 1000 }), // Material Description (Short Text) // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + SPRAS: varchar({ length: 1000 }), // Language // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -860,21 +860,21 @@ export const EQUP_MASTER_MATL_DESC = mdgSchema.table('EQUP_MASTER_MATL_DESC', { export const EQUP_MASTER_MATL_PLNT = mdgSchema.table('EQUP_MASTER_MATL_PLNT', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - LVORM: varchar({ length: 10 }), // Deletion Flag // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MMSTA: varchar({ length: 10 }), // Plant-Specific Material Status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MMSTD: varchar({ length: 10 }), // Date from which the plant-specific material status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - WERKS: varchar({ length: 10 }), // Plant // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZLAMDT: varchar({ length: 10 }), // Last Modified Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZLAMTM: varchar({ length: 10 }), // Last Modified Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZLAMUS: varchar({ length: 12 }), // Last Modified User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZMTARP: varchar({ length: 10 }), // Plant Material Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZPRFLG: varchar({ length: 10 }), // CRUD Status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZREGDT: varchar({ length: 10 }), // Registered Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZREGTM: varchar({ length: 10 }), // Registered Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - ZZREGUS: varchar({ length: 12 }), // Registered User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + LVORM: varchar({ length: 1000 }), // Deletion Flag // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MMSTA: varchar({ length: 1000 }), // Plant-Specific Material Status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MMSTD: varchar({ length: 1000 }), // Date from which the plant-specific material status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + WERKS: varchar({ length: 1000 }), // Plant // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZLAMDT: varchar({ length: 1000 }), // Last Modified Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZLAMTM: varchar({ length: 1000 }), // Last Modified Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZLAMUS: varchar({ length: 1000 }), // Last Modified User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZMTARP: varchar({ length: 1000 }), // Plant Material Type // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZPRFLG: varchar({ length: 1000 }), // CRUD Status // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZREGDT: varchar({ length: 1000 }), // Registered Date // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZREGTM: varchar({ length: 1000 }), // Registered Time // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + ZZREGUS: varchar({ length: 1000 }), // Registered User // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -882,15 +882,15 @@ export const EQUP_MASTER_MATL_PLNT = mdgSchema.table('EQUP_MASTER_MATL_PLNT', { export const EQUP_MASTER_MATL_UNIT = mdgSchema.table('EQUP_MASTER_MATL_UNIT', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => EQUP_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - GEWEI: varchar({ length: 10 }), // Weight Unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MEABM: varchar({ length: 10 }), // Unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - MEINH: varchar({ length: 10 }), // AlternativeUnit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - UMREN: varchar({ length: 10 }), // Denominator // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - UMREZ: varchar({ length: 10 }), // Numerator // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl - VOLEH: varchar({ length: 10 }), // Volume Unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + GEWEI: varchar({ length: 1000 }), // Weight Unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MEABM: varchar({ length: 1000 }), // Unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + MEINH: varchar({ length: 1000 }), // AlternativeUnit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + UMREN: varchar({ length: 1000 }), // Denominator // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + UMREZ: varchar({ length: 1000 }), // Numerator // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl + VOLEH: varchar({ length: 1000 }), // Volume Unit // From: IF_MDZ_EVCP_EQUP_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -899,52 +899,52 @@ export const EQUP_MASTER_MATL_UNIT = mdgSchema.table('EQUP_MASTER_MATL_UNIT', { // [root] export const MATERIAL_MASTER_PART_MATL = mdgSchema.table('MATERIAL_MASTER_PART_MATL', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BISMT: varchar({ length: 18 }), // Old material number // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - BRGEW: varchar({ length: 13 }), // Gross Weight // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - GEWEI: varchar({ length: 10 }), // Weight Unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - GROES: varchar({ length: 32 }), // Size/dimensions // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - LVORM: varchar({ length: 10 }), // Deletion flag // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MAGRV: varchar({ length: 10 }), // Material Group: Packaging Materials // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MATKL: varchar({ length: 10 }), // Material Group // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MATNR: varchar({ length: 18 }).notNull().unique(), // Material Number // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 - MBRSH: varchar({ length: 10 }), // Industry sector // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MEABM: varchar({ length: 10 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MEINS: varchar({ length: 10 }), // Base Unit of Measure // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MSTAE: varchar({ length: 10 }), // Material Status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MSTDE: varchar({ length: 10 }), // Date from which the cross-plant material status is // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MTART: varchar({ length: 10 }), // Material Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - NTGEW: varchar({ length: 16 }), // Net Weight // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - PRDHA: varchar({ length: 18 }), // Product hierarchy // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - SPART: varchar({ length: 10 }), // Division // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - VHART: varchar({ length: 10 }), // Packaging Material Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - VOLEH: varchar({ length: 10 }), // Volume unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZACT: varchar({ length: 18 }), // Activity Code // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZAPPDT: varchar({ length: 10 }), // Approval Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZAPPTM: varchar({ length: 10 }), // Approval Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZAPPUS: varchar({ length: 12 }), // Approval User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZCERT: varchar({ length: 10 }), // Certification Code // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZDESC: varchar({ length: 255 }), // Description // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZINSP: varchar({ length: 10 }), // Inspection // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZLAMDT: varchar({ length: 10 }), // Last Modified Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZLAMTM: varchar({ length: 10 }), // Last Modified Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZLAMUS: varchar({ length: 12 }), // Last Modified User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZMMTYP: varchar({ length: 10 }), // Material Master Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZMRC: varchar({ length: 10 }), // MRC // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZNAME: varchar({ length: 40 }), // Material Name // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZPJT: varchar({ length: 24 }), // Project Code // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZPLMID: varchar({ length: 50 }), // PLM ID // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZPRCD_SCV_CTLP: varchar({ length: 10 }), // 선행후행조정관 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZPRFLG: varchar({ length: 12 }), // CRUD Status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREGDT: varchar({ length: 10 }), // Registered Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREGTM: varchar({ length: 10 }), // Registered Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREGUS: varchar({ length: 12 }), // Registered User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREPMAT: varchar({ length: 18 }), // REP Material // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREP_DIA: varchar({ length: 10 }), // 대표지름 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREP_DIA_UOM: varchar({ length: 10 }), // 대표지름단위 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREP_ITM_MATL: varchar({ length: 60 }), // 대표품명재질 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZSMID: varchar({ length: 18 }), // SM ID // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZSPEC: varchar({ length: 255 }), // Specification // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZSTL: varchar({ length: 50 }), // Steel Material // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + BISMT: varchar({ length: 1000 }), // Old material number // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + BRGEW: varchar({ length: 1000 }), // Gross Weight // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + GEWEI: varchar({ length: 1000 }), // Weight Unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + GROES: varchar({ length: 1000 }), // Size/dimensions // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + LVORM: varchar({ length: 1000 }), // Deletion flag // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MAGRV: varchar({ length: 1000 }), // Material Group: Packaging Materials // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MATKL: varchar({ length: 1000 }), // Material Group // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MATNR: varchar({ length: 1000 }).notNull().unique(), // Material Number // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + MBRSH: varchar({ length: 1000 }), // Industry sector // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MEABM: varchar({ length: 1000 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MEINS: varchar({ length: 1000 }), // Base Unit of Measure // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MSTAE: varchar({ length: 1000 }), // Material Status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MSTDE: varchar({ length: 1000 }), // Date from which the cross-plant material status is // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MTART: varchar({ length: 1000 }), // Material Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + NTGEW: varchar({ length: 1000 }), // Net Weight // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + PRDHA: varchar({ length: 1000 }), // Product hierarchy // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + SPART: varchar({ length: 1000 }), // Division // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + VHART: varchar({ length: 1000 }), // Packaging Material Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + VOLEH: varchar({ length: 1000 }), // Volume unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZACT: varchar({ length: 1000 }), // Activity Code // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZAPPDT: varchar({ length: 1000 }), // Approval Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZAPPTM: varchar({ length: 1000 }), // Approval Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZAPPUS: varchar({ length: 1000 }), // Approval User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZCERT: varchar({ length: 1000 }), // Certification Code // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZDESC: varchar({ length: 1000 }), // Description // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZINSP: varchar({ length: 1000 }), // Inspection // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZLAMDT: varchar({ length: 1000 }), // Last Modified Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZLAMTM: varchar({ length: 1000 }), // Last Modified Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZLAMUS: varchar({ length: 1000 }), // Last Modified User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZMMTYP: varchar({ length: 1000 }), // Material Master Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZMRC: varchar({ length: 1000 }), // MRC // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZNAME: varchar({ length: 1000 }), // Material Name // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZPJT: varchar({ length: 1000 }), // Project Code // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZPLMID: varchar({ length: 1000 }), // PLM ID // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZPRCD_SCV_CTLP: varchar({ length: 1000 }), // 선행후행조정관 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZPRFLG: varchar({ length: 1000 }), // CRUD Status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREGDT: varchar({ length: 1000 }), // Registered Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREGTM: varchar({ length: 1000 }), // Registered Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREGUS: varchar({ length: 1000 }), // Registered User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREPMAT: varchar({ length: 1000 }), // REP Material // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREP_DIA: varchar({ length: 1000 }), // 대표지름 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREP_DIA_UOM: varchar({ length: 1000 }), // 대표지름단위 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREP_ITM_MATL: varchar({ length: 1000 }), // 대표품명재질 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZSMID: varchar({ length: 1000 }), // SM ID // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZSPEC: varchar({ length: 1000 }), // Specification // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZSTL: varchar({ length: 1000 }), // Steel Material // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -952,19 +952,19 @@ export const MATERIAL_MASTER_PART_MATL = mdgSchema.table('MATERIAL_MASTER_PART_M export const MATERIAL_MASTER_PART_MATL_CHARASGN = mdgSchema.table('MATERIAL_MASTER_PART_MATL_CHARASGN', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ATAW1: varchar({ length: 10 }), // Unit of Measurement // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ATAWE: varchar({ length: 10 }), // Unit of Measurement // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ATBEZ: varchar({ length: 30 }), // 특성내역 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ATFLB: varchar({ length: 16 }), // Internal floating point value to // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ATFLV: varchar({ length: 16 }), // Internal floating point from // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ATNAM: varchar({ length: 30 }).notNull(), // Characteristic Name // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 - ATWRT: varchar({ length: 30 }), // Characteristic Value // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ATWTB: varchar({ length: 30 }), // 특성값내역 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - CLASS: varchar({ length: 18 }).notNull(), // Class number // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 - KLART: varchar({ length: 10 }).notNull(), // Class Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + ATAW1: varchar({ length: 1000 }), // Unit of Measurement // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ATAWE: varchar({ length: 1000 }), // Unit of Measurement // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ATBEZ: varchar({ length: 1000 }), // 특성내역 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ATFLB: varchar({ length: 1000 }), // Internal floating point value to // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ATFLV: varchar({ length: 1000 }), // Internal floating point from // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ATNAM: varchar({ length: 1000 }).notNull(), // Characteristic Name // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + ATWRT: varchar({ length: 1000 }), // Characteristic Value // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ATWTB: varchar({ length: 1000 }), // 특성값내역 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + CLASS: varchar({ length: 1000 }).notNull(), // Class number // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + KLART: varchar({ length: 1000 }).notNull(), // Class Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -972,11 +972,11 @@ export const MATERIAL_MASTER_PART_MATL_CHARASGN = mdgSchema.table('MATERIAL_MAST export const MATERIAL_MASTER_PART_MATL_CLASSASGN = mdgSchema.table('MATERIAL_MASTER_PART_MATL_CLASSASGN', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CLASS: varchar({ length: 18 }).notNull(), // Class number // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 - KLART: varchar({ length: 10 }).notNull(), // Class Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + CLASS: varchar({ length: 1000 }).notNull(), // Class number // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + KLART: varchar({ length: 1000 }).notNull(), // Class Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -984,11 +984,11 @@ export const MATERIAL_MASTER_PART_MATL_CLASSASGN = mdgSchema.table('MATERIAL_MAS export const MATERIAL_MASTER_PART_MATL_DESC = mdgSchema.table('MATERIAL_MASTER_PART_MATL_DESC', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - MAKTX: varchar({ length: 40 }), // Material Description (Short Text) // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - SPRAS: varchar({ length: 10 }).notNull(), // Language // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + MAKTX: varchar({ length: 1000 }), // Material Description (Short Text) // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + SPRAS: varchar({ length: 1000 }).notNull(), // Language // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -996,21 +996,21 @@ export const MATERIAL_MASTER_PART_MATL_DESC = mdgSchema.table('MATERIAL_MASTER_P export const MATERIAL_MASTER_PART_MATL_PLNT = mdgSchema.table('MATERIAL_MASTER_PART_MATL_PLNT', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - LVORM: varchar({ length: 10 }), // Deletion Flag // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MMSTA: varchar({ length: 10 }), // Plant-Specific Material Status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MMSTD: varchar({ length: 10 }), // Date from which the plant-specific material status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - WERKS: varchar({ length: 10 }).notNull(), // Plant // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 - ZZLAMDT: varchar({ length: 10 }), // Last Modified Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZLAMTM: varchar({ length: 10 }), // Last Modified Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZLAMUS: varchar({ length: 12 }), // Last Modified User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZMTARP: varchar({ length: 10 }), // Plant Material Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZPRFLG: varchar({ length: 10 }), // CRUD Status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREGDT: varchar({ length: 10 }), // Registered Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREGTM: varchar({ length: 10 }), // Registered Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - ZZREGUS: varchar({ length: 12 }), // Registered User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + LVORM: varchar({ length: 1000 }), // Deletion Flag // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MMSTA: varchar({ length: 1000 }), // Plant-Specific Material Status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MMSTD: varchar({ length: 1000 }), // Date from which the plant-specific material status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + WERKS: varchar({ length: 1000 }).notNull(), // Plant // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + ZZLAMDT: varchar({ length: 1000 }), // Last Modified Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZLAMTM: varchar({ length: 1000 }), // Last Modified Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZLAMUS: varchar({ length: 1000 }), // Last Modified User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZMTARP: varchar({ length: 1000 }), // Plant Material Type // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZPRFLG: varchar({ length: 1000 }), // CRUD Status // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREGDT: varchar({ length: 1000 }), // Registered Date // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREGTM: varchar({ length: 1000 }), // Registered Time // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + ZZREGUS: varchar({ length: 1000 }), // Registered User // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1018,20 +1018,20 @@ export const MATERIAL_MASTER_PART_MATL_PLNT = mdgSchema.table('MATERIAL_MASTER_P export const MATERIAL_MASTER_PART_MATL_UNIT = mdgSchema.table('MATERIAL_MASTER_PART_MATL_UNIT', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MATERIAL_MASTER_PART_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BREIT: varchar({ length: 13 }), // Width // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - BRGEW: varchar({ length: 13 }), // Gross Weight // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - GEWEI: varchar({ length: 10 }), // Weight Unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - HOEHE: varchar({ length: 13 }), // Height // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - LAENG: varchar({ length: 13 }), // Length // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MEABM: varchar({ length: 10 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - MEINH: varchar({ length: 10 }).notNull(), // Alternative Unit of Measure for Stockkeeping Unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 - UMREN: varchar({ length: 10 }), // Denominator for conversion to base units of measur // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - UMREZ: varchar({ length: 10 }), // Numerator for Conversion to Base Units of Measure // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - VOLEH: varchar({ length: 10 }), // Volume unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl - VOLUM: varchar({ length: 13 }), // Volume // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + BREIT: varchar({ length: 1000 }), // Width // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + BRGEW: varchar({ length: 1000 }), // Gross Weight // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + GEWEI: varchar({ length: 1000 }), // Weight Unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + HOEHE: varchar({ length: 1000 }), // Height // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + LAENG: varchar({ length: 1000 }), // Length // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MEABM: varchar({ length: 1000 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + MEINH: varchar({ length: 1000 }).notNull(), // Alternative Unit of Measure for Stockkeeping Unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl // WSDL에서 필수 필드 + UMREN: varchar({ length: 1000 }), // Denominator for conversion to base units of measur // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + UMREZ: varchar({ length: 1000 }), // Numerator for Conversion to Base Units of Measure // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + VOLEH: varchar({ length: 1000 }), // Volume unit // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl + VOLUM: varchar({ length: 1000 }), // Volume // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1040,10 +1040,10 @@ export const MATERIAL_MASTER_PART_MATL_UNIT = mdgSchema.table('MATERIAL_MASTER_P // [root] export const MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE = mdgSchema.table('MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - IF_MSG: varchar({ length: 100 }), // IF 메시지 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN.wsdl - IF_STAT: varchar({ length: 10 }), // IF 상태 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN.wsdl - MAT_CD: varchar({ length: 18 }).notNull().unique(), // 자재코드 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN.wsdl // WSDL에서 필수 필드 - MAT_ID: varchar({ length: 50 }), // PLM 채번 자재코드 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN.wsdl + IF_MSG: varchar({ length: 1000 }), // IF 메시지 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN.wsdl + IF_STAT: varchar({ length: 1000 }), // IF 상태 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN.wsdl + MAT_CD: varchar({ length: 1000 }).notNull().unique(), // 자재코드 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN.wsdl // WSDL에서 필수 필드 + MAT_ID: varchar({ length: 1000 }), // PLM 채번 자재코드 // From: IF_MDZ_EVCP_MATERIAL_MASTER_PART_RETURN.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1052,43 +1052,43 @@ export const MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE = mdgSchema.table('MATERI // [root] export const MODEL_MASTER_MATL = mdgSchema.table('MODEL_MASTER_MATL', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BISMT: varchar({ length: 18 }), // Old material number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - BRGEW: varchar({ length: 13 }), // Gross Weight // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - GEWEI: varchar({ length: 10 }), // Weight Unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - GROES: varchar({ length: 32 }), // Size/dimensions // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - LVORM: varchar({ length: 10 }), // Deletion flag // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MAGRV: varchar({ length: 10 }), // Material Group: Packaging Materials // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MATKL: varchar({ length: 10 }), // Material Group // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MATNR: varchar({ length: 18 }).notNull().unique(), // Material Number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MBRSH: varchar({ length: 10 }), // Industry sector // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MEABM: varchar({ length: 10 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MEINS: varchar({ length: 10 }), // Base Unit of Measure // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MSTAE: varchar({ length: 10 }), // Material Status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MSTDE: varchar({ length: 10 }), // Date from which the cross-plant material status is // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MTART: varchar({ length: 10 }), // Material Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - NTGEW: varchar({ length: 16 }), // Net Weight // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - PRDHA: varchar({ length: 18 }), // Product hierarchy // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - SPART: varchar({ length: 10 }), // Division // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - VHART: varchar({ length: 10 }), // Packaging Material Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - VOLEH: varchar({ length: 10 }), // Volume unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZAPPDT: varchar({ length: 10 }), // Approval Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZAPPTM: varchar({ length: 10 }), // Approval Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZAPPUS: varchar({ length: 12 }), // Approval User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZDESC: varchar({ length: 255 }), // Description // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZDOKAR: varchar({ length: 10 }), // Document Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZDOKNR: varchar({ length: 25 }), // Document number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZDOKTL: varchar({ length: 10 }), // Document Part // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZDOKVR: varchar({ length: 10 }), // Document Version // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZLAMDT: varchar({ length: 10 }), // Last Modified Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZLAMTM: varchar({ length: 10 }), // Last Modified Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZLAMUS: varchar({ length: 12 }), // Last Modified User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZMMTYP: varchar({ length: 10 }), // Material Master Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZNAME: varchar({ length: 40 }), // Material Name // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZPRFLG: varchar({ length: 10 }), // CRUD Status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZREGDT: varchar({ length: 10 }), // Registered Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZREGTM: varchar({ length: 10 }), // Registered Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZREGUS: varchar({ length: 12 }), // Registered User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZSPEC: varchar({ length: 255 }), // Specification // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + BISMT: varchar({ length: 1000 }), // Old material number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + BRGEW: varchar({ length: 1000 }), // Gross Weight // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + GEWEI: varchar({ length: 1000 }), // Weight Unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + GROES: varchar({ length: 1000 }), // Size/dimensions // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + LVORM: varchar({ length: 1000 }), // Deletion flag // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MAGRV: varchar({ length: 1000 }), // Material Group: Packaging Materials // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MATKL: varchar({ length: 1000 }), // Material Group // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MATNR: varchar({ length: 1000 }).notNull().unique(), // Material Number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MBRSH: varchar({ length: 1000 }), // Industry sector // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MEABM: varchar({ length: 1000 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MEINS: varchar({ length: 1000 }), // Base Unit of Measure // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MSTAE: varchar({ length: 1000 }), // Material Status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MSTDE: varchar({ length: 1000 }), // Date from which the cross-plant material status is // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MTART: varchar({ length: 1000 }), // Material Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + NTGEW: varchar({ length: 1000 }), // Net Weight // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + PRDHA: varchar({ length: 1000 }), // Product hierarchy // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + SPART: varchar({ length: 1000 }), // Division // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + VHART: varchar({ length: 1000 }), // Packaging Material Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + VOLEH: varchar({ length: 1000 }), // Volume unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZAPPDT: varchar({ length: 1000 }), // Approval Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZAPPTM: varchar({ length: 1000 }), // Approval Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZAPPUS: varchar({ length: 1000 }), // Approval User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZDESC: varchar({ length: 1000 }), // Description // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZDOKAR: varchar({ length: 1000 }), // Document Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZDOKNR: varchar({ length: 1000 }), // Document number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZDOKTL: varchar({ length: 1000 }), // Document Part // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZDOKVR: varchar({ length: 1000 }), // Document Version // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZLAMDT: varchar({ length: 1000 }), // Last Modified Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZLAMTM: varchar({ length: 1000 }), // Last Modified Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZLAMUS: varchar({ length: 1000 }), // Last Modified User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZMMTYP: varchar({ length: 1000 }), // Material Master Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZNAME: varchar({ length: 1000 }), // Material Name // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZPRFLG: varchar({ length: 1000 }), // CRUD Status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZREGDT: varchar({ length: 1000 }), // Registered Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZREGTM: varchar({ length: 1000 }), // Registered Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZREGUS: varchar({ length: 1000 }), // Registered User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZSPEC: varchar({ length: 1000 }), // Specification // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1096,19 +1096,19 @@ export const MODEL_MASTER_MATL = mdgSchema.table('MODEL_MASTER_MATL', { export const MODEL_MASTER_MATL_CHARASGN = mdgSchema.table('MODEL_MASTER_MATL_CHARASGN', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ATAW1: varchar({ length: 10 }), // Unit of Measurement // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ATAWE: varchar({ length: 10 }), // Unit of Measurement // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ATBEZ: varchar({ length: 30 }), // 특성내역 // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ATFLB: varchar({ length: 16 }), // Internal floating point value to // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ATFLV: varchar({ length: 16 }), // Internal floating point from // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ATNAM: varchar({ length: 30 }), // Characteristic Name // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ATWRT: varchar({ length: 30 }), // Characteristic Value // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ATWTB: varchar({ length: 30 }), // 특성값내역 // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - CLASS: varchar({ length: 18 }), // Class number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - KLART: varchar({ length: 10 }), // Class Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ATAW1: varchar({ length: 1000 }), // Unit of Measurement // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ATAWE: varchar({ length: 1000 }), // Unit of Measurement // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ATBEZ: varchar({ length: 1000 }), // 특성내역 // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ATFLB: varchar({ length: 1000 }), // Internal floating point value to // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ATFLV: varchar({ length: 1000 }), // Internal floating point from // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ATNAM: varchar({ length: 1000 }), // Characteristic Name // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ATWRT: varchar({ length: 1000 }), // Characteristic Value // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ATWTB: varchar({ length: 1000 }), // 특성값내역 // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + CLASS: varchar({ length: 1000 }), // Class number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + KLART: varchar({ length: 1000 }), // Class Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1116,11 +1116,11 @@ export const MODEL_MASTER_MATL_CHARASGN = mdgSchema.table('MODEL_MASTER_MATL_CHA export const MODEL_MASTER_MATL_CLASSASGN = mdgSchema.table('MODEL_MASTER_MATL_CLASSASGN', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CLASS: varchar({ length: 18 }), // Class number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - KLART: varchar({ length: 10 }), // Class Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + CLASS: varchar({ length: 1000 }), // Class number // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + KLART: varchar({ length: 1000 }), // Class Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1128,11 +1128,11 @@ export const MODEL_MASTER_MATL_CLASSASGN = mdgSchema.table('MODEL_MASTER_MATL_CL export const MODEL_MASTER_MATL_DESC = mdgSchema.table('MODEL_MASTER_MATL_DESC', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - MAKTX: varchar({ length: 40 }), // Material Description (Short Text) // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - SPRAS: varchar({ length: 10 }), // Language // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MAKTX: varchar({ length: 1000 }), // Material Description (Short Text) // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + SPRAS: varchar({ length: 1000 }), // Language // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1140,21 +1140,21 @@ export const MODEL_MASTER_MATL_DESC = mdgSchema.table('MODEL_MASTER_MATL_DESC', export const MODEL_MASTER_MATL_PLNT = mdgSchema.table('MODEL_MASTER_MATL_PLNT', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - LVORM: varchar({ length: 10 }), // Deletion Flag // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MMSTA: varchar({ length: 10 }), // Plant-Specific Material Status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MMSTD: varchar({ length: 10 }), // Date from which the plant-specific material status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - WERKS: varchar({ length: 10 }), // Plant // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZLAMDT: varchar({ length: 10 }), // Last Modified Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZLAMTM: varchar({ length: 10 }), // Last Modified Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZLAMUS: varchar({ length: 12 }), // Last Modified User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZMTARP: varchar({ length: 10 }), // Plant Material Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZPRFLG: varchar({ length: 10 }), // CRUD Status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZREGDT: varchar({ length: 10 }), // Registered Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZREGTM: varchar({ length: 10 }), // Registered Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - ZZREGUS: varchar({ length: 12 }), // Registered User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + LVORM: varchar({ length: 1000 }), // Deletion Flag // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MMSTA: varchar({ length: 1000 }), // Plant-Specific Material Status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MMSTD: varchar({ length: 1000 }), // Date from which the plant-specific material status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + WERKS: varchar({ length: 1000 }), // Plant // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZLAMDT: varchar({ length: 1000 }), // Last Modified Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZLAMTM: varchar({ length: 1000 }), // Last Modified Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZLAMUS: varchar({ length: 1000 }), // Last Modified User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZMTARP: varchar({ length: 1000 }), // Plant Material Type // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZPRFLG: varchar({ length: 1000 }), // CRUD Status // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZREGDT: varchar({ length: 1000 }), // Registered Date // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZREGTM: varchar({ length: 1000 }), // Registered Time // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + ZZREGUS: varchar({ length: 1000 }), // Registered User // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1162,20 +1162,20 @@ export const MODEL_MASTER_MATL_PLNT = mdgSchema.table('MODEL_MASTER_MATL_PLNT', export const MODEL_MASTER_MATL_UNIT = mdgSchema.table('MODEL_MASTER_MATL_UNIT', { // [fk] - MATNR: varchar({ length: 18 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number + MATNR: varchar({ length: 1000 }).notNull().references(() => MODEL_MASTER_MATL.MATNR), // Material Number id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BREIT: varchar({ length: 13 }), // Width // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - BRGEW: varchar({ length: 13 }), // Gross Weight // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - GEWEI: varchar({ length: 10 }), // Weight Unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - HOEHE: varchar({ length: 13 }), // Height // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - LAENG: varchar({ length: 13 }), // Length // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MEABM: varchar({ length: 10 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - MEINH: varchar({ length: 10 }), // Alternative Unit of Measure for Stockkeeping Unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - UMREN: varchar({ length: 10 }), // Denominator for conversion to base units of measur // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - UMREZ: varchar({ length: 10 }), // Numerator for Conversion to Base Units of Measure // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - VOLEH: varchar({ length: 10 }), // Volume unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl - VOLUM: varchar({ length: 13 }), // Volume // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + BREIT: varchar({ length: 1000 }), // Width // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + BRGEW: varchar({ length: 1000 }), // Gross Weight // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + GEWEI: varchar({ length: 1000 }), // Weight Unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + HOEHE: varchar({ length: 1000 }), // Height // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + LAENG: varchar({ length: 1000 }), // Length // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MEABM: varchar({ length: 1000 }), // Unit of Dimension for Length/Width/Height // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + MEINH: varchar({ length: 1000 }), // Alternative Unit of Measure for Stockkeeping Unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + UMREN: varchar({ length: 1000 }), // Denominator for conversion to base units of measur // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + UMREZ: varchar({ length: 1000 }), // Numerator for Conversion to Base Units of Measure // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + VOLEH: varchar({ length: 1000 }), // Volume unit // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl + VOLUM: varchar({ length: 1000 }), // Volume // From: IF_MDZ_EVCP_MODEL_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1184,57 +1184,57 @@ export const MODEL_MASTER_MATL_UNIT = mdgSchema.table('MODEL_MASTER_MATL_UNIT', // [root] export const ORGANIZATION_MASTER_HRHMTB_CCTR = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_CCTR', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ABTEI: varchar({ length: 12 }), // Department // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ANRED: varchar({ length: 15 }), // Title // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - BKZER: varchar({ length: 10 }), // Actual Revenue // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - BKZKP: varchar({ length: 10 }), // Actual Primary Costs // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - BKZKS: varchar({ length: 10 }), // Actual Secondary Costs // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - BKZOB: varchar({ length: 10 }), // Commitment Update // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - BUKRS: varchar({ length: 10 }), // Company Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - CCTR: varchar({ length: 10 }).notNull().unique(), // Cost Center // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - DATAB: varchar({ length: 10 }), // Valid from // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - DATBI: varchar({ length: 10 }).notNull(), // Valid to // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - DATLT: varchar({ length: 14 }), // Data communication line no. // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - DRNAM: varchar({ length: 10 }), // Printer destination for CCtr report // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - FUNC_AREA: varchar({ length: 16 }), // Functional Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - GSBER: varchar({ length: 10 }), // Business Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - KHINR: varchar({ length: 12 }), // Standard Hierarchy Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - KOKRS: varchar({ length: 10 }).notNull(), // Controlling Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - KOSAR: varchar({ length: 10 }), // Cost Center Category // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - LAND1: varchar({ length: 10 }), // Country Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - MGEFL: varchar({ length: 10 }), // Record Quantity // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - NAME1: varchar({ length: 70 }), // Name 1 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - NAME2: varchar({ length: 70 }), // Name 2 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - NAME3: varchar({ length: 70 }), // Name 3 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - NAME4: varchar({ length: 70 }), // Name 4 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ORT01: varchar({ length: 35 }), // City // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ORT02: varchar({ length: 35 }), // District // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - PFACH: varchar({ length: 10 }), // PO Box // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - PKZER: varchar({ length: 10 }), // Plan Revenues // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - PKZKP: varchar({ length: 10 }), // Plan Primary Costs // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - PKZKS: varchar({ length: 10 }), // Plan Secondary Costs // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - PRCTR: varchar({ length: 10 }), // Profit Center // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - PSTL2: varchar({ length: 10 }), // P.O. Box Postal Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - PSTLZ: varchar({ length: 10 }), // Postal Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - REGIO: varchar({ length: 10 }), // Region (State, Province, County) // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - SPRAS: varchar({ length: 10 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - STRAS: varchar({ length: 35 }), // House number and street // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - TELBX: varchar({ length: 15 }), // Telebox number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - TELF1: varchar({ length: 16 }), // First telephone number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - TELF2: varchar({ length: 16 }), // Second telephone number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - TELFX: varchar({ length: 31 }), // Fax Number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - TELTX: varchar({ length: 30 }), // Teletex number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - TELX1: varchar({ length: 30 }), // Telex number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - TXJCD: varchar({ length: 15 }), // Tax Jurisdiction // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - VERAK: varchar({ length: 60 }), // Person Responsible // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - VERAK_USE: varchar({ length: 12 }), // User Responsible // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - VMETH: varchar({ length: 10 }), // Allowed Allocation methods // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - WAERS: varchar({ length: 10 }), // Currency // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZBRANCH: varchar({ length: 10 }), // Business Place // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZDELETE: varchar({ length: 10 }), // Delete Flag // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZFCTRI: varchar({ length: 10 }), // Create Fund Center Indicator // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZSECCODE: varchar({ length: 10 }), // Section Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZSEGMENT: varchar({ length: 10 }), // Segment for Segmental Reporting // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ABTEI: varchar({ length: 1000 }), // Department // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ANRED: varchar({ length: 1000 }), // Title // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + BKZER: varchar({ length: 1000 }), // Actual Revenue // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + BKZKP: varchar({ length: 1000 }), // Actual Primary Costs // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + BKZKS: varchar({ length: 1000 }), // Actual Secondary Costs // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + BKZOB: varchar({ length: 1000 }), // Commitment Update // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + BUKRS: varchar({ length: 1000 }), // Company Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + CCTR: varchar({ length: 1000 }).notNull().unique(), // Cost Center // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + DATAB: varchar({ length: 1000 }), // Valid from // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + DATBI: varchar({ length: 1000 }).notNull(), // Valid to // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + DATLT: varchar({ length: 1000 }), // Data communication line no. // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + DRNAM: varchar({ length: 1000 }), // Printer destination for CCtr report // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + FUNC_AREA: varchar({ length: 1000 }), // Functional Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + GSBER: varchar({ length: 1000 }), // Business Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + KHINR: varchar({ length: 1000 }), // Standard Hierarchy Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + KOKRS: varchar({ length: 1000 }).notNull(), // Controlling Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + KOSAR: varchar({ length: 1000 }), // Cost Center Category // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + LAND1: varchar({ length: 1000 }), // Country Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + MGEFL: varchar({ length: 1000 }), // Record Quantity // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + NAME1: varchar({ length: 1000 }), // Name 1 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + NAME2: varchar({ length: 1000 }), // Name 2 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + NAME3: varchar({ length: 1000 }), // Name 3 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + NAME4: varchar({ length: 1000 }), // Name 4 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ORT01: varchar({ length: 1000 }), // City // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ORT02: varchar({ length: 1000 }), // District // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + PFACH: varchar({ length: 1000 }), // PO Box // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + PKZER: varchar({ length: 1000 }), // Plan Revenues // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + PKZKP: varchar({ length: 1000 }), // Plan Primary Costs // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + PKZKS: varchar({ length: 1000 }), // Plan Secondary Costs // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + PRCTR: varchar({ length: 1000 }), // Profit Center // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + PSTL2: varchar({ length: 1000 }), // P.O. Box Postal Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + PSTLZ: varchar({ length: 1000 }), // Postal Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + REGIO: varchar({ length: 1000 }), // Region (State, Province, County) // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + SPRAS: varchar({ length: 1000 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + STRAS: varchar({ length: 1000 }), // House number and street // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + TELBX: varchar({ length: 1000 }), // Telebox number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + TELF1: varchar({ length: 1000 }), // First telephone number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + TELF2: varchar({ length: 1000 }), // Second telephone number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + TELFX: varchar({ length: 1000 }), // Fax Number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + TELTX: varchar({ length: 1000 }), // Teletex number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + TELX1: varchar({ length: 1000 }), // Telex number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + TXJCD: varchar({ length: 1000 }), // Tax Jurisdiction // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + VERAK: varchar({ length: 1000 }), // Person Responsible // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + VERAK_USE: varchar({ length: 1000 }), // User Responsible // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + VMETH: varchar({ length: 1000 }), // Allowed Allocation methods // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + WAERS: varchar({ length: 1000 }), // Currency // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZBRANCH: varchar({ length: 1000 }), // Business Place // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZDELETE: varchar({ length: 1000 }), // Delete Flag // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZFCTRI: varchar({ length: 1000 }), // Create Fund Center Indicator // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZSECCODE: varchar({ length: 1000 }), // Section Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZSEGMENT: varchar({ length: 1000 }), // Segment for Segmental Reporting // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1242,11 +1242,11 @@ export const ORGANIZATION_MASTER_HRHMTB_CCTR = mdgSchema.table('ORGANIZATION_MAS export const ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT', { // [fk] - CCTR: varchar({ length: 10 }).notNull().unique().references(() => ORGANIZATION_MASTER_HRHMTB_CCTR.CCTR), // Cost Center + CCTR: varchar({ length: 1000 }).notNull().unique().references(() => ORGANIZATION_MASTER_HRHMTB_CCTR.CCTR), // Cost Center id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - KTEXT: varchar({ length: 60 }), // General Name // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - LTEXT: varchar({ length: 120 }), // Description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + KTEXT: varchar({ length: 1000 }), // General Name // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + LTEXT: varchar({ length: 1000 }), // Description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1255,18 +1255,18 @@ export const ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT = mdgSchema.table('ORGANIZATIO // [root] export const ORGANIZATION_MASTER_HRHMTB_PCTR = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_PCTR', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ABTEI: varchar({ length: 12 }), // Department // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - DATAB: varchar({ length: 10 }), // Valid from // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - DATBI: varchar({ length: 10 }).notNull(), // Valid to // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - KHINR: varchar({ length: 12 }), // Profit center area(Profit center group) // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - KOKRS: varchar({ length: 10 }).notNull(), // Controlling Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - LOCK_IND: varchar({ length: 10 }), // Lock indicator // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - PCTR: varchar({ length: 10 }).notNull().unique(), // Profit Center // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - SEGMENT: varchar({ length: 10 }), // Segment // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - TXJCD: varchar({ length: 15 }), // Tax Jurisdiction // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - VERAK: varchar({ length: 20 }), // Person Responsible // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - VERAK_USE: varchar({ length: 12 }), // User Responsible // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZDELETE: varchar({ length: 10 }), // Delete Flag // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ABTEI: varchar({ length: 1000 }), // Department // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + DATAB: varchar({ length: 1000 }), // Valid from // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + DATBI: varchar({ length: 1000 }).notNull(), // Valid to // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + KHINR: varchar({ length: 1000 }), // Profit center area(Profit center group) // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + KOKRS: varchar({ length: 1000 }).notNull(), // Controlling Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + LOCK_IND: varchar({ length: 1000 }), // Lock indicator // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + PCTR: varchar({ length: 1000 }).notNull().unique(), // Profit Center // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + SEGMENT: varchar({ length: 1000 }), // Segment // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + TXJCD: varchar({ length: 1000 }), // Tax Jurisdiction // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + VERAK: varchar({ length: 1000 }), // Person Responsible // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + VERAK_USE: varchar({ length: 1000 }), // User Responsible // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZDELETE: varchar({ length: 1000 }), // Delete Flag // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1275,13 +1275,13 @@ export const ORGANIZATION_MASTER_HRHMTB_PCTR = mdgSchema.table('ORGANIZATION_MAS // [root] export const ORGANIZATION_MASTER_HRHMTB_ZBUKRS = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZBUKRS', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CURR_BUKR: varchar({ length: 10 }), // Currency // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZBUKRS: varchar({ length: 10 }).notNull().unique(), // Company Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZBUTXT: varchar({ length: 50 }), // Company Code Name // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZCITY: varchar({ length: 50 }), // City // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZCOUNTRY: varchar({ length: 10 }), // Country Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZLANGU: varchar({ length: 10 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + CURR_BUKR: varchar({ length: 1000 }), // Currency // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZBUKRS: varchar({ length: 1000 }).notNull().unique(), // Company Code // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZBUTXT: varchar({ length: 1000 }), // Company Code Name // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZCITY: varchar({ length: 1000 }), // City // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZCOUNTRY: varchar({ length: 1000 }), // Country Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZLANGU: varchar({ length: 1000 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1290,14 +1290,14 @@ export const ORGANIZATION_MASTER_HRHMTB_ZBUKRS = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZEKGRP = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZEKGRP', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ZEKGRP: varchar({ length: 10 }).notNull().unique(), // Purchasing Group // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZEKNAM: varchar({ length: 36 }), // Purchasing Group Description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZEKTEL: varchar({ length: 12 }), // Telephone Number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZEMPNUM: varchar({ length: 10 }), // Employee Number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZSINGLE: varchar({ length: 241 }), // Single ID // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZTELFX: varchar({ length: 31 }), // Fax Number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZTEL_NUM: varchar({ length: 30 }), // Telephone Number (Office) // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZEKGRP: varchar({ length: 1000 }).notNull().unique(), // Purchasing Group // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZEKNAM: varchar({ length: 1000 }), // Purchasing Group Description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZEKTEL: varchar({ length: 1000 }), // Telephone Number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZEMPNUM: varchar({ length: 1000 }), // Employee Number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZSINGLE: varchar({ length: 1000 }), // Single ID // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZTELFX: varchar({ length: 1000 }), // Fax Number // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZTEL_NUM: varchar({ length: 1000 }), // Telephone Number (Office) // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1306,9 +1306,9 @@ export const ORGANIZATION_MASTER_HRHMTB_ZEKGRP = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZEKORG = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZEKORG', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ZEKORG: varchar({ length: 10 }).notNull().unique(), // Purchasing Organization // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZEKOTX: varchar({ length: 40 }), // Purchasing Organization Description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZEKORG: varchar({ length: 1000 }).notNull().unique(), // Purchasing Organization // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZEKOTX: varchar({ length: 1000 }), // Purchasing Organization Description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1317,8 +1317,8 @@ export const ORGANIZATION_MASTER_HRHMTB_ZEKORG = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZGSBER = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZGSBER', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ZGSBER: varchar({ length: 10 }).notNull().unique(), // Business Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZGSBER: varchar({ length: 1000 }).notNull().unique(), // Business Area // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1326,11 +1326,11 @@ export const ORGANIZATION_MASTER_HRHMTB_ZGSBER = mdgSchema.table('ORGANIZATION_M export const ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT', { // [fk] - ZGSBER: varchar({ length: 10 }).notNull().unique().references(() => ORGANIZATION_MASTER_HRHMTB_ZGSBER.ZGSBER), // Business Area + ZGSBER: varchar({ length: 1000 }).notNull().unique().references(() => ORGANIZATION_MASTER_HRHMTB_ZGSBER.ZGSBER), // Business Area id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - LANGU: varchar({ length: 10 }).notNull(), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - TXTMI: varchar({ length: 60 }), // Business area description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + LANGU: varchar({ length: 1000 }).notNull(), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + TXTMI: varchar({ length: 1000 }), // Business area description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1339,10 +1339,10 @@ export const ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT = mdgSchema.table('ORGANIZAT // [root] export const ORGANIZATION_MASTER_HRHMTB_ZLGORT = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZLGORT', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ZLGORT: varchar({ length: 10 }).notNull().unique(), // Storage Location // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZWERKS: varchar({ length: 10 }).notNull(), // Plant // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZLGOBE: varchar({ length: 32 }), // Storage Location Description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZLGORT: varchar({ length: 1000 }).notNull().unique(), // Storage Location // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZWERKS: varchar({ length: 1000 }).notNull(), // Plant // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZLGOBE: varchar({ length: 1000 }), // Storage Location Description // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1351,8 +1351,8 @@ export const ORGANIZATION_MASTER_HRHMTB_ZLGORT = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZSPART = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZSPART', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ZSPART: varchar({ length: 10 }).notNull().unique(), // Division // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZSPART: varchar({ length: 1000 }).notNull().unique(), // Division // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1361,10 +1361,10 @@ export const ORGANIZATION_MASTER_HRHMTB_ZSPART = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZVKBUR = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZVKBUR', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CTRY_SOFF: varchar({ length: 10 }), // Country Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - LANG_SOFF: varchar({ length: 10 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZVKBUR: varchar({ length: 10 }).notNull().unique(), // Sales Office // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + CTRY_SOFF: varchar({ length: 1000 }), // Country Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + LANG_SOFF: varchar({ length: 1000 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZVKBUR: varchar({ length: 1000 }).notNull().unique(), // Sales Office // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1373,8 +1373,8 @@ export const ORGANIZATION_MASTER_HRHMTB_ZVKBUR = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZVKGRP = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZVKGRP', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ZVKGRP: varchar({ length: 10 }).notNull().unique(), // Sales Group // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZVKGRP: varchar({ length: 1000 }).notNull().unique(), // Sales Group // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1383,12 +1383,12 @@ export const ORGANIZATION_MASTER_HRHMTB_ZVKGRP = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZVKORG = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZVKORG', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ZVKORG: varchar({ length: 10 }).notNull().unique(), // Sales Organization // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZBOAVO: varchar({ length: 10 }), // Rebate processing active in the sales organization // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZKUNNR: varchar({ length: 10 }), // Customer number for intercompany billing // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZVKOKL: varchar({ length: 10 }), // Sales organization calendar // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZWAERS: varchar({ length: 10 }), // Statistics currency // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZVKORG: varchar({ length: 1000 }).notNull().unique(), // Sales Organization // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZBOAVO: varchar({ length: 1000 }), // Rebate processing active in the sales organization // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZKUNNR: varchar({ length: 1000 }), // Customer number for intercompany billing // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZVKOKL: varchar({ length: 1000 }), // Sales organization calendar // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZWAERS: varchar({ length: 1000 }), // Statistics currency // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1397,15 +1397,15 @@ export const ORGANIZATION_MASTER_HRHMTB_ZVKORG = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZVSTEL = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZVSTEL', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ALAN_VSTE: varchar({ length: 10 }), // Departure zone // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - AZON_VSTE: varchar({ length: 10 }), // Departure country // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - CTRY_SHPT: varchar({ length: 10 }), // Country Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - LANG_SHPT: varchar({ length: 10 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZVSTEL: varchar({ length: 10 }).notNull().unique(), // Shipping Point // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZFABKL: varchar({ length: 10 }), // Factory calendar key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZLAZBS: varchar({ length: 10 }), // Determine loading time // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZRIZBS: varchar({ length: 10 }), // Determine pick/pack time // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ALAN_VSTE: varchar({ length: 1000 }), // Departure zone // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + AZON_VSTE: varchar({ length: 1000 }), // Departure country // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + CTRY_SHPT: varchar({ length: 1000 }), // Country Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + LANG_SHPT: varchar({ length: 1000 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZVSTEL: varchar({ length: 1000 }).notNull().unique(), // Shipping Point // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZFABKL: varchar({ length: 1000 }), // Factory calendar key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZLAZBS: varchar({ length: 1000 }), // Determine loading time // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZRIZBS: varchar({ length: 1000 }), // Determine pick/pack time // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1414,8 +1414,8 @@ export const ORGANIZATION_MASTER_HRHMTB_ZVSTEL = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZVTWEG = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZVTWEG', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ZVTWEG: varchar({ length: 10 }).notNull().unique(), // Distribution Channel // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZVTWEG: varchar({ length: 1000 }).notNull().unique(), // Distribution Channel // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // WSDL에서 필수 필드 + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1424,14 +1424,14 @@ export const ORGANIZATION_MASTER_HRHMTB_ZVTWEG = mdgSchema.table('ORGANIZATION_M // [root] export const ORGANIZATION_MASTER_HRHMTB_ZWERKS = mdgSchema.table('ORGANIZATION_MASTER_HRHMTB_ZWERKS', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - CTRY_PLNT: varchar({ length: 10 }), // Country // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - LANG_PLNT: varchar({ length: 10 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + CTRY_PLNT: varchar({ length: 1000 }), // Country // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + LANG_PLNT: varchar({ length: 1000 }), // Language Key // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl // 인터페이스 정의서 정보 누락으로 의심되는 부분. 아래 ZWERKS 필드에 M 없음. - ZWERKS: varchar({ length: 10 }).notNull().unique(), // Plant // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZDELETE: varchar({ length: 10 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZFABKL: varchar({ length: 10 }), // Factory Calendar // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZNAME1: varchar({ length: 60 }), // Name // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl - ZZNAME2: varchar({ length: 60 }), // Name2 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZWERKS: varchar({ length: 1000 }).notNull().unique(), // Plant // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZDELETE: varchar({ length: 1000 }), // Flag for deletion // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZFABKL: varchar({ length: 1000 }), // Factory Calendar // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZNAME1: varchar({ length: 1000 }), // Name // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl + ZZNAME2: varchar({ length: 1000 }), // Name2 // From: IF_MDZ_EVCP_ORGANIZATION_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1440,84 +1440,84 @@ export const ORGANIZATION_MASTER_HRHMTB_ZWERKS = mdgSchema.table('ORGANIZATION_M // [root] export const PROJECT_MASTER_CMCTB_PROJ_MAST = mdgSchema.table('PROJECT_MASTER_CMCTB_PROJ_MAST', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - AS_GRNT_PRD: varchar({ length: 10 }), // A/S 보증기간 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - BIZCLS: varchar({ length: 10 }), // 사업부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - BIZLOC_CD: varchar({ length: 10 }), // 사업장코드 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - BIZ_DMN: varchar({ length: 10 }), // 사업영역 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - BP_DL_DT: varchar({ length: 10 }), // 선표인도일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CHN_PROJ_TP: varchar({ length: 10 }), // (중국)프로젝트타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CLS_1: varchar({ length: 20 }), // 선급1 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CLS_2: varchar({ length: 20 }), // 선급2 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CNRT_CNTN_YN: varchar({ length: 10 }), // 계약존속여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CNRT_DL_DT: varchar({ length: 10 }), // 계약인도일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CNRT_DT: varchar({ length: 10 }), // 계약일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CNRT_RESV_YN: varchar({ length: 10 }), // 계약유보여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CO_CD: varchar({ length: 10 }), // 회사코드 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - CSTM_PO_NO: varchar({ length: 35 }), // 고객발주번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - DEL_YN: varchar({ length: 10 }), // 삭제 여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - DIGT_PDT_GRP: varchar({ length: 10 }), // 전기전자 제품군 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - DIST_PATH: varchar({ length: 10 }), // 유통경로 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - DL_BF_PROJ_NM: varchar({ length: 120 }), // 인도전선명 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - DL_CSTM_CD: varchar({ length: 10 }), // 인도고객 ID // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - DOCK_CD: varchar({ length: 10 }), // 도크 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - DSN_CHRGR: varchar({ length: 13 }), // 설계담당자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - FIN_GRNT_FN_DT: varchar({ length: 10 }), // 최종수요자 보증종료일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - GENT_CNT: varchar({ length: 10 }), // 세대수/시리즈 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - GOV: varchar({ length: 60 }), // 관청명 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - GRNT_STDT: varchar({ length: 10 }), // Project Warranty Start Date // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - IF_STAT: varchar({ length: 10 }), // 인터페이스 진행단계 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - IMO_NO: varchar({ length: 10 }), // IMO 번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - INQY_NO: varchar({ length: 30 }), // 안건번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - INQY_SEQ: varchar({ length: 10 }), // 안건순번 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - IO_GB: varchar({ length: 10 }), // 사내외 구분 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - MNG_ACOT_DMN: varchar({ length: 10 }), // 관리회계영역 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - MN_ENGN_TP_CD: varchar({ length: 30 }), // Main engine type code // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - MSHIP_NO: varchar({ length: 24 }), // 기준호선 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - NEW_MC_YN: varchar({ length: 10 }), // MC YN // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - NTTP: varchar({ length: 10 }), // 국적 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - ORDR_GRNT_FN_DT: varchar({ length: 10 }), // 주문주 보증종료일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - ORDR_GRNT_PRD: varchar({ length: 10 }), // 주문주 보증기간 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - OWN_1: varchar({ length: 10 }), // 선주1 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - OWN_AB: varchar({ length: 60 }), // 선주약어 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - OWN_NM: varchar({ length: 40 }), // 선주명 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PDT_LVL_4: varchar({ length: 14 }), // 제품 Level 4 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PLNT_CD: varchar({ length: 10 }), // 플랜트 코드 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PRCTR: varchar({ length: 10 }), // 손익센터 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PRGS_STAT: varchar({ length: 10 }), // 진행상태 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_CRTE_REQ_DT: varchar({ length: 10 }), // 프로젝트 생성요청일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_CRTE_REQ_EMPNO: varchar({ length: 13 }), // 프로젝트 생성요청자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_DL_PLN_DT: varchar({ length: 10 }), // 모프로젝트 인도계획일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_DL_RT_DT: varchar({ length: 10 }), // 모프로젝트 인도실적일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_DSC: varchar({ length: 120 }), // 프로젝트 설명 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_DTL_TP: varchar({ length: 10 }), // 프로젝트 세부타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_ETC_TP: varchar({ length: 10 }), // 프로젝트 기타타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_GB: varchar({ length: 10 }), // 프로젝트구분 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_NO: varchar({ length: 24 }).notNull().unique(), // 프로젝트번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl // WSDL에서 필수 필드 - PROJ_PRGS_YN: varchar({ length: 10 }), // 공사진행여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_PROF: varchar({ length: 10 }), // 프로젝트 프로파일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_SCP: varchar({ length: 10 }), // 프로젝트범위 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PROJ_WBS_TP: varchar({ length: 10 }), // 프로젝트 WBS타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - PRO_PROJ_NO: varchar({ length: 24 }), // 프로포절 프로젝트 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - QM_CLS: varchar({ length: 10 }), // 품질사업부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - REF_NO: varchar({ length: 10 }), // 시리즈번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - RLTD_PROJ: varchar({ length: 24 }), // 연관프로젝트 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - RL_DL_DT: varchar({ length: 10 }), // 실인도일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SALE_GRP: varchar({ length: 10 }), // 영업그룹 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SALE_ORG_CD: varchar({ length: 10 }), // 영업조직 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SA_DT: varchar({ length: 10 }), // Sail Away Date // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SERS_NO: varchar({ length: 24 }), // 시리즈첫공사번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SERS_YN: varchar({ length: 10 }), // 시리즈여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SHTYPE: varchar({ length: 10 }), // 선형 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SHTYPE_CD: varchar({ length: 10 }), // 선형코드 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SHTYPE_GRP: varchar({ length: 10 }), // 선형군 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SHTYPE_UOM: varchar({ length: 10 }), // 선형단위 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SKND: varchar({ length: 10 }), // 선종 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SRC_SYS_ID: varchar({ length: 10 }), // Source System // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - STDT: varchar({ length: 10 }), // 시작일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - SYS_ACOT_CLSD_DT: varchar({ length: 10 }), // 시스템회계마감일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - TOT_CNRT_CNT: varchar({ length: 10 }), // 전체 계약 대수 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - TYPE: varchar({ length: 10 }), // 프로젝트 Top/Hull // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl - WP_PROJ_TP: varchar({ length: 10 }), // (풍력)프로젝트타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + AS_GRNT_PRD: varchar({ length: 1000 }), // A/S 보증기간 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + BIZCLS: varchar({ length: 1000 }), // 사업부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + BIZLOC_CD: varchar({ length: 1000 }), // 사업장코드 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + BIZ_DMN: varchar({ length: 1000 }), // 사업영역 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + BP_DL_DT: varchar({ length: 1000 }), // 선표인도일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CHN_PROJ_TP: varchar({ length: 1000 }), // (중국)프로젝트타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CLS_1: varchar({ length: 1000 }), // 선급1 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CLS_2: varchar({ length: 1000 }), // 선급2 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CNRT_CNTN_YN: varchar({ length: 1000 }), // 계약존속여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CNRT_DL_DT: varchar({ length: 1000 }), // 계약인도일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CNRT_DT: varchar({ length: 1000 }), // 계약일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CNRT_RESV_YN: varchar({ length: 1000 }), // 계약유보여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CO_CD: varchar({ length: 1000 }), // 회사코드 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + CSTM_PO_NO: varchar({ length: 1000 }), // 고객발주번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + DEL_YN: varchar({ length: 1000 }), // 삭제 여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + DIGT_PDT_GRP: varchar({ length: 1000 }), // 전기전자 제품군 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + DIST_PATH: varchar({ length: 1000 }), // 유통경로 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + DL_BF_PROJ_NM: varchar({ length: 1000 }), // 인도전선명 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + DL_CSTM_CD: varchar({ length: 1000 }), // 인도고객 ID // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + DOCK_CD: varchar({ length: 1000 }), // 도크 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + DSN_CHRGR: varchar({ length: 1000 }), // 설계담당자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + FIN_GRNT_FN_DT: varchar({ length: 1000 }), // 최종수요자 보증종료일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + GENT_CNT: varchar({ length: 1000 }), // 세대수/시리즈 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + GOV: varchar({ length: 1000 }), // 관청명 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + GRNT_STDT: varchar({ length: 1000 }), // Project Warranty Start Date // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + IF_STAT: varchar({ length: 1000 }), // 인터페이스 진행단계 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + IMO_NO: varchar({ length: 1000 }), // IMO 번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + INQY_NO: varchar({ length: 1000 }), // 안건번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + INQY_SEQ: varchar({ length: 1000 }), // 안건순번 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + IO_GB: varchar({ length: 1000 }), // 사내외 구분 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + MNG_ACOT_DMN: varchar({ length: 1000 }), // 관리회계영역 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + MN_ENGN_TP_CD: varchar({ length: 1000 }), // Main engine type code // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + MSHIP_NO: varchar({ length: 1000 }), // 기준호선 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + NEW_MC_YN: varchar({ length: 1000 }), // MC YN // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + NTTP: varchar({ length: 1000 }), // 국적 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + ORDR_GRNT_FN_DT: varchar({ length: 1000 }), // 주문주 보증종료일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + ORDR_GRNT_PRD: varchar({ length: 1000 }), // 주문주 보증기간 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + OWN_1: varchar({ length: 1000 }), // 선주1 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + OWN_AB: varchar({ length: 1000 }), // 선주약어 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + OWN_NM: varchar({ length: 1000 }), // 선주명 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PDT_LVL_4: varchar({ length: 1000 }), // 제품 Level 4 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PLNT_CD: varchar({ length: 1000 }), // 플랜트 코드 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PRCTR: varchar({ length: 1000 }), // 손익센터 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PRGS_STAT: varchar({ length: 1000 }), // 진행상태 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_CRTE_REQ_DT: varchar({ length: 1000 }), // 프로젝트 생성요청일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_CRTE_REQ_EMPNO: varchar({ length: 1000 }), // 프로젝트 생성요청자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_DL_PLN_DT: varchar({ length: 1000 }), // 모프로젝트 인도계획일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_DL_RT_DT: varchar({ length: 1000 }), // 모프로젝트 인도실적일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_DSC: varchar({ length: 1000 }), // 프로젝트 설명 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_DTL_TP: varchar({ length: 1000 }), // 프로젝트 세부타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_ETC_TP: varchar({ length: 1000 }), // 프로젝트 기타타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_GB: varchar({ length: 1000 }), // 프로젝트구분 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_NO: varchar({ length: 1000 }).notNull().unique(), // 프로젝트번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl // WSDL에서 필수 필드 + PROJ_PRGS_YN: varchar({ length: 1000 }), // 공사진행여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_PROF: varchar({ length: 1000 }), // 프로젝트 프로파일 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_SCP: varchar({ length: 1000 }), // 프로젝트범위 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PROJ_WBS_TP: varchar({ length: 1000 }), // 프로젝트 WBS타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + PRO_PROJ_NO: varchar({ length: 1000 }), // 프로포절 프로젝트 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + QM_CLS: varchar({ length: 1000 }), // 품질사업부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + REF_NO: varchar({ length: 1000 }), // 시리즈번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + RLTD_PROJ: varchar({ length: 1000 }), // 연관프로젝트 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + RL_DL_DT: varchar({ length: 1000 }), // 실인도일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SALE_GRP: varchar({ length: 1000 }), // 영업그룹 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SALE_ORG_CD: varchar({ length: 1000 }), // 영업조직 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SA_DT: varchar({ length: 1000 }), // Sail Away Date // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SERS_NO: varchar({ length: 1000 }), // 시리즈첫공사번호 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SERS_YN: varchar({ length: 1000 }), // 시리즈여부 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SHTYPE: varchar({ length: 1000 }), // 선형 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SHTYPE_CD: varchar({ length: 1000 }), // 선형코드 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SHTYPE_GRP: varchar({ length: 1000 }), // 선형군 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SHTYPE_UOM: varchar({ length: 1000 }), // 선형단위 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SKND: varchar({ length: 1000 }), // 선종 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SRC_SYS_ID: varchar({ length: 1000 }), // Source System // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + STDT: varchar({ length: 1000 }), // 시작일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + SYS_ACOT_CLSD_DT: varchar({ length: 1000 }), // 시스템회계마감일자 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + TOT_CNRT_CNT: varchar({ length: 1000 }), // 전체 계약 대수 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + TYPE: varchar({ length: 1000 }), // 프로젝트 Top/Hull // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl + WP_PROJ_TP: varchar({ length: 1000 }), // (풍력)프로젝트타입 // From: IF_MDZ_EVCP_PROJECT_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1526,7 +1526,7 @@ export const PROJECT_MASTER_CMCTB_PROJ_MAST = mdgSchema.table('PROJECT_MASTER_CM // [root] export const VENDOR_MASTER_BP_HEADER = mdgSchema.table('VENDOR_MASTER_BP_HEADER', { id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - VNDRCD: varchar({ length: 10 }).notNull().unique(), // VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + VNDRCD: varchar({ length: 1000 }).notNull().unique(), // VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1534,11 +1534,11 @@ export const VENDOR_MASTER_BP_HEADER = mdgSchema.table('VENDOR_MASTER_BP_HEADER' export const VENDOR_MASTER_BP_HEADER_ADDRESS = mdgSchema.table('VENDOR_MASTER_BP_HEADER_ADDRESS', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), // ADDRNO로 보내줌 - ADDRNO: varchar({ length: 10 }).notNull(), // 주소번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + ADDRNO: varchar({ length: 1000 }).notNull(), // 주소번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1546,12 +1546,12 @@ export const VENDOR_MASTER_BP_HEADER_ADDRESS = mdgSchema.table('VENDOR_MASTER_BP export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL = mdgSchema.table('VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - EMAIL_ADR: varchar({ length: 241 }), // 이메일주소 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REPR_SER: varchar({ length: 10 }).notNull(), // 대표자순번 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - VLD_ST_DT: varchar({ length: 10 }).notNull(), // 유효시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + EMAIL_ADR: varchar({ length: 1000 }), // 이메일주소 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REPR_SER: varchar({ length: 1000 }).notNull(), // 대표자순번 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + VLD_ST_DT: varchar({ length: 1000 }).notNull(), // 유효시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1559,14 +1559,14 @@ export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL = mdgSchema.table('VENDOR_ export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX = mdgSchema.table('VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - FAXNO: varchar({ length: 30 }), // 팩스번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - FAX_ETS_NO: varchar({ length: 10 }), // 팩스내선번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - NTN_CD: varchar({ length: 10 }), // 국가코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REPR_SER: varchar({ length: 10 }).notNull(), // 대표자순번 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - VLD_ST_DT: varchar({ length: 10 }).notNull(), // 유효시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + FAXNO: varchar({ length: 1000 }), // 팩스번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + FAX_ETS_NO: varchar({ length: 1000 }), // 팩스내선번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + NTN_CD: varchar({ length: 1000 }), // 국가코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REPR_SER: varchar({ length: 1000 }).notNull(), // 대표자순번 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + VLD_ST_DT: varchar({ length: 1000 }).notNull(), // 유효시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1574,30 +1574,30 @@ export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX = mdgSchema.table('VENDOR_MA export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL = mdgSchema.table('VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ADR_1: varchar({ length: 190 }), // 주소1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ADR_2: varchar({ length: 120 }), // 주소2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ADR_TMZ: varchar({ length: 10 }), // 주소시간대 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CITY_ZIP_NO: varchar({ length: 10 }), // 도시우편번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ETC_ADR_1: varchar({ length: 180 }), // 기타주소1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ETC_ADR_2: varchar({ length: 180 }), // 기타주소2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - INTL_ADR_VER_ID: varchar({ length: 10 }), // 국제주소버전ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - LANG_KEY: varchar({ length: 10 }), // 언어키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - NTN_CD: varchar({ length: 10 }), // 국가코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - POBX: varchar({ length: 10 }), // 사서함 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - POBX_ZIP_NO: varchar({ length: 10 }), // 사서함우편번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REGN_CD: varchar({ length: 10 }), // 지역코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - TAX_JRDT_ZONE_CD: varchar({ length: 15 }), // 조세관할구역코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - TRANS_ZONE: varchar({ length: 10 }), // 운송구역 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - TTL: varchar({ length: 90 }), // 타이틀 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDRNM_1: varchar({ length: 120 }), // VENDOR명1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDRNM_2: varchar({ length: 120 }), // VENDOR명2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDRNM_3: varchar({ length: 120 }), // VENDOR명3 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDRNM_4: varchar({ length: 120 }), // VENDOR명4 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDRNM_ABRV_1: varchar({ length: 60 }), // VENDOR명약어1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDRNM_ABRV_2: varchar({ length: 60 }), // VENDOR명약어2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ADR_1: varchar({ length: 1000 }), // 주소1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ADR_2: varchar({ length: 1000 }), // 주소2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ADR_TMZ: varchar({ length: 1000 }), // 주소시간대 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CITY_ZIP_NO: varchar({ length: 1000 }), // 도시우편번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ETC_ADR_1: varchar({ length: 1000 }), // 기타주소1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ETC_ADR_2: varchar({ length: 1000 }), // 기타주소2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + INTL_ADR_VER_ID: varchar({ length: 1000 }), // 국제주소버전ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + LANG_KEY: varchar({ length: 1000 }), // 언어키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + NTN_CD: varchar({ length: 1000 }), // 국가코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + POBX: varchar({ length: 1000 }), // 사서함 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + POBX_ZIP_NO: varchar({ length: 1000 }), // 사서함우편번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REGN_CD: varchar({ length: 1000 }), // 지역코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + TAX_JRDT_ZONE_CD: varchar({ length: 1000 }), // 조세관할구역코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + TRANS_ZONE: varchar({ length: 1000 }), // 운송구역 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + TTL: varchar({ length: 1000 }), // 타이틀 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRNM_1: varchar({ length: 1000 }), // VENDOR명1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRNM_2: varchar({ length: 1000 }), // VENDOR명2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRNM_3: varchar({ length: 1000 }), // VENDOR명3 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRNM_4: varchar({ length: 1000 }), // VENDOR명4 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRNM_ABRV_1: varchar({ length: 1000 }), // VENDOR명약어1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRNM_ABRV_2: varchar({ length: 1000 }), // VENDOR명약어2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1605,15 +1605,15 @@ export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL = mdgSchema.table('VENDOR export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL = mdgSchema.table('VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ETX_NO: varchar({ length: 10 }), // 내선번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - HP_ORDR: varchar({ length: 10 }), // 핸드폰지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - NTN_CD: varchar({ length: 10 }), // 국가코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REPR_SER: varchar({ length: 10 }).notNull(), // 대표자순번 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - TELNO: varchar({ length: 30 }), // 전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VLD_ST_DT: varchar({ length: 10 }).notNull(), // 유효시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + ETX_NO: varchar({ length: 1000 }), // 내선번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + HP_ORDR: varchar({ length: 1000 }), // 핸드폰지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + NTN_CD: varchar({ length: 1000 }), // 국가코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REPR_SER: varchar({ length: 1000 }).notNull(), // 대표자순번 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + TELNO: varchar({ length: 1000 }), // 전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VLD_ST_DT: varchar({ length: 1000 }).notNull(), // 유효시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1621,12 +1621,12 @@ export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL = mdgSchema.table('VENDOR_MA export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL = mdgSchema.table('VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - REPR_SER: varchar({ length: 10 }).notNull(), // 대표자순번 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - URL: varchar({ length: 2000 }), // URL // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VLD_ST_DT: varchar({ length: 10 }).notNull(), // 유효시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + REPR_SER: varchar({ length: 1000 }).notNull(), // 대표자순번 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + URL: varchar({ length: 1000 }), // URL // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VLD_ST_DT: varchar({ length: 1000 }).notNull(), // 유효시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1634,11 +1634,11 @@ export const VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL = mdgSchema.table('VENDOR_MA export const VENDOR_MASTER_BP_HEADER_BP_TAXNUM = mdgSchema.table('VENDOR_MASTER_BP_HEADER_BP_TAXNUM', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BIZ_PTNR_TX_NO: varchar({ length: 20 }), // 사업파트너세금번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - TX_NO_CTG: varchar({ length: 10 }).notNull(), // 세금번호범주 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + BIZ_PTNR_TX_NO: varchar({ length: 1000 }), // 사업파트너세금번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + TX_NO_CTG: varchar({ length: 1000 }).notNull(), // 세금번호범주 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1646,65 +1646,65 @@ export const VENDOR_MASTER_BP_HEADER_BP_TAXNUM = mdgSchema.table('VENDOR_MASTER_ export const VENDOR_MASTER_BP_HEADER_BP_VENGEN = mdgSchema.table('VENDOR_MASTER_BP_HEADER_BP_VENGEN', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 - - id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ACNT_GRP: varchar({ length: 10 }), // 계정그룹 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ACNT_GRP_TP: varchar({ length: 10 }), // 계정그룹유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ADR_1: varchar({ length: 120 }), // 주소1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ADR_2: varchar({ length: 512 }), // 주소2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - AGR_DT: varchar({ length: 10 }), // 승인일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - AGR_R_ID: varchar({ length: 13 }), // 승인자ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - AGR_TM: varchar({ length: 10 }), // 승인시간 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - BIZCON: varchar({ length: 30 }), // 산업유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - BIZR_NO: varchar({ length: 10 }), // 사업자번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - BIZTP: varchar({ length: 30 }), // 사업유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - BIZ_UOM_CD: varchar({ length: 10 }), // 사업단위코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - BIZ_UOM_NM: varchar({ length: 40 }), // 사업단위명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CHGR_ID: varchar({ length: 13 }), // 변경자ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CHG_DT: varchar({ length: 10 }), // 변경일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CHG_TM: varchar({ length: 10 }), // 변경시간 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CO_ID: varchar({ length: 10 }), // 법인ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CO_REG_NO: varchar({ length: 18 }), // 법인등록번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CO_VLM: varchar({ length: 10 }), // 기업규모 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CSTM_CD: varchar({ length: 10 }), // 고객코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DEL_HOLD_ORDR: varchar({ length: 10 }), // 삭제보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DEL_ORDR: varchar({ length: 10 }), // 삭제지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DMST_TOP_CD: varchar({ length: 10 }), // 국내TOP코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DMST_TOP_NM: varchar({ length: 120 }), // 국내TOP명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DNS_NO: varchar({ length: 11 }), // DUNS번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DOC_NO: varchar({ length: 25 }), // 문서번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DOC_TP: varchar({ length: 10 }), // 문서유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DOC_VER: varchar({ length: 10 }), // 문서버전 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - FIR_NM: varchar({ length: 120 }), // FIRST이름 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - GBL_TOP_CD: varchar({ length: 10 }), // GLOBALTOP코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - GBL_TOP_NM: varchar({ length: 120 }), // GLOBALTOP명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - GIRO_VNDR_ORDR: varchar({ length: 10 }), // 지로VENDOR지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - HOLD_CAUS: varchar({ length: 200 }), // 보류사유 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - INB_FLAG: varchar({ length: 10 }), // 인바운드플래그 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - INTL_LCTN_CHK_NUM: varchar({ length: 10 }), // 국제LOCATION점검숫자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - OVLAP_CAUS_CD: varchar({ length: 10 }), // 중복사유코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PST_HOLD_ORDR: varchar({ length: 10 }), // 전기보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PTNT_VNDRCD: varchar({ length: 10 }), // 잠재VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PTN_DOC: varchar({ length: 10 }), // 부분문서 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PUR_HOLD_DT: varchar({ length: 10 }), // 구매보류일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PUR_HOLD_ORDR: varchar({ length: 10 }), // 구매보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - QLT_CHRGR_EMAIL: varchar({ length: 241 }), // 품질담당자이메일 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - QLT_CHRGR_NM: varchar({ length: 20 }), // 품질담당자명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - QLT_CHRGR_TELNO: varchar({ length: 30 }), // 품질담당자전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REGR_ID: varchar({ length: 13 }), // 등록자ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REG_DT: varchar({ length: 10 }), // 등록일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REG_TM: varchar({ length: 10 }), // 등록시간 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REPR_NM: varchar({ length: 30 }), // 대표자명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REPR_RESNO: varchar({ length: 13 }), // 대표자주민번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REP_TEL_NO: varchar({ length: 30 }), // 대표전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SB_WKA_SEQ: varchar({ length: 10 }), // SUB작업장순서 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SRCETX_RP_SEX_KEY: varchar({ length: 10 }), // 원천세의무자성별키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - TTL: varchar({ length: 45 }), // 타이틀 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - TX_CD_4: varchar({ length: 18 }), // 세금번호4 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VAT_REG_NO: varchar({ length: 20 }), // 부가세등록번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDRNM_1: varchar({ length: 10 }), // VENDOR명1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDRNO: varchar({ length: 10 }).notNull(), // VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + + id: integer('id').primaryKey().generatedByDefaultAsIdentity(), + ACNT_GRP: varchar({ length: 1000 }), // 계정그룹 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ACNT_GRP_TP: varchar({ length: 1000 }), // 계정그룹유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ADR_1: varchar({ length: 1000 }), // 주소1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ADR_2: varchar({ length: 1000 }), // 주소2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + AGR_DT: varchar({ length: 1000 }), // 승인일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + AGR_R_ID: varchar({ length: 1000 }), // 승인자ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + AGR_TM: varchar({ length: 1000 }), // 승인시간 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + BIZCON: varchar({ length: 1000 }), // 산업유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + BIZR_NO: varchar({ length: 1000 }), // 사업자번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + BIZTP: varchar({ length: 1000 }), // 사업유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + BIZ_UOM_CD: varchar({ length: 1000 }), // 사업단위코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + BIZ_UOM_NM: varchar({ length: 1000 }), // 사업단위명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CHGR_ID: varchar({ length: 1000 }), // 변경자ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CHG_DT: varchar({ length: 1000 }), // 변경일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CHG_TM: varchar({ length: 1000 }), // 변경시간 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CO_ID: varchar({ length: 1000 }), // 법인ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CO_REG_NO: varchar({ length: 1000 }), // 법인등록번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CO_VLM: varchar({ length: 1000 }), // 기업규모 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CSTM_CD: varchar({ length: 1000 }), // 고객코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DEL_HOLD_ORDR: varchar({ length: 1000 }), // 삭제보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DEL_ORDR: varchar({ length: 1000 }), // 삭제지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DMST_TOP_CD: varchar({ length: 1000 }), // 국내TOP코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DMST_TOP_NM: varchar({ length: 1000 }), // 국내TOP명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DNS_NO: varchar({ length: 1000 }), // DUNS번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DOC_NO: varchar({ length: 1000 }), // 문서번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DOC_TP: varchar({ length: 1000 }), // 문서유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DOC_VER: varchar({ length: 1000 }), // 문서버전 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + FIR_NM: varchar({ length: 1000 }), // FIRST이름 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + GBL_TOP_CD: varchar({ length: 1000 }), // GLOBALTOP코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + GBL_TOP_NM: varchar({ length: 1000 }), // GLOBALTOP명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + GIRO_VNDR_ORDR: varchar({ length: 1000 }), // 지로VENDOR지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + HOLD_CAUS: varchar({ length: 1000 }), // 보류사유 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + INB_FLAG: varchar({ length: 1000 }), // 인바운드플래그 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + INTL_LCTN_CHK_NUM: varchar({ length: 1000 }), // 국제LOCATION점검숫자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + OVLAP_CAUS_CD: varchar({ length: 1000 }), // 중복사유코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PST_HOLD_ORDR: varchar({ length: 1000 }), // 전기보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PTNT_VNDRCD: varchar({ length: 1000 }), // 잠재VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PTN_DOC: varchar({ length: 1000 }), // 부분문서 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PUR_HOLD_DT: varchar({ length: 1000 }), // 구매보류일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PUR_HOLD_ORDR: varchar({ length: 1000 }), // 구매보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + QLT_CHRGR_EMAIL: varchar({ length: 1000 }), // 품질담당자이메일 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + QLT_CHRGR_NM: varchar({ length: 1000 }), // 품질담당자명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + QLT_CHRGR_TELNO: varchar({ length: 1000 }), // 품질담당자전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REGR_ID: varchar({ length: 1000 }), // 등록자ID // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REG_DT: varchar({ length: 1000 }), // 등록일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REG_TM: varchar({ length: 1000 }), // 등록시간 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REPR_NM: varchar({ length: 1000 }), // 대표자명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REPR_RESNO: varchar({ length: 1000 }), // 대표자주민번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REP_TEL_NO: varchar({ length: 1000 }), // 대표전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SB_WKA_SEQ: varchar({ length: 1000 }), // SUB작업장순서 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SRCETX_RP_SEX_KEY: varchar({ length: 1000 }), // 원천세의무자성별키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + TTL: varchar({ length: 1000 }), // 타이틀 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + TX_CD_4: varchar({ length: 1000 }), // 세금번호4 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VAT_REG_NO: varchar({ length: 1000 }), // 부가세등록번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRNM_1: varchar({ length: 1000 }), // VENDOR명1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRNO: varchar({ length: 1000 }).notNull(), // VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1712,39 +1712,39 @@ export const VENDOR_MASTER_BP_HEADER_BP_VENGEN = mdgSchema.table('VENDOR_MASTER_ export const VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY = mdgSchema.table('VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 - - id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - ACOT_CHRGR_FAXNO: varchar({ length: 31 }), // 회계담당자FAX번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ACOT_CHRGR_TELNO: varchar({ length: 30 }), // 회계담당자전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - AUTH_GRP: varchar({ length: 10 }), // 권한그룹 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - BF_VNDRCD: varchar({ length: 10 }), // 이전VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CO_CD: varchar({ length: 10 }).notNull(), // 회사코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - CSTM_VNDR_CLR_ORDR: varchar({ length: 10 }), // CUSTOMER,VENDOR반제지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CTL_ACNT: varchar({ length: 10 }), // 조정계정 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DEL_ORDR: varchar({ length: 10 }), // 삭제지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - FIN_IR_ACT_DT: varchar({ length: 10 }), // 최종이자실행일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - FIN_IR_CALC_DT: varchar({ length: 10 }), // 최종이자계산일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - IATA_BIC_GB: varchar({ length: 10 }), // IATA,BIC구분 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - LOGST_VNDR_TP: varchar({ length: 10 }), // 물류VENDOR유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - MEMO: varchar({ length: 120 }), // 메모 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - MIN_ORDR: varchar({ length: 10 }), // 소수지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - MK_CHRGR_EMAIL: varchar({ length: 241 }), // MAKER담당자이메일 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - MOFFC_ACNT_NO: varchar({ length: 10 }), // 본사계정번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - OVLAP_INVC_ORDR: varchar({ length: 10 }), // 중복송장지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PLN_GRP: varchar({ length: 10 }), // 계획그룹 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PST_HOLD_ORDR: varchar({ length: 10 }), // 전기보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - REP_TP: varchar({ length: 10 }), // 대표유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SPLY_COND: varchar({ length: 10 }), // 지급조건 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SPLY_HOLD_ORDR: varchar({ length: 10 }), // 지급보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SPLY_MTHD: varchar({ length: 10 }), // 지급방법 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SPRT_SPLY_ORDR: varchar({ length: 10 }), // 분리지급지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SRCE_TX_CD: varchar({ length: 10 }), // 원천세코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SRCE_TX_NTN_CD: varchar({ length: 10 }), // 원천세국가코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SRT_KEY: varchar({ length: 10 }), // 정렬키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - TRD_BANK_SHRT_KEY: varchar({ length: 10 }), // 거래은행단축키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDR_ACNT_NO: varchar({ length: 12 }), // VENDOR계정번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDR_CHRGR_NM: varchar({ length: 45 }), // VENDOR담당자명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + + id: integer('id').primaryKey().generatedByDefaultAsIdentity(), + ACOT_CHRGR_FAXNO: varchar({ length: 1000 }), // 회계담당자FAX번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ACOT_CHRGR_TELNO: varchar({ length: 1000 }), // 회계담당자전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + AUTH_GRP: varchar({ length: 1000 }), // 권한그룹 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + BF_VNDRCD: varchar({ length: 1000 }), // 이전VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CO_CD: varchar({ length: 1000 }).notNull(), // 회사코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + CSTM_VNDR_CLR_ORDR: varchar({ length: 1000 }), // CUSTOMER,VENDOR반제지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CTL_ACNT: varchar({ length: 1000 }), // 조정계정 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DEL_ORDR: varchar({ length: 1000 }), // 삭제지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + FIN_IR_ACT_DT: varchar({ length: 1000 }), // 최종이자실행일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + FIN_IR_CALC_DT: varchar({ length: 1000 }), // 최종이자계산일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + IATA_BIC_GB: varchar({ length: 1000 }), // IATA,BIC구분 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + LOGST_VNDR_TP: varchar({ length: 1000 }), // 물류VENDOR유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + MEMO: varchar({ length: 1000 }), // 메모 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + MIN_ORDR: varchar({ length: 1000 }), // 소수지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + MK_CHRGR_EMAIL: varchar({ length: 1000 }), // MAKER담당자이메일 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + MOFFC_ACNT_NO: varchar({ length: 1000 }), // 본사계정번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + OVLAP_INVC_ORDR: varchar({ length: 1000 }), // 중복송장지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PLN_GRP: varchar({ length: 1000 }), // 계획그룹 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PST_HOLD_ORDR: varchar({ length: 1000 }), // 전기보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + REP_TP: varchar({ length: 1000 }), // 대표유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SPLY_COND: varchar({ length: 1000 }), // 지급조건 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SPLY_HOLD_ORDR: varchar({ length: 1000 }), // 지급보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SPLY_MTHD: varchar({ length: 1000 }), // 지급방법 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SPRT_SPLY_ORDR: varchar({ length: 1000 }), // 분리지급지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SRCE_TX_CD: varchar({ length: 1000 }), // 원천세코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SRCE_TX_NTN_CD: varchar({ length: 1000 }), // 원천세국가코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SRT_KEY: varchar({ length: 1000 }), // 정렬키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + TRD_BANK_SHRT_KEY: varchar({ length: 1000 }), // 거래은행단축키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDR_ACNT_NO: varchar({ length: 1000 }), // VENDOR계정번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDR_CHRGR_NM: varchar({ length: 1000 }), // VENDOR담당자명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1752,18 +1752,18 @@ export const VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY = mdgSchema.table('VEND export const VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX = mdgSchema.table('VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - DCHAG_CAUS: varchar({ length: 200 }), // 면제사유 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DCHAG_CERT_NO: varchar({ length: 15 }), // 면제증명서번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DCHAG_ED_DT: varchar({ length: 10 }), // 면제종료일 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DCHAG_ST_DT: varchar({ length: 10 }), // 면제시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - RECIP_TP: varchar({ length: 10 }), // 수취인유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SRCE_TX_IDENT_NO: varchar({ length: 16 }), // 원천세식별번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SRCE_TX_NO: varchar({ length: 10 }), // 원천세코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SRCE_TX_REL_ORDR: varchar({ length: 10 }), // 원천세관련지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SRCE_TX_TP: varchar({ length: 10 }).notNull(), // 원천세유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + DCHAG_CAUS: varchar({ length: 1000 }), // 면제사유 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DCHAG_CERT_NO: varchar({ length: 1000 }), // 면제증명서번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DCHAG_ED_DT: varchar({ length: 1000 }), // 면제종료일 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DCHAG_ST_DT: varchar({ length: 1000 }), // 면제시작일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + RECIP_TP: varchar({ length: 1000 }), // 수취인유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SRCE_TX_IDENT_NO: varchar({ length: 1000 }), // 원천세식별번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SRCE_TX_NO: varchar({ length: 1000 }), // 원천세코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SRCE_TX_REL_ORDR: varchar({ length: 1000 }), // 원천세관련지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SRCE_TX_TP: varchar({ length: 1000 }).notNull(), // 원천세유형 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1771,25 +1771,25 @@ export const VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX = mdgSchema.ta export const VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG = mdgSchema.table('VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - AT_PUR_ORD_ORDR: varchar({ length: 10 }), // 자동구매오더지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CALC_SHM_GRP: varchar({ length: 10 }), // 계산스키마그룹 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - CNFM_CTL_KEY: varchar({ length: 10 }), // 확정제어키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DEL_ORDR: varchar({ length: 10 }), // 삭제지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DL_COND_1: varchar({ length: 10 }), // 인도조건1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - DL_COND_2: varchar({ length: 28 }), // 인도조건2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - GR_BSE_INVC_VR: varchar({ length: 10 }), // GR기준송장검증 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ORD_CNFM_REQ_ORDR: varchar({ length: 10 }), // 오더확인요청지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PUR_HOLD_CAUS: varchar({ length: 120 }), // 구매보류사유 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PUR_HOLD_DT: varchar({ length: 10 }), // 구매보류일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PUR_HOLD_ORDR: varchar({ length: 10 }), // 구매보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PUR_ORD_CUR: varchar({ length: 10 }), // 구매오더통화 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PUR_ORG_CD: varchar({ length: 10 }).notNull(), // 구매조직 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - SALE_CHRGR_NM: varchar({ length: 120 }), // 영업담당자명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - SPLY_COND: varchar({ length: 10 }), // 지급조건 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - VNDR_TELNO: varchar({ length: 30 }), // VENDOR전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + AT_PUR_ORD_ORDR: varchar({ length: 1000 }), // 자동구매오더지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CALC_SHM_GRP: varchar({ length: 1000 }), // 계산스키마그룹 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + CNFM_CTL_KEY: varchar({ length: 1000 }), // 확정제어키 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DEL_ORDR: varchar({ length: 1000 }), // 삭제지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DL_COND_1: varchar({ length: 1000 }), // 인도조건1 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + DL_COND_2: varchar({ length: 1000 }), // 인도조건2 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + GR_BSE_INVC_VR: varchar({ length: 1000 }), // GR기준송장검증 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ORD_CNFM_REQ_ORDR: varchar({ length: 1000 }), // 오더확인요청지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PUR_HOLD_CAUS: varchar({ length: 1000 }), // 구매보류사유 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PUR_HOLD_DT: varchar({ length: 1000 }), // 구매보류일자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PUR_HOLD_ORDR: varchar({ length: 1000 }), // 구매보류지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PUR_ORD_CUR: varchar({ length: 1000 }), // 구매오더통화 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PUR_ORG_CD: varchar({ length: 1000 }).notNull(), // 구매조직 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + SALE_CHRGR_NM: varchar({ length: 1000 }), // 영업담당자명 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + SPLY_COND: varchar({ length: 1000 }), // 지급조건 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + VNDR_TELNO: varchar({ length: 1000 }), // VENDOR전화번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), @@ -1797,15 +1797,15 @@ export const VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG = mdgSchema.table('VENDOR export const VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN = mdgSchema.table('VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN', { // [fk] - VNDRCD: varchar({ length: 10 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 + VNDRCD: varchar({ length: 1000 }).notNull().references(() => VENDOR_MASTER_BP_HEADER.VNDRCD), // VENDOR코드 id: integer('id').primaryKey().generatedByDefaultAsIdentity(), - BSE_PTNR_ORDR: varchar({ length: 10 }), // 기본파트너지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - ETC_REF_VNDRCD: varchar({ length: 10 }), // 기타참조VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl - PLNT_NO: varchar({ length: 10 }), // 플랜트번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - PTNR_CNT: varchar({ length: 10 }).notNull(), // 파트너카운터 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - PTNR_SKL: varchar({ length: 10 }).notNull(), // 파트너기능 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 - VNDR_SUB_NO: varchar({ length: 10 }), // VENDOR서브번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + BSE_PTNR_ORDR: varchar({ length: 1000 }), // 기본파트너지시자 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + ETC_REF_VNDRCD: varchar({ length: 1000 }), // 기타참조VENDOR코드 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl + PLNT_NO: varchar({ length: 1000 }), // 플랜트번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + PTNR_CNT: varchar({ length: 1000 }).notNull(), // 파트너카운터 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + PTNR_SKL: varchar({ length: 1000 }).notNull(), // 파트너기능 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 + VNDR_SUB_NO: varchar({ length: 1000 }), // VENDOR서브번호 // From: IF_MDZ_EVCP_VENDOR_MASTER.wsdl // WSDL에서 필수 필드 createdAt: timestamp('created_at').defaultNow().notNull(), updatedAt: timestamp('updated_at').defaultNow().notNull(), diff --git a/lib/soap/batch-utils.ts b/lib/soap/batch-utils.ts new file mode 100644 index 00000000..785c85eb --- /dev/null +++ b/lib/soap/batch-utils.ts @@ -0,0 +1,86 @@ +import { inArray, sql } from "drizzle-orm"; +import db from "@/db/db"; + +/** + * 대용량 INSERT/UPSERT 및 하위 테이블 교체 처리를 위한 공통 유틸 함수 모음. + * + * - `bulkUpsert` : 단일 PK(혹은 UNIQUE) 컬럼을 기준으로 다건 UPSERT 수행 + * - `bulkReplaceSubTableData` : FK 컬럼(IN ... ) 조건으로 기존 데이터 삭제 후 신규 데이터를 배치 삽입 + * + * NOTE: Drizzle ORM 의 onConflictDoUpdate 구문은 한 번의 INSERT 문으로도 여러 레코드의 + * UPSERT 를 처리할 수 있으므로, 네트워크 왕복 횟수를 크게 줄일 수 있다. + */ + +/** + * Primary/Unique Key 하나를 기준으로 여러 레코드를 UPSERT 한다. + * @param tx Active transaction object from `db.transaction` + * @param table Drizzle table schema object + * @param data Rows to upsert + * @param uniqueCol Column name that has UNIQUE constraint (e.g. 'MATNR') + * @param chunkSize Split size to avoid exceeding Postgres parameter limit (default 1000) + */ +export async function bulkUpsert<T extends Record<string, unknown>>( + tx: Parameters<Parameters<typeof db.transaction>[0]>[0], + table: any, // Generic Drizzle table type – use `any` to stay flexible + data: T[], + uniqueCol: string, + chunkSize: number = 500, +) { + if (!data.length) return; + + // Build SET clause once, using excluded.* reference for every column except PK / createdAt / id + const buildSetClause = (sample: T) => { + const setObj: Record<string, unknown> = { updatedAt: new Date() }; + for (const col of Object.keys(sample)) { + if (col === uniqueCol || col === "id" || col === "createdAt" || col === "updatedAt") continue; + setObj[col] = sql.raw(`excluded."${col}"`); + } + return setObj; + }; + + const setClause = buildSetClause(data[0]); + + for (let i = 0; i < data.length; i += chunkSize) { + const chunk = data.slice(i, i + chunkSize); + await tx.insert(table) + .values(chunk as any) + .onConflictDoUpdate({ + target: table[uniqueCol], + set: setClause, + }); + } +} + +/** + * 여러 부모 레코드에 매핑된 하위 테이블(자식 테이블) 데이터를 한 번에 교체한다. + * 1) parentIds 에 해당하는 기존 데이터를 삭제한 뒤 + * 2) 새 데이터 배열을 배치 삽입한다. + * + * @param tx Active transaction object + * @param table Drizzle table schema object (child table) + * @param data Rows to insert after deletion + * @param parentField Column object that references the FK to parent (e.g. MATERIAL_MASTER_PART_MATL_DESC.MATNR) + * @param parentIds Parent id list to match IN (...) + * @param chunkSize Batch insert split size (default 1000) + */ +export async function bulkReplaceSubTableData<T extends Record<string, unknown>>( + tx: Parameters<Parameters<typeof db.transaction>[0]>[0], + table: any, + data: T[], + parentField: any, + parentIds: string[], + chunkSize: number = 1000, +) { + if (!parentIds.length) return; + + // 1. 기존 데이터 일괄 삭제 + await tx.delete(table).where(inArray(parentField, parentIds)); + + // 2. 새 데이터 일괄 삽입 (chunking) + if (!data.length) return; + + for (let i = 0; i < data.length; i += chunkSize) { + const chunk = data.slice(i, i + chunkSize); + await tx.insert(table).values(chunk as any); + } +} diff --git a/lib/soap/mdg/utils.ts b/lib/soap/utils.ts index 52c82d47..52c82d47 100644 --- a/lib/soap/mdg/utils.ts +++ b/lib/soap/utils.ts |
