Compare commits

...

19 Commits

Author SHA1 Message Date
Johngreen
018688520d 매출관리 페이지 완료 2025-10-17 12:09:17 +09:00
Johngreen
9be8e365e6 Remove binary .class files from Git and add .gitignore 2025-10-15 10:16:01 +09:00
Johngreen
213f9a5c84 auto commit 2025-10-15 10:06:05 +09:00
a95069a5cd bom list 수정 반영 2025-10-13 19:44:37 +09:00
a47b1f1ff6 BOM조회 수정정 2025-10-13 17:04:41 +09:00
8e9c6170bb auto commit 2025-09-15 20:30:37 +09:00
b60a9efd5a auto commit 2025-09-12 09:45:39 +09:00
757e88f296 auto commit 2025-09-12 09:42:36 +09:00
97c522508e 파일 수정정 2025-09-12 09:38:06 +09:00
438adc1b7c auto commit 2025-08-30 11:54:41 +09:00
8197ec8782 수정정 2025-08-30 11:47:03 +09:00
26d0247810 로그및 설정 변경경 2025-08-30 11:31:02 +09:00
7f0dcc8922 도커파일 수정정 2025-08-30 02:18:54 +09:00
28d54d620d 구동 오류 수정 2025-08-30 01:47:43 +09:00
c11eed1a5c 설정 파일 커밋밋 2025-08-30 01:33:34 +09:00
6e7ca86285 설정 수정정 2025-08-30 01:07:38 +09:00
e920e5de88 설정파일 커밋밋 2025-08-29 16:43:17 +09:00
6b2d6aafce Add executable permissions to all shell scripts 2025-08-29 16:12:11 +09:00
faa46b62e3 Add executable permissions to shell scripts and restore .gitignore 2025-08-29 16:11:38 +09:00
157 changed files with 23916 additions and 1055 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -1,96 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/aopalliance-1.0.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/aspectjrt-1.8.4.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/aspectjweaver-1.8.4.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/cglib-3.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-beanutils-1.9.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-codec-1.9.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-collections-3.2.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-digester-1.8.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-httpclient-3.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-io-2.2.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-lang3-3.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-logging-1.1.3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-net-3.3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/cos.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/egovframework.rte.ptl.mvc-3.1.0.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/external-debug.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/ezmorph-1.0.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/fontbox-2.0.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/gson-2.3.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/INICrypto_v3.1.6_signed.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/IntegratedCadServer.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/jackson-core-asl-1.9.13.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/json-lib-2.2.2-jdk15.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/json-lib-ext-spring-1.0.2.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/json-simple-1.1.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/jstl-1.2.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/jxl.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/log4j-1.2.17.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/log4jdbc-remix-0.2.7.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/mail.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/mybatis-3.2.3.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/mybatis-spring-1.2.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/NETSSSOScriptAgent.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/nls-debug.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/ojdbc5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/pdfbox-2.0.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/poi-3.11.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/poi-ooxml-3.11.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/poi-ooxml-schemas-3.11.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/scsl.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-api-1.7.7.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-log4j12-1.7.7.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-jdbc-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-oxm-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-test-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-tx-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-ws-core-2.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/spring-xml-2.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/stax-api-1.0-2.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-api-3.0.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-autotag-core-runtime-1.1.0.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-core-3.0.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-el-3.0.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-extras-3.0.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-jsp-3.0.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-request-api-1.0.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-request-jsp-1.0.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-request-servlet-1.0.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-request-servlet-wildcard-1.0.6.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-servlet-3.0.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/tiles-template-3.0.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/wsdl4j-1.6.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/xercesImpl-2.11.0.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/xml-apis-1.4.01.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/xmlbeans-2.6.0.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/xmlpull-1.1.3.1.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/xpp3_min-1.1.4c.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/xstream-1.4.5.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/postgresql-42.2.16.jre7.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/jsoup-1.14.3-sources.jar"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/jsoup-1.14.3.jar"/>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/woosung">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib"/>
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
</classpath>

View File

@@ -1,30 +1,22 @@
# PLM WACE 운영환경 설정
# App Service Configuration
# Note: These keys (DB_URL, DB_USER, DB_PASSWORD) might need adjustment
# based on how the actual Java application reads them (e.g., from System.getenv()).
# The JNDI approach suggested earlier might ignore these direct env vars.
# DB_URL=jdbc:postgresql://plm-ilshin-db:5432/ilshin
# DB_USER=postgres
# DB_PASSWORD=ilshin0909!!
# 애플리케이션 환경
NODE_ENV=production
# 데이터베이스 설정
DB_URL=jdbc:postgresql://localhost:5432/waceplm
DB_USERNAME=postgres
DB_PASSWORD=waceplm0909!!
# PostgreSQL 환경 변수
# DB Service Configuration
POSTGRES_DB=waceplm
POSTGRES_USER=postgres
POSTGRES_PASSWORD=waceplm0909!!
# JVM 옵션 (운영환경용)
JAVA_OPTS=-Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=1024m
# 로그 레벨
LOG_LEVEL=INFO
# 개발 모드 플래그
DEBUG=false
# SSL 설정
SSL_ENABLED=true
# 도메인 설정
DOMAIN=waceplm.esgrin.com
ALT_DOMAIN=autoclave.co.kr
# You can add other environment-specific variables here
# Example: TOMCAT_JAVA_OPTS="-Xmx512m -Xms256m"
DB_URL=jdbc:postgresql://wace-plm-db:5432/waceplm
DB_USERNAME=postgres
DB_PASSWORD=waceplm0909!!
DB_DRIVER_CLASS_NAME=org.postgresql.Driver
DB_MAX_TOTAL=200
DB_MAX_IDLE=50
DB_MAX_WAIT_MILLIS=-1

33
.gitignore vendored Normal file
View File

@@ -0,0 +1,33 @@
# Compiled class files
*.class
# Build directories
WebContent/WEB-INF/classes/
# Log files
*.log
logs/
# OS files
.DS_Store
Thumbs.db
# IDE files
.settings/
.classpath
.project
# Environment files (보안상 제외)
.env
.env.development
.env.production
# Temporary files
*.tmp
*.bak
*.swp
*~
# Docker volumes
.docker/

View File

@@ -1,41 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>samduck</name>
<name>wace-plm</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
<filteredResources>
<filter>
<id>1756446253951</id>
<id>1754642369857</id>
<name></name>
<type>30</type>
<matcher>

View File

@@ -1,183 +0,0 @@
# WACE PLM 데이터베이스 초기화 가이드
## 개요
WACE PLM 시스템의 데이터베이스를 초기화하는 방법을 설명합니다. `db/dbexport.pgsql` 파일을 사용하여 PostgreSQL 데이터베이스에 초기 데이터를 임포트할 수 있습니다.
## 방법 1: 독립실행환경 (Standalone) - 권장
로컬 PostgreSQL 컨테이너를 포함한 완전한 독립실행환경입니다. 데이터베이스가 자동으로 초기화됩니다.
### 사용법
```bash
# 독립실행환경으로 시작 (로컬 DB 포함)
./start-docker-linux.sh -e standalone
# 또는 Docker 정리 후 시작
./start-docker-linux.sh -e standalone -c
```
### 특징
- 로컬 PostgreSQL 컨테이너 자동 생성
- `dbexport.pgsql` 파일 자동 임포트
- 외부 데이터베이스 의존성 없음
- 접속 정보:
- 애플리케이션: http://localhost:8090
- 데이터베이스: localhost:5432
- 사용자: postgres
- 비밀번호: waceplm0909!!
## 방법 2: 기존 환경에서 데이터베이스 초기화
기존 개발환경이나 운영환경에서 외부 데이터베이스에 초기 데이터를 임포트합니다.
### 사용법
```bash
# 개발환경 데이터베이스 초기화
./start-docker-linux.sh -e dev -i
# 운영환경 데이터베이스 초기화
./start-docker-linux.sh -e prod -i
# 데이터베이스 초기화만 실행 (컨테이너 시작 안함)
./start-docker-linux.sh -i
```
### 특징
- 기존 데이터 자동 백업 생성
- 연결 테스트 후 임포트 실행
- 임포트 결과 검증
- Docker를 사용한 안전한 임포트
## 방법 3: 수동 스크립트 사용
### PostgreSQL 클라이언트 직접 사용
```bash
# 기본 설정으로 초기화
./init-db.sh
# 사용자 정의 설정으로 초기화
./init-db.sh dev 211.115.91.141 11132 waceplm postgres waceplm0909!!
```
### Docker를 사용한 초기화
```bash
# 기본 설정으로 초기화
./init-db-docker.sh
# 사용자 정의 설정으로 초기화
./init-db-docker.sh 211.115.91.141 11132 waceplm postgres waceplm0909!!
```
## 파일 구조
```
db/
├── 00-create-roles.sh # 데이터베이스 역할 생성 스크립트
└── dbexport.pgsql # 데이터베이스 덤프 파일 (200MB+)
# 새로 추가된 파일들
├── docker-compose.standalone.yml # 독립실행환경 설정
├── init-db.sh # 수동 DB 초기화 스크립트
├── init-db-docker.sh # Docker 기반 DB 초기화 스크립트
└── start-docker-linux.sh # 통합 실행 스크립트 (업데이트됨)
```
## 환경별 설정
### 개발환경 (dev)
- Docker Compose: `docker-compose.dev.yml`
- 환경 변수: `.env.development`
- 외부 DB: 211.115.91.141:11132
### 운영환경 (prod)
- Docker Compose: `docker-compose.prod.yml`
- 환경 변수: `.env.production`
- 외부 DB: 설정에 따라
### 독립실행환경 (standalone)
- Docker Compose: `docker-compose.standalone.yml`
- 로컬 PostgreSQL 컨테이너 사용
- 자동 DB 초기화
## 주의사항
1. **대용량 파일**: `dbexport.pgsql` 파일이 200MB 이상이므로 임포트에 시간이 걸릴 수 있습니다.
2. **백업**: 기존 데이터가 있는 경우 자동으로 백업이 생성됩니다.
- 백업 파일명: `backup_YYYYMMDD_HHMMSS.sql`
3. **권한**: 스크립트 실행 전 권한을 확인하세요.
```bash
chmod +x *.sh
```
4. **연결 테스트**: 임포트 전에 데이터베이스 연결을 테스트합니다.
5. **에러 처리**: 임포트 실패 시 백업 파일을 사용하여 복원할 수 있습니다.
## 트러블슈팅
### 연결 실패
```bash
# 데이터베이스 서비스 상태 확인
docker ps | grep postgres
# 네트워크 연결 확인
telnet [DB_HOST] [DB_PORT]
```
### 임포트 실패
```bash
# 로그 확인
./start-docker-linux.sh -l
# 수동 복원
psql -h [HOST] -p [PORT] -U [USER] -d [DB] < backup_YYYYMMDD_HHMMSS.sql
```
### 권한 문제
```bash
# 스크립트 권한 확인
ls -la *.sh
# 권한 부여
chmod +x *.sh
```
## 예시 사용 시나리오
### 최초 설치 시
```bash
# 1. 독립실행환경으로 시작 (권장)
./start-docker-linux.sh -e standalone
# 2. 또는 개발환경에서 DB 초기화 후 시작
./start-docker-linux.sh -e dev -i
```
### 데이터 리셋 시
```bash
# 1. 컨테이너 중지
./start-docker-linux.sh -s
# 2. Docker 정리 후 재시작
./start-docker-linux.sh -e standalone -c
```
### 운영환경 배포 시
```bash
# 1. 데이터베이스 초기화
./start-docker-linux.sh -e prod -i
# 2. 애플리케이션 시작
./start-docker-linux.sh -e prod
```
이 가이드를 통해 WACE PLM 시스템의 데이터베이스를 안전하고 효율적으로 초기화할 수 있습니다.

View File

@@ -146,7 +146,6 @@ chmod +x start-docker-linux.sh
### 운영환경
- 애플리케이션: https://waceplm.esgrin.com
- 대체 도메인: https://autoclave.co.kr
## 트러블슈팅

View File

@@ -1,4 +1,4 @@
# PLM 솔루션 (WACE PLM)
# PLM 솔루션 (ILSHIN)
## 프로젝트 개요
@@ -66,7 +66,7 @@
이 프로젝트는 제공된 `Dockerfile``docker-compose.yml` 파일을 사용하여 Docker 컨테이너 환경에서 실행할 수 있습니다.
1. **Docker 및 Docker Compose 설치:** 시스템에 Docker와 Docker Compose가 설치되어 있어야 합니다.
2. **데이터베이스 파일 준비:** `waceplm.pgsql` 파일이 프로젝트 루트 디렉토리에 있는지 확인합니다. (필요시 `docker-compose.yml`에서 파일 경로 수정)
2. **데이터베이스 파일 준비:** `ilshin.pgsql` 파일이 프로젝트 루트 디렉토리에 있는지 확인합니다. (필요시 `docker-compose.yml`에서 파일 경로 수정)
3. **Docker Compose 실행:** 프로젝트 루트 디렉토리에서 다음 명령어를 실행합니다.
```bash
docker-compose up --build -d
@@ -77,4 +77,4 @@
**참고:**
- 애플리케이션이 데이터베이스 연결 정보를 읽는 방식 (예: JNDI, 환경 변수, 설정 파일)에 따라 `docker-compose.yml`의 `app` 서비스 환경 변수 또는 Tomcat 설정 파일 (`context.xml` 등) 수정이 필요할 수 있습니다.
- `SETTING_GUIDE.txt`에 명시된 Tomcat 컨텍스트 경로 (`/waceplm`)를 사용하려면 `Dockerfile`에서 `WebContent`를 `/usr/local/tomcat/webapps/waceplm`로 복사하거나 Tomcat 설정을 변경해야 할 수 있습니다. 현재 설정은 `/` (ROOT) 경로로 배포됩니다.
- `SETTING_GUIDE.txt`에 명시된 Tomcat 컨텍스트 경로 (`/ilshin`)를 사용하려면 `Dockerfile`에서 `WebContent`를 `/usr/local/tomcat/webapps/ilshin`로 복사하거나 Tomcat 설정을 변경해야 할 수 있습니다. 현재 설정은 `/` (ROOT) 경로로 배포됩니다.

View File

@@ -1,3 +1,3 @@
<Context docBase="woosung" path="/" reloadable="true" source="org.eclipse.jst.jee.server:woosung">
<Resource auth="Container" driverClassName="org.postgresql.Driver" maxActive="100" maxIdle="10" maxWait="-1" name="plm" password="admin0909!!" type="javax.sql.DataSource" url="jdbc:postgresql://211.224.136.4:5432/woosung" username="postgres"/>
<Context docBase="ilshin" path="/" reloadable="true" source="org.eclipse.jst.jee.server:ilshin">
<Resource auth="Container" driverClassName="org.postgresql.Driver" maxActive="100" maxIdle="10" maxWait="-1" name="plm" password="admin0909!!" type="javax.sql.DataSource" url="jdbc:postgresql://211.224.136.4:5432/ilshin" username="postgres"/>
</Context>

View File

@@ -812,5 +812,188 @@
,editEmpNo = #{cretEmpNo} /* 수정자 */
</update>
<!-- 매출관리 그리드 목록 -->
<select id="getSalesMgmtGridList" parameterType="map" resultType="map">
/* salesNcollectMgmt.getSalesMgmtGridList */
SELECT
B.OrderNo AS PROJECT_NO, /* 프로젝트번호를 계약번호로 우선 사용 */
(SELECT CdNm FROM SWSA050A_TBL WHERE MajorCd = 'GE' AND MinorCd = B.SaleType) AS ORDER_TYPE,
CASE WHEN C.c_class IS NOT NULL THEN
CONCAT(
(SELECT ltrim(rtrim(DTL_NM)) from SWSA999A_TBL where COMM_CD = 'S110' AND SUBSTRING(DTL_CD,1,1) = SUBSTRING(C.c_class,1,1)),
'-',
(SELECT ltrim(rtrim(DTL_NM)) from SWSA999A_TBL where COMM_CD = 'S120' AND SUBSTRING(DTL_CD,1,3) = SUBSTRING(C.c_class,1,3)),
'-',
(SELECT ltrim(rtrim(DTL_NM)) from SWSA999A_TBL where COMM_CD = 'S130' AND DTL_CD = C.c_class )
)
ELSE '' END AS PRODUCT_TYPE,
(SELECT CdNm FROM SWSA050A_TBL WHERE MAjorCd = 'NA' AND MinorCd = B.nationGB) AS NATION,
COALESCE(A.WrtYmd, B.OrderDate) AS RECEIPT_DATE,
D.custNm AS CUSTOMER,
(CASE B.freeyn WHEN 'Y' THEN '무상' ELSE '유상' END) AS PAYMENT_TYPE,
C.GoodsCd AS PRODUCT_NO,
C.GoodsNm AS PRODUCT_NAME,
A.serialno AS SERIAL_NO,
COALESCE(A.SupplyQty, B.goodsqty) AS QUANTITY,
B.custreq AS REQUEST_DATE,
COALESCE(A.Remark, B.bigo) AS CUSTOMER_REQUEST,
(SELECT CdNm FROM SWSA050A_TBL WHERE MajorCd = 'SS' AND MinorCd = B.endsale) AS ORDER_STATUS,
B.OrderNo AS PO_NO,
B.OrderDate AS ORDER_DATE,
B.orderattachpath AS ORDER_ATTACH,
COALESCE(A.SupplyPrice, B.saleprice) AS UNIT_PRICE,
COALESCE(A.SupplyAmt, B.saleamt) AS SUPPLY_PRICE,
COALESCE(A.SupplyVat, B.vatamt) AS VAT,
COALESCE((A.SupplyAmt + A.SupplyVat), (B.saleamt + B.vatamt)) AS TOTAL_AMOUNT,
COALESCE(A.NoWonSymbol, B.nowonsymbol) AS CURRENCY,
COALESCE(A.NoWonExChange, B.nowonexchange) AS EXCHANGE_RATE,
B.shippingstatus AS SHIPPING_STATUS,
B.shippingdate AS SHIPPING_DATE,
B.shippingmethod AS SHIPPING_METHOD,
(SELECT user_name FROM USER_INFO WHERE user_id = D.SalesMan) AS MANAGER,
B.saleQty AS SALES_QUANTITY,
(SELECT CdNm FROM SWSA050A_TBL WHERE MajorCd = 'IT' AND MinorCd = B.incoterms) AS INCOTERMS,
B.salesstatus AS SALES_STATUS
FROM SWSC110A_TBL B
LEFT JOIN SWSD010A_TBL A ON A.orderNo = B.orderNo
INNER JOIN SWSB110A_TBL C ON B.goodsCd = C.goodsCd
INNER JOIN SWSB210A_TBL D ON B.custCd = D.custCd
WHERE 1 = 1
<if test="orderType != null and orderType != ''">
AND B.SaleType = #{orderType}
</if>
<if test="productType != null and productType != ''">
AND C.c_class = #{productType}
</if>
<if test="nation != null and nation != ''">
AND B.nationGB = #{nation}
</if>
<if test="customer != null and customer != ''">
AND D.custNm LIKE CONCAT('%', #{customer}, '%')
</if>
<if test="paymentType != null and paymentType != ''">
AND B.freeyn = #{paymentType}
</if>
<if test="productNo != null and productNo != ''">
AND C.GoodsCd LIKE CONCAT('%', #{productNo}, '%')
</if>
<if test="productName != null and productName != ''">
AND C.GoodsNm LIKE CONCAT('%', #{productName}, '%')
</if>
<if test="serialNo != null and serialNo != ''">
AND A.serialno LIKE CONCAT('%', #{serialNo}, '%')
</if>
<if test="orderStatus != null and orderStatus != ''">
AND B.endsale = #{orderStatus}
</if>
<if test="poNo != null and poNo != ''">
AND B.OrderNo LIKE CONCAT('%', #{poNo}, '%')
</if>
<if test="requestDateFrom != null and requestDateFrom != ''">
AND B.custreq <![CDATA[>=]]> #{requestDateFrom}
</if>
<if test="requestDateTo != null and requestDateTo != ''">
AND B.custreq <![CDATA[<=]]> #{requestDateTo}
</if>
<if test="orderDateFrom != null and orderDateFrom != ''">
AND B.OrderDate <![CDATA[>=]]> #{orderDateFrom}
</if>
<if test="orderDateTo != null and orderDateTo != ''">
AND B.OrderDate <![CDATA[<=]]> #{orderDateTo}
</if>
<if test="shippingStatus != null and shippingStatus != ''">
AND B.shippingstatus = #{shippingStatus}
</if>
<if test="shippingDateFrom != null and shippingDateFrom != ''">
AND B.shippingdate <![CDATA[>=]]> #{shippingDateFrom}
</if>
<if test="shippingDateTo != null and shippingDateTo != ''">
AND B.shippingdate <![CDATA[<=]]> #{shippingDateTo}
</if>
<if test="shippingMethod != null and shippingMethod != ''">
AND B.outGb = #{shippingMethod}
</if>
<if test="manager != null and manager != ''">
AND B.bEmpNo = #{manager}
</if>
<if test="incoterms != null and incoterms != ''">
AND B.incoterms = #{incoterms}
</if>
ORDER BY B.CRET_DATE DESC
LIMIT #{COUNT_PER_PAGE} OFFSET #{PAGE_START}
</select>
<!-- 매출관리 그리드 목록 개수 -->
<select id="getSalesMgmtGridListCount" parameterType="map" resultType="int">
/* salesNcollectMgmt.getSalesMgmtGridListCount */
SELECT
COUNT(1)
FROM SWSC110A_TBL B
LEFT JOIN SWSD010A_TBL A ON A.orderNo = B.orderNo
INNER JOIN SWSB110A_TBL C ON B.goodsCd = C.goodsCd
INNER JOIN SWSB210A_TBL D ON B.custCd = D.custCd
WHERE 1 = 1
<if test="orderType != null and orderType != ''">
AND B.SaleType = #{orderType}
</if>
<if test="productType != null and productType != ''">
AND C.c_class = #{productType}
</if>
<if test="nation != null and nation != ''">
AND B.nationGB = #{nation}
</if>
<if test="customer != null and customer != ''">
AND D.custNm LIKE CONCAT('%', #{customer}, '%')
</if>
<if test="paymentType != null and paymentType != ''">
AND B.freeyn = #{paymentType}
</if>
<if test="productNo != null and productNo != ''">
AND C.GoodsCd LIKE CONCAT('%', #{productNo}, '%')
</if>
<if test="productName != null and productName != ''">
AND C.GoodsNm LIKE CONCAT('%', #{productName}, '%')
</if>
<if test="serialNo != null and serialNo != ''">
AND A.serialno LIKE CONCAT('%', #{serialNo}, '%')
</if>
<if test="orderStatus != null and orderStatus != ''">
AND B.endsale = #{orderStatus}
</if>
<if test="poNo != null and poNo != ''">
AND B.OrderNo LIKE CONCAT('%', #{poNo}, '%')
</if>
<if test="requestDateFrom != null and requestDateFrom != ''">
AND B.custreq <![CDATA[>=]]> #{requestDateFrom}
</if>
<if test="requestDateTo != null and requestDateTo != ''">
AND B.custreq <![CDATA[<=]]> #{requestDateTo}
</if>
<if test="orderDateFrom != null and orderDateFrom != ''">
AND B.OrderDate <![CDATA[>=]]> #{orderDateFrom}
</if>
<if test="orderDateTo != null and orderDateTo != ''">
AND B.OrderDate <![CDATA[<=]]> #{orderDateTo}
</if>
<if test="shippingStatus != null and shippingStatus != ''">
AND B.shippingstatus = #{shippingStatus}
</if>
<if test="shippingDateFrom != null and shippingDateFrom != ''">
AND B.shippingdate <![CDATA[>=]]> #{shippingDateFrom}
</if>
<if test="shippingDateTo != null and shippingDateTo != ''">
AND B.shippingdate <![CDATA[<=]]> #{shippingDateTo}
</if>
<if test="shippingMethod != null and shippingMethod != ''">
AND B.outGb = #{shippingMethod}
</if>
<if test="manager != null and manager != ''">
AND B.bEmpNo = #{manager}
</if>
<if test="incoterms != null and incoterms != ''">
AND B.incoterms = #{incoterms}
</if>
</select>
</mapper>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,72 +1,86 @@
<%@page import="com.pms.common.utils.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*, com.pms.common.utils.CommonUtils" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="com.pms.common.utils.*"%> <%@ page language="java"
contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page
import="java.util.*, com.pms.common.utils.CommonUtils" %> <%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html id="loginhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><%=Constants.SYSTEM_NAME %></title>
<link rel="stylesheet" href="/css/basic.css">
<link rel="stylesheet" href="/css/basic.css" />
<script src="/js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="/js/sweetalert2.js" ></script>
<script type="text/javascript" src="/js/sweetalert2.js"></script>
<script>
$(function(){
$(document).ready(function(){
$(function () {
$(document).ready(function () {
<c:if test="${!empty ERROR_REASON}">
var errReason = "${ERROR_REASON}";
Swal.fire(errReason);
</c:if>
var errReason = "${ERROR_REASON}"; Swal.fire(errReason);
</c:if>;
$(".login_btn").click(function(){
$(".login_btn").click(function () {
//Swal.fire("userId : "+$("#userId").val()+", password : "+$("#password").val());
login();
});
$("#userId, #password").keypress(function(event){
if(event.which == 13) login();
$("#userId, #password").keypress(function (event) {
if (event.which == 13) login();
});
$("#userId").focus();
$(".loginLogo").attr("class", "loginLogo_<%=Constants.COMPANY_NAME_ENG%>");
$(".loginLogo").attr(
"class",
"loginLogo_<%=Constants.COMPANY_NAME_ENG%>"
);
});
});
function login(){
function login() {
document.loginForm.action = "/main.do";
document.loginForm.submit();
}
</script>
</head>
<body>
<div id="loginBack_woosungse">
<form name="loginForm" id="loginForm" method="post">
</head>
<body>
<div id="loginBack_ilshin">
<form name="loginForm" id="loginForm" method="post">
<div class="login_layout">
<div class="logo_slogan_box">
<div class="slogun_box_woosungse"></div>
</div>
<div id="loginWrap">
<div id="login_box">
<a class="loginLogo_woosungse"></a>
<label for="userId" class="userId">ID</label>
<input type="text" id="userId" name="userId" value="" placeholder="USER ID">
<label for="userPw" class="userPw">PWD</label>
<input type="password" id="password" name="password" value="" placeholder="PASSWORD">
<div style="
display: flex;
/* border: 1px solid #ffffff80; */
border-radius: 5px;
padding: 10px;
width: 278px;
height: 28px;
color: #000;
margin-top: 9px;
" class="radio-group">
<input type="radio" name="chk_info" value="우성에스이" checked="checked" style="
<div class="logo_slogan_box">
<div class="slogun_box_ilshin"></div>
</div>
<div id="loginWrap">
<div id="login_box">
<a class="loginLogo_ilshin"></a>
<label for="userId" class="userId">ID</label>
<input
type="text"
id="userId"
name="userId"
value="plm_admin"
placeholder="USER ID"
/>
<label for="userPw" class="userPw">PWD</label>
<input
type="password"
id="password"
name="password"
value="qlalfqjsgh11"
placeholder="PASSWORD"
/>
<div
style="
display: flex;
/* border: 1px solid #ffffff80; */
border-radius: 5px;
padding: 10px;
width: 278px;
height: 28px;
color: #000;
margin-top: 9px;
"
class="radio-group"
>
<!-- <input type="radio" name="chk_info" value="우성에스이" checked="checked" style="
width: 14px;
margin-left: 6px;
margin-top: -3px;
@@ -84,19 +98,20 @@
margin-top: -3px;
margin-right: 5px;
"><div id="radio-name">외주</div>
</div>
<!--
-->
</div>
<!--
<select name="lang" class="userId">
<option value="ko">한국어</option>
<option value="en">영어</option>
<option value="jp">일본어</option>
</select> -->
<input type="button" value="login" class="login_btn">
</div>
<input type="button" value="login" class="login_btn" />
</div>
</div>
</div>
</form>
</div>
</body>
</form>
</div>
</body>
</html>

View File

@@ -798,13 +798,7 @@ function fn_save(){
<input type="hidden" name="CUSTOMER_OBJID" id="CUSTOMER_OBJID" value="${CUSTOMER_OBJID}">
<input type="hidden" name="CONTRACT_OBJID" id="CONTRACT_OBJID" value="${CONTRACT_OBJID}">
<input type="hidden" name="BOM_REPORT_OBJID" id="BOM_REPORT_OBJID" value="${param.BOM_REPORT_OBJID}">
<%--
<input type="hidden" name="PROJECT_NO" id="PROJECT_NO" value="${info.PROJECT_NO}">
--%>
<input type="hidden" name="UNIT_CODE" id="UNIT_CODE" value="${UNIT_CODE}">
<%-- <input type="hidden" name="product_mgmt_spec" id="product_mgmt_spec" value="${product_mgmt_spec}">
<input type="hidden" name="upg_no" id="upg_no" value="${upg_no}"> --%>
<section>
<div class="plm_menu_name">
<h2><span>PART 및 구조등록 Excel upload</span></h2>
@@ -832,7 +826,18 @@ function fn_save(){
<col width="200px">
</colgroup>
<tr>
<td style="font-size:12px;"><label for="street_number">고객사</label></td>
<td style="font-size:12px;width: 70px;"><label for="street_number">제품구분</label></td>
<td>
<select name="product_cd" id="product_cd" disabled="disabled" style="width: 100px;">
${code_map.product_cd}
</select>
</td>
<!-- <td style="font-size:12px;"><label for="street_number">고객사</label></td>
<td>
<select name="customer_cd" id="customer_cd" disabled="disabled">
${code_map.customer_cd}
@@ -860,7 +865,7 @@ function fn_save(){
<select name="unit" id="unit" disabled="disabled">
${code_map.unit_code}
</select>
</td>
</td> -->
<!-- <td class="btn_td">
<div class="btn_wrap">
<div class="plm_btn_wrap" style="padding:0 8 0 8; text-align: right;">
@@ -873,7 +878,7 @@ function fn_save(){
</table>
</div>
<div id="expenseApplyPopupFormWrap1" style="margin-top:30px;position: ">
<!-- <div id="expenseApplyPopupFormWrap1" style="margin-top:30px;position: ">
<table class="pmsPopupForm">
<colgroup>
@@ -931,10 +936,10 @@ function fn_save(){
<td><select name="APPLICATION_PROJECT_NO10" id="APPLICATION_PROJECT_NO10" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
</tr>
</table>
</div>
</div> -->
<div style="clear:both"></div>
<div style="width:50%; display: inline-block; float:left;">
<div style="width:100%; display: inline-block; float:left;">
<div style=" margin: 0 8px;">
<div id="partExcelPopupFormWrap">
<div class="form_popup_title" style="position:relative;">&nbsp;&nbsp;&nbsp;Excel upload<img src="/images/btnExcel.png" style="position:absolute; top:9px; right:135px;"/><span style="position:absolute; top:0px; right:10px; cursor:pointer;" id="templateDownload">Template Download</span></div>
@@ -975,7 +980,7 @@ function fn_save(){
</div>
</section>
</div>
<div style="width:50%; display: inline-block;">
<div style="width:50%; display: none;">
<div class="in_table_scroll_wrap _table2" style="height:680px;width:99.4%;">
<table class="plm_table" id="headtr">
<colgroup>

View File

@@ -12,6 +12,7 @@ var headerNames = [];
var colModels = [];
var grid;
$(document).ready(function(){
$('.select2').select2();
$("._table1").scroll(function () {
$("._table2").scrollLeft($("._table1").scrollLeft());
@@ -707,15 +708,8 @@ function fn_excelExport(pGridObj,pFileName){
<table>
<tbody>
<tr>
<%-- <td><label for="product_code">기종(모델)명</label></td>
<td>
<select name="search_product_mgmt_objId" id="search_product_mgmt_objId" class="select2" style="width:200px;" autocomplete="off" type="select" title="기종명" required>
<option value="">선택</option>
${code_map.product_code}
</select>
</td> --%>
<td><label for="customer_cd">고객사</label></td>
<!-- <td><label for="customer_cd">고객사</label></td>
<td>
<select name="customer_cd" id="customer_cd" style="" class="select2" autocomplete="off" type="select" reqTitle="고객사">
<option value="">선택</option>
@@ -735,7 +729,7 @@ function fn_excelExport(pGridObj,pFileName){
<td>
<select name="unit_code" id="unit_code" style="width:350px" class="select2" autocomplete="off" type="select" reqTitle="유닛명">
</select>
</td>
</td> -->
<!-- <td><label for="">사양명</label></td>
@@ -748,15 +742,13 @@ function fn_excelExport(pGridObj,pFileName){
<td>
<input type="text" name="search_partNo" id="search_partNo" value="${param.search_partNo}" class="text_area" style="width:200px;"/>
</td>
<%--
<td class="align_r">
<label for="" class="">품명</label>
</td>
<td>
<input type="text" name="search_partName" id="search_partName" value="${param.search_partName}" class="text_area" style="width:200px;"/>
</td>
--%>
<td class="align_r">
<!-- <td class="align_r">
<label for="" class="">LEVEL</label>
</td>
<td>
@@ -769,9 +761,8 @@ function fn_excelExport(pGridObj,pFileName){
<option value="5" ${param.search_level eq '5'?'selected':''}>5</option>
<option value="6" ${param.search_level eq '6'?'selected':''}>6</option>
</select>
</td>
<!-- <td class="label"><label for="">공통유닛명</label></td> -->
<!-- <td><input type="text" name="SEARCH_UNIT_NAME" id="SEARCH_UNIT_NAME"></td> -->
</td> -->
</tr>
</tbody>
</table>
@@ -800,17 +791,19 @@ function fn_excelExport(pGridObj,pFileName){
<col width="120px" /> <!-- 품번 -->
<col width="150px" /> <!-- 품명 -->
<col width="35px" /> <!-- Qty -->
<col width="50px" /> <!-- P_Qty -->
<col width="30px" /> <!-- 3D -->
<col width="30px" /> <!-- 2D -->
<col width="30px" /> <!-- 2D PDF -->
<col width="100px" /> <!-- Material -->
<col width="130px" /> <!-- SPEC. -->
<col width="150px" /> <!-- 처리 -->
<col width="100px" /> <!-- MAKER. -->
<col width="100px" /> <!-- 재료 -->
<col width="130px" /> <!-- 열처리경도 -->
<col width="150px" /> <!-- 처리방법 -->
<col width="150px" /> <!-- 표면처리 -->
<col width="100px" /> <!-- 공급업체 -->
<col width="80px" /> <!-- PART 타입 -->
<col width="60px" /> <!-- REVISION -->
<col width="70px" /> <!-- EO No -->
<col width="70px" /> <!-- EO Date -->
<col width="80px" /> <!-- 부품 유향 -->
<col width="230px" /> <!-- REMARK -->
</colgroup>
<thead>
@@ -828,19 +821,21 @@ function fn_excelExport(pGridObj,pFileName){
</c:when>
</c:choose>
<td>품번</td>
<td>품명 </td>
<td>품명</td>
<td>수량</td>
<td>항목수량</td>
<td>3D</td>
<td>2D</td>
<td>PDF</td>
<td>재</td>
<td>사양(규격)</td>
<td>처리</td>
<td>MAKER</td>
<td>재</td>
<td>열처리경도</td>
<td>처리방법</td>
<td>표면처리</td>
<td>공급업체</td>
<td>범주 이름</td>
<td>Revision</td>
<td>EO No</td>
<td>EO Date</td>
<td>PART구분</td>
<td>비고</td>
</tr>
</thead>
@@ -864,17 +859,19 @@ function fn_excelExport(pGridObj,pFileName){
<col width="120px" /> <!-- 품번 -->
<col width="150px" /> <!-- 품명 -->
<col width="35px" /> <!-- Qty -->
<col width="50px" /> <!-- P_Qty -->
<col width="30px" /> <!-- 3D -->
<col width="30px" /> <!-- 2D -->
<col width="30px" /> <!-- 2D PDF -->
<col width="100px" /> <!-- Material -->
<col width="130px" /> <!-- SPEC. -->
<col width="150px" /> <!-- 처리 -->
<col width="100px" /> <!-- MAKER. -->
<col width="100px" /> <!-- 재료 -->
<col width="130px" /> <!-- 열처리경도 -->
<col width="150px" /> <!-- 처리방법 -->
<col width="150px" /> <!-- 표면처리 -->
<col width="100px" /> <!-- 공급업체 -->
<col width="80px" /> <!-- PART 타입 -->
<col width="60px" /> <!-- REVISION -->
<col width="70px" /> <!-- EO No -->
<col width="70px" /> <!-- EO Date -->
<col width="80px" /> <!-- 부품 유향 -->
<col width="230px" /> <!-- REMARK -->
</colgroup>
<c:choose>
@@ -918,17 +915,19 @@ function fn_excelExport(pGridObj,pFileName){
</td>
<td style="text-align:left !important;" title="${item.PART_NAME}">&nbsp;${item.PART_NAME}</td>
<td title="${item.QTY}" class="align_c">${item.QTY}<%-- <fmt:formatNumber value="${item.QTY}" pattern="#,###" /> --%></td>
<td title="${item.P_QTY}" class="align_c">${item.P_QTY}<%-- <fmt:formatNumber value="${item.P_QTY}" pattern="#,###" /> --%></td>
<td><a href="#" class="File file_${item.FILE_3D_CNT eq 0?'empty_':''}icon" data-OBJID="${item.PART_OBJID}" data-docType="3D_CAD" data-docTypeName="3D CAD 첨부파일"></a></td>
<td><a href="#" class="File file_${item.FILE_2D_CNT eq 0?'empty_':''}icon" data-OBJID="${item.PART_OBJID}" data-docType="2D_DRAWING_CAD" data-docTypeName="2D(Drawing) CAD 첨부파일"></a></td>
<td><a href="#" class="File file_${item.FILE_PDF_CNT eq 0?'empty_':''}icon" data-OBJID="${item.PART_OBJID}" data-docType="2D_PDF_CAD" data-docTypeName="2D(PDF) CAD 첨부파일"></a></td>
<td title="${item.MATERIAL}" class="align_c">${item.MATERIAL}</td><!-- 재 -->
<td title="${item.SPEC}" class="align_l" style="text-align: left; padding-left: 5px;">${item.SPEC}</td><!-- SPEC -->
<td title="${item.POST_PROCESSING}" class="align_l" style="text-align: left; padding-left: 5px;">${item.POST_PROCESSING}</td><!-- 처리 -->
<td title="${item.MAKER}" class="align_l" style="text-align: left; padding-left: 5px;">${item.MAKER}</td><!-- SPEC -->
<td title="${item.MATERIAL}" class="align_c">${item.MATERIAL}</td><!-- 재 -->
<td title="${item.SPEC}" class="align_l" style="text-align: left; padding-left: 5px;">${item.SPEC}</td><!-- 열처리경도 -->
<td title="${item.POST_PROCESSING}" class="align_l" style="text-align: left; padding-left: 5px;">${item.POST_PROCESSING}</td><!-- 처리방법 -->
<td title="${item.POST_PROCESSING}" class="align_l" style="text-align: left; padding-left: 5px;">${item.POST_PROCESSING}</td><!-- 표면처리 -->
<td title="${item.MAKER}" class="align_l" style="text-align: left; padding-left: 5px;">${item.MAKER}</td><!-- 공급업체 -->
<td title="${item.PART_TYPE_TITLE}" class="align_c">${item.PART_TYPE_TITLE}</td><!-- PART_TYPE -->
<td title="${item.REVISION}" class="align_c" style="text-align: left; padding-left: 5px;">${item.REVISION}</td><!-- REVISION -->
<td title="${item.EO_NO}" class="align_c" style="text-align: left; padding-left: 5px;">${item.EO_NO}</td><!-- EO_NO -->
<td title="${item.EO_DATE}" class="align_c" style="text-align: left; padding-left: 5px;">${item.EO_DATE}</td><!-- EO_DATE -->
<td title="${item.PART_TYPE_TITLE}" class="align_c">${item.PART_TYPE_TITLE}</td><!-- SIZE -->
<td title="${item.REMARK}" class="align_l">${item.REMARK}</td><!-- REMARK -->
</tr>
</c:forEach>

View File

@@ -146,10 +146,16 @@ $(document).ready(function(){
var columns = [
/* {headerHozAlign : 'center', hozAlign : 'center', width : '60', title : '순', field : 'NUM' }, */
{headerHozAlign : 'center', hozAlign : 'left ', width : '120', title : '프로젝트번호', field : 'PROJECT_NO' },
/* {headerHozAlign : 'center', hozAlign : 'left ', width : '120', title : '프로젝트번호', field : 'PROJECT_NO' },
{headerHozAlign : 'center', hozAlign : 'left', width : '140', title : '고객사', field : 'CUSTOMER_NAME' },
{headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '고객사프로젝트명', field : 'CUSTOMER_PROJECT_NAME' },
{headerHozAlign : 'center', hozAlign : 'left', width : '270', title : '유닛명', field : 'UNIT_NAME' },
{headerHozAlign : 'center', hozAlign : 'left', width : '270', title : '유닛명', field : 'UNIT_NAME' },*/
{headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '제품구분', field : 'PRODUCT_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '품번', field : 'PART_NO' },
{headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '품명', field : 'PART_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : 'E-BOM', field : 'BOM_CNT',
formatter: fnc_subInfoValueFormatter,
cellClick:function(e, cell){
@@ -158,12 +164,12 @@ var columns = [
fn_openSetStructure(objId);
}
},
{headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '등록자', field : 'DEPT_USER_NAME' },
// {headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '등록자', field : 'DEPT_USER_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '등록일', field : 'REG_DATE' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '배포일', field : 'DEPLOY_DATE' },
// {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '배포일', field : 'DEPLOY_DATE' },
{headerHozAlign : 'center', hozAlign : 'center', width : '85', title : 'Version', field : 'REVISION' },
{headerHozAlign : 'center', hozAlign : 'left', /* width : '200', */ title : '배포사유', field : 'NOTE' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '상태', field : 'STATUS_TITLE' }
];
@@ -527,7 +533,7 @@ function saveexcelpop() {
<div class="content-box-s">
<div class="plm_menu_name_gdnsi">
<h2>
<span>제품관리_PART 및 구조등록</span>
<span>E-BOM List</span>
</h2>
<div class="btnArea">
<input type="button" value="배포" class="plm_btns" id="btnDeploy">
@@ -540,7 +546,7 @@ function saveexcelpop() {
<div id="plmSearchZon">
<table>
<tr>
<td><label for="customer_cd">고객사</label></td>
<!-- <td><label for="customer_cd">고객사</label></td>
<td>
<select name="customer_cd" id="customer_cd" style="width:170px" class="select2" autocomplete="off">
<option value="">선택</option>
@@ -570,17 +576,37 @@ function saveexcelpop() {
</td>
<td>
<select name="SEARCH_WRITER" id="SEARCH_WRITER" style="width:190px;" autocomplete="off" class="select2"></select>
</td> -->
<td><label for="product_cd">제품구분</label></td>
<td>
<select name="product_cd" id="product_cd" style="width:170px" class="select2" autocomplete="off">
<option value="">선택</option>
${code_map.product_cd}
</select>
</td>
<td class="label"><label for="">품번</label></td>
<td>
<input type="text" name="SEARCH_PART_NO" id="SEARCH_PART_NO">
</td>
<td class="label"><label for="">품멸</label></td>
<td>
<input type="text" name="SEARCH_PART_NAME" id="SEARCH_PART_NAME">
</td>
<td class="align_r">
<label>배포일</label>
<label>등록일</label>
</td>
<td>
<input type="text" name="SEARCH_DEPLOY_DATE_FROM" id="SEARCH_DEPLOY_DATE_FROM" style="width:90px;" autocomplete="off" value="${param.SEARCH_DEPLOY_DATE_FROM}">~
<input type="text" name="SEARCH_DEPLOY_DATE_TO" id="SEARCH_DEPLOY_DATE_TO" style="width:90px;" autocomplete="off" value="${param.SEARCH_DEPLOY_DATE_TO}">
</td>
</tr>
<tr>
<td><label for="status">상태</label></td>
<td>
<select id="status" name="status" class="select2" style="width:170px;">
@@ -591,6 +617,7 @@ function saveexcelpop() {
</select>
</td>
</tr>
</table>
</div>

Some files were not shown because too many files have changed in this diff Show More