diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..fbef53c --- /dev/null +++ b/.env.development @@ -0,0 +1,26 @@ +# FITO 개발환경 설정 + +# 애플리케이션 환경 +NODE_ENV=development + +# 데이터베이스 설정 +DB_URL=jdbc:postgresql://211.115.91.141:11140/fito +DB_USERNAME=postgres +DB_PASSWORD=intops0909!! + +# PostgreSQL 환경 변수 (내부 DB 사용 시) +POSTGRES_DB=fito +POSTGRES_USER=postgres +POSTGRES_PASSWORD=intops0909!! + +# 애플리케이션 포트 +APP_PORT=8090 + +# JVM 옵션 +JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m + +# 로그 레벨 +LOG_LEVEL=DEBUG + +# 개발 모드 플래그 +DEBUG=true diff --git a/DOCKER_SETUP.md b/DOCKER_SETUP.md index d1f57f0..ddb340d 100644 --- a/DOCKER_SETUP.md +++ b/DOCKER_SETUP.md @@ -145,8 +145,7 @@ chmod +x start-docker-linux.sh - 데이터베이스: localhost:5432 (내부 DB 사용 시) ### 운영환경 -- 애플리케이션: https://ilshin.esgrin.com -- 대체 도메인: https://autoclave.co.kr +- 애플리케이션: https://fito.wace.me ## 트러블슈팅 @@ -234,16 +233,16 @@ docker-compose -f docker-compose.dev.yml down docker exec -it plm-ilshin-container bash # 데이터베이스 접근 (내부 DB 사용 시) -docker exec -it plm-ilshin-db-container psql -U postgres -d ilshin +docker exec -it plm-ilshin-db-container psql -U postgres -d fito ``` ### 백업 및 복원 ```bash # 데이터베이스 백업 -docker exec plm-ilshin-db-container pg_dump -U postgres ilshin > backup.sql +docker exec plm-ilshin-db-container pg_dump -U postgres fito > backup.sql # 데이터베이스 복원 -docker exec -i plm-ilshin-db-container psql -U postgres ilshin < backup.sql +docker exec -i plm-ilshin-db-container psql -U postgres fito < backup.sql ``` ## 보안 고려사항 diff --git a/Dockerfile b/Dockerfile index 3b8ec5d..296a071 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,13 +15,13 @@ COPY WebContent ./WebContent # Create classes directory RUN mkdir -p WebContent/WEB-INF/classes -# Compile Java sources +# Compile Java sources (include Tomcat servlet API in classpath) RUN find src -name "*.java" -print0 | xargs -0 javac \ -encoding UTF-8 \ -source 1.7 \ -target 1.7 \ -d WebContent/WEB-INF/classes \ - -cp "WebContent/WEB-INF/lib/*" \ + -cp "WebContent/WEB-INF/lib/*:/usr/local/tomcat/lib/*" \ -Xlint:-options \ -Xlint:-deprecation \ -Xlint:-unchecked diff --git a/Dockerfile.dev b/Dockerfile.dev index 6611574..d22287d 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,10 +1,58 @@ -FROM dockerhub.wace.me/tomcat:7.0.94-jre7-alpine.arm64 AS Development +# Multi-stage build for development +# Stage 1: Build stage - compile Java sources +FROM dockerhub.wace.me/tomcat:7.0.94-jre7-alpine.arm64 AS builder + +# Install JDK for compilation (JRE image doesn't have javac) +RUN apk add --no-cache openjdk7 + +# Set working directory +WORKDIR /build + +# Copy source code and libraries +COPY src ./src +COPY WebContent ./WebContent + +# Create classes directory +RUN mkdir -p WebContent/WEB-INF/classes + +# Compile Java sources (include Tomcat servlet API in classpath) +RUN find src -name "*.java" -print0 | xargs -0 javac \ + -encoding UTF-8 \ + -source 1.7 \ + -target 1.7 \ + -d WebContent/WEB-INF/classes \ + -cp "WebContent/WEB-INF/lib/*:/usr/local/tomcat/lib/*" \ + -Xlint:-options \ + -Xlint:-deprecation \ + -Xlint:-unchecked + +# Copy resources (XML, properties files) +RUN find src -type f \( -name "*.xml" -o -name "*.properties" \) | while read -r filepath; do \ + relative_path="${filepath#src/}"; \ + target_file="WebContent/WEB-INF/classes/$relative_path"; \ + mkdir -p "$(dirname "$target_file")"; \ + cp "$filepath" "$target_file"; \ + done + +# Verify compilation +RUN CLASS_COUNT=$(find WebContent/WEB-INF/classes -name "*.class" | wc -l); \ + if [ $CLASS_COUNT -eq 0 ]; then \ + echo "ERROR: No Java classes were compiled!"; \ + exit 1; \ + else \ + echo "Successfully compiled $CLASS_COUNT Java classes"; \ + fi + +# Stage 2: Runtime stage +FROM dockerhub.wace.me/tomcat:7.0.94-jre7-alpine.arm64 AS development # Remove default webapps RUN rm -rf /usr/local/tomcat/webapps/* -# Copy web application content (compiled classes and web resources) -COPY WebContent /usr/local/tomcat/webapps/ROOT +# Copy compiled application from builder stage +COPY --from=builder /build/WebContent /usr/local/tomcat/webapps/ROOT + +# Copy source for reference COPY src /usr/local/tomcat/webapps/ROOT/WEB-INF/src # Copy custom Tomcat context configuration for JNDI @@ -13,11 +61,8 @@ COPY ./tomcat-conf/context.xml /usr/local/tomcat/conf/context.xml # Configure Tomcat Connector for UTF-8 URI encoding RUN sed -i 's/ - + + \ No newline at end of file diff --git a/WebContent/META-INF/MANIFEST.MF b/WebContent/META-INF/MANIFEST.MF old mode 100755 new mode 100644 diff --git a/WebContent/SE2/SmartEditor2.html b/WebContent/SE2/SmartEditor2.html old mode 100755 new mode 100644 diff --git a/WebContent/SE2/SmartEditor2Skin.html b/WebContent/SE2/SmartEditor2Skin.html old mode 100755 new mode 100644 diff --git a/WebContent/SE2/SmartEditor2_noframe.html b/WebContent/SE2/SmartEditor2_noframe.html old mode 100755 new mode 100644 diff --git a/WebContent/SE2/css/smart_editor2.css b/WebContent/SE2/css/smart_editor2.css old mode 100755 new mode 100644 diff --git a/WebContent/SE2/css/smart_editor2_in.css b/WebContent/SE2/css/smart_editor2_in.css old mode 100755 new mode 100644 diff --git a/WebContent/SE2/css/smart_editor2_items.css b/WebContent/SE2/css/smart_editor2_items.css old mode 100755 new mode 100644 diff --git a/WebContent/SE2/css/smart_editor2_out.css b/WebContent/SE2/css/smart_editor2_out.css old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_b1.png b/WebContent/SE2/img/bg_b1.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_button.gif b/WebContent/SE2/img/bg_button.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_button_left.gif b/WebContent/SE2/img/bg_button_left.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_button_right.gif b/WebContent/SE2/img/bg_button_right.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_find_h3.gif b/WebContent/SE2/img/bg_find_h3.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_help.gif b/WebContent/SE2/img/bg_help.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_icon_tool.gif b/WebContent/SE2/img/bg_icon_tool.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_line1.gif b/WebContent/SE2/img/bg_line1.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_quote2.gif b/WebContent/SE2/img/bg_quote2.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_set.gif b/WebContent/SE2/img/bg_set.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_text_tool.gif b/WebContent/SE2/img/bg_text_tool.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/bg_tool2.gif b/WebContent/SE2/img/bg_tool2.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/editor_guideline_698.gif b/WebContent/SE2/img/editor_guideline_698.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/editor_guideline_890.gif b/WebContent/SE2/img/editor_guideline_890.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/ico_extend.png b/WebContent/SE2/img/ico_extend.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/icon_set.gif b/WebContent/SE2/img/icon_set.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/ko_KR/btn_set.png b/WebContent/SE2/img/ko_KR/btn_set.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/ko_KR/bx_set_110302.gif b/WebContent/SE2/img/ko_KR/bx_set_110302.gif old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/ko_KR/text_tool_set.png b/WebContent/SE2/img/ko_KR/text_tool_set.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/img/text_tool_set2.png b/WebContent/SE2/img/text_tool_set2.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/js/HuskyEZCreator.js b/WebContent/SE2/js/HuskyEZCreator.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/js/SE2BasicCreator.js b/WebContent/SE2/js/SE2BasicCreator.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/js/SE2M_Configuration.js b/WebContent/SE2/js/SE2M_Configuration.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/js/lib/jindo2.all.js b/WebContent/SE2/js/lib/jindo2.all.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/js/lib/jindo_component.js b/WebContent/SE2/js/lib/jindo_component.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/js/smarteditor2.js b/WebContent/SE2/js/smarteditor2.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/js/smarteditor2.min.js b/WebContent/SE2/js/smarteditor2.min.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/readme.txt b/WebContent/SE2/readme.txt old mode 100755 new mode 100644 diff --git a/WebContent/SE2/release_notes.txt b/WebContent/SE2/release_notes.txt old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample.php b/WebContent/SE2/sample.php old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/js/plugin/hp_SE2M_AttachQuickPhoto.js b/WebContent/SE2/sample/js/plugin/hp_SE2M_AttachQuickPhoto.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/attach_photo.js b/WebContent/SE2/sample/photo_uploader/attach_photo.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/callback.html b/WebContent/SE2/sample/photo_uploader/callback.html old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/file_uploader.jsp b/WebContent/SE2/sample/photo_uploader/file_uploader.jsp old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/file_uploader.php b/WebContent/SE2/sample/photo_uploader/file_uploader.php old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/file_uploader_html5.jsp b/WebContent/SE2/sample/photo_uploader/file_uploader_html5.jsp old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/file_uploader_html5.php b/WebContent/SE2/sample/photo_uploader/file_uploader_html5.php old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/img/bg_drag_image.png b/WebContent/SE2/sample/photo_uploader/img/bg_drag_image.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/img/btn_cancel.png b/WebContent/SE2/sample/photo_uploader/img/btn_cancel.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/img/btn_confirm.png b/WebContent/SE2/sample/photo_uploader/img/btn_confirm.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/img/btn_confirm2.png b/WebContent/SE2/sample/photo_uploader/img/btn_confirm2.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/img/btn_del.png b/WebContent/SE2/sample/photo_uploader/img/btn_del.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/img/btn_find.png b/WebContent/SE2/sample/photo_uploader/img/btn_find.png old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/jindo.fileuploader.js b/WebContent/SE2/sample/photo_uploader/jindo.fileuploader.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/jindo.min.js b/WebContent/SE2/sample/photo_uploader/jindo.min.js old mode 100755 new mode 100644 diff --git a/WebContent/SE2/sample/photo_uploader/photo_uploader.html b/WebContent/SE2/sample/photo_uploader/photo_uploader.html old mode 100755 new mode 100644 diff --git a/WebContent/SE2/smart_editor2_inputarea.html b/WebContent/SE2/smart_editor2_inputarea.html old mode 100755 new mode 100644 diff --git a/WebContent/SE2/smart_editor2_inputarea_ie8.html b/WebContent/SE2/smart_editor2_inputarea_ie8.html old mode 100755 new mode 100644 diff --git a/WebContent/WBSTemplate/20180525-WBS.xlsx b/WebContent/WBSTemplate/20180525-WBS.xlsx old mode 100755 new mode 100644 diff --git a/WebContent/WBSTemplate/WBS.pptx b/WebContent/WBSTemplate/WBS.pptx old mode 100755 new mode 100644 diff --git a/WebContent/WBSTemplate/test.ppt b/WebContent/WBSTemplate/test.ppt old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/dispatcher-servlet.xml b/WebContent/WEB-INF/dispatcher-servlet.xml old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/INICrypto_v3.1.6_signed.jar b/WebContent/WEB-INF/lib/INICrypto_v3.1.6_signed.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/IntegratedCadServer.jar b/WebContent/WEB-INF/lib/IntegratedCadServer.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/NETSSSOScriptAgent.jar b/WebContent/WEB-INF/lib/NETSSSOScriptAgent.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/aopalliance-1.0.jar b/WebContent/WEB-INF/lib/aopalliance-1.0.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/aspectjrt-1.8.4.jar b/WebContent/WEB-INF/lib/aspectjrt-1.8.4.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/aspectjweaver-1.8.4.jar b/WebContent/WEB-INF/lib/aspectjweaver-1.8.4.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/cglib-3.1.jar b/WebContent/WEB-INF/lib/cglib-3.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-beanutils-1.9.1.jar b/WebContent/WEB-INF/lib/commons-beanutils-1.9.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-codec-1.9.jar b/WebContent/WEB-INF/lib/commons-codec-1.9.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar b/WebContent/WEB-INF/lib/commons-collections-3.2.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-digester-1.8.1.jar b/WebContent/WEB-INF/lib/commons-digester-1.8.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-fileupload-1.3.2.jar b/WebContent/WEB-INF/lib/commons-fileupload-1.3.2.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-httpclient-3.1.jar b/WebContent/WEB-INF/lib/commons-httpclient-3.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-io-2.2.jar b/WebContent/WEB-INF/lib/commons-io-2.2.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-io-2.5.jar b/WebContent/WEB-INF/lib/commons-io-2.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-lang3-3.1.jar b/WebContent/WEB-INF/lib/commons-lang3-3.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-logging-1.1.3.jar b/WebContent/WEB-INF/lib/commons-logging-1.1.3.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/commons-net-3.3.jar b/WebContent/WEB-INF/lib/commons-net-3.3.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/cos.jar b/WebContent/WEB-INF/lib/cos.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/egovframework.rte.ptl.mvc-3.1.0.jar b/WebContent/WEB-INF/lib/egovframework.rte.ptl.mvc-3.1.0.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/external-debug.jar b/WebContent/WEB-INF/lib/external-debug.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/ezmorph-1.0.6.jar b/WebContent/WEB-INF/lib/ezmorph-1.0.6.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/fontbox-2.0.6.jar b/WebContent/WEB-INF/lib/fontbox-2.0.6.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/gson-2.3.1.jar b/WebContent/WEB-INF/lib/gson-2.3.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/httpclient-4.5.13.jar b/WebContent/WEB-INF/lib/httpclient-4.5.13.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/httpcore-4.4.13.jar b/WebContent/WEB-INF/lib/httpcore-4.4.13.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/jackson-core-asl-1.9.13.jar b/WebContent/WEB-INF/lib/jackson-core-asl-1.9.13.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar b/WebContent/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/javax.activation-api-1.2.0.jar b/WebContent/WEB-INF/lib/javax.activation-api-1.2.0.jar deleted file mode 100755 index 986c365..0000000 Binary files a/WebContent/WEB-INF/lib/javax.activation-api-1.2.0.jar and /dev/null differ diff --git a/WebContent/WEB-INF/lib/javax.servlet-api-4.0.1.jar b/WebContent/WEB-INF/lib/javax.servlet-api-4.0.1.jar deleted file mode 100755 index 844ec7f..0000000 Binary files a/WebContent/WEB-INF/lib/javax.servlet-api-4.0.1.jar and /dev/null differ diff --git a/WebContent/WEB-INF/lib/json-lib-2.2.2-jdk15.jar b/WebContent/WEB-INF/lib/json-lib-2.2.2-jdk15.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/json-lib-ext-spring-1.0.2.jar b/WebContent/WEB-INF/lib/json-lib-ext-spring-1.0.2.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/json-simple-1.1.1.jar b/WebContent/WEB-INF/lib/json-simple-1.1.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/jsoup-1.14.3-sources.jar b/WebContent/WEB-INF/lib/jsoup-1.14.3-sources.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/jsoup-1.14.3.jar b/WebContent/WEB-INF/lib/jsoup-1.14.3.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/jstl-1.2.jar b/WebContent/WEB-INF/lib/jstl-1.2.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/jxl.jar b/WebContent/WEB-INF/lib/jxl.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/log4j-1.2.17.jar b/WebContent/WEB-INF/lib/log4j-1.2.17.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/log4jdbc-remix-0.2.7.jar b/WebContent/WEB-INF/lib/log4jdbc-remix-0.2.7.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/mail.jar b/WebContent/WEB-INF/lib/mail.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/mybatis-3.2.3.jar b/WebContent/WEB-INF/lib/mybatis-3.2.3.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/mybatis-spring-1.2.1.jar b/WebContent/WEB-INF/lib/mybatis-spring-1.2.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/nls-debug.jar b/WebContent/WEB-INF/lib/nls-debug.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/ojdbc5.jar b/WebContent/WEB-INF/lib/ojdbc5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/pdfbox-2.0.6.jar b/WebContent/WEB-INF/lib/pdfbox-2.0.6.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/poi-3.11.jar b/WebContent/WEB-INF/lib/poi-3.11.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/poi-ooxml-3.11.jar b/WebContent/WEB-INF/lib/poi-ooxml-3.11.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/poi-ooxml-schemas-3.11.jar b/WebContent/WEB-INF/lib/poi-ooxml-schemas-3.11.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/postgresql-42.2.16.jre7.jar b/WebContent/WEB-INF/lib/postgresql-42.2.16.jre7.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/scsl.jar b/WebContent/WEB-INF/lib/scsl.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/slf4j-api-1.7.7.jar b/WebContent/WEB-INF/lib/slf4j-api-1.7.7.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.7.jar b/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.7.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-jdbc-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-jdbc-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-oxm-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-oxm-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-test-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-test-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-tx-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-tx-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-ws-core-2.1.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-ws-core-2.1.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/spring-xml-2.1.4.RELEASE.jar b/WebContent/WEB-INF/lib/spring-xml-2.1.4.RELEASE.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/stax-api-1.0-2.jar b/WebContent/WEB-INF/lib/stax-api-1.0-2.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tibero6-jdbc.jar b/WebContent/WEB-INF/lib/tibero6-jdbc.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-api-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-api-3.0.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-autotag-core-runtime-1.1.0.jar b/WebContent/WEB-INF/lib/tiles-autotag-core-runtime-1.1.0.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-core-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-core-3.0.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-el-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-el-3.0.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-extras-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-extras-3.0.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-jsp-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-jsp-3.0.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-request-api-1.0.6.jar b/WebContent/WEB-INF/lib/tiles-request-api-1.0.6.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-request-jsp-1.0.6.jar b/WebContent/WEB-INF/lib/tiles-request-jsp-1.0.6.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-request-servlet-1.0.6.jar b/WebContent/WEB-INF/lib/tiles-request-servlet-1.0.6.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-request-servlet-wildcard-1.0.6.jar b/WebContent/WEB-INF/lib/tiles-request-servlet-wildcard-1.0.6.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-servlet-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-servlet-3.0.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/tiles-template-3.0.5.jar b/WebContent/WEB-INF/lib/tiles-template-3.0.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/wsdl4j-1.6.1.jar b/WebContent/WEB-INF/lib/wsdl4j-1.6.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/xercesImpl-2.11.0.jar b/WebContent/WEB-INF/lib/xercesImpl-2.11.0.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/xml-apis-1.4.01.jar b/WebContent/WEB-INF/lib/xml-apis-1.4.01.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/xmlbeans-2.6.0.jar b/WebContent/WEB-INF/lib/xmlbeans-2.6.0.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/xmlpull-1.1.3.1.jar b/WebContent/WEB-INF/lib/xmlpull-1.1.3.1.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/xpp3_min-1.1.4c.jar b/WebContent/WEB-INF/lib/xpp3_min-1.1.4c.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/lib/xstream-1.4.5.jar b/WebContent/WEB-INF/lib/xstream-1.4.5.jar old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/log4j.xml b/WebContent/WEB-INF/log4j.xml old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/view/admin/codeCategory/codeCategoryFormPopUp.jsp b/WebContent/WEB-INF/view/admin/codeCategory/codeCategoryFormPopUp.jsp index efd53c9..5cf67c2 100644 --- a/WebContent/WEB-INF/view/admin/codeCategory/codeCategoryFormPopUp.jsp +++ b/WebContent/WEB-INF/view/admin/codeCategory/codeCategoryFormPopUp.jsp @@ -325,11 +325,6 @@ --%> - - - - - diff --git a/WebContent/WEB-INF/view/admin/codeCategory/codeCategoryModifyPopUp.jsp b/WebContent/WEB-INF/view/admin/codeCategory/codeCategoryModifyPopUp.jsp index 1b01a93..36de95e 100644 --- a/WebContent/WEB-INF/view/admin/codeCategory/codeCategoryModifyPopUp.jsp +++ b/WebContent/WEB-INF/view/admin/codeCategory/codeCategoryModifyPopUp.jsp @@ -113,12 +113,6 @@ - - - - - - diff --git a/WebContent/WEB-INF/view/admin/supply/supplyMngList.jsp b/WebContent/WEB-INF/view/admin/supply/supplyMngList.jsp index ec4b3d3..739c05f 100644 --- a/WebContent/WEB-INF/view/admin/supply/supplyMngList.jsp +++ b/WebContent/WEB-INF/view/admin/supply/supplyMngList.jsp @@ -23,6 +23,7 @@
diff --git a/WebContent/WEB-INF/view/common/FileRegistPopup.jsp b/WebContent/WEB-INF/view/common/FileRegistPopup.jsp index c0a1926..edfb0c9 100644 --- a/WebContent/WEB-INF/view/common/FileRegistPopup.jsp +++ b/WebContent/WEB-INF/view/common/FileRegistPopup.jsp @@ -196,7 +196,7 @@ function fileDelete(fileObjId){
Drag & Drop Files Here
-
+
diff --git a/WebContent/WEB-INF/view/common/download.jsp b/WebContent/WEB-INF/view/common/download.jsp index a9f2e04..3f9b05c 100644 --- a/WebContent/WEB-INF/view/common/download.jsp +++ b/WebContent/WEB-INF/view/common/download.jsp @@ -20,8 +20,7 @@ if(!"".equals(realFileName)){ realFileName = (java.net.URLEncoder.encode(realFileName, "UTF-8")).replaceAll("\\+", " "); } -// Linux/Docker 환경에서는 슬래시(/) 사용 -String fullFilePath = filePath + "/" + savedFileName; +String fullFilePath = filePath+"\\"+savedFileName; System.out.println("fullFilePath : "+fullFilePath); File f = new File(fullFilePath); diff --git a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormPopup.jsp index d1ae73e..e4cda13 100644 --- a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormPopup.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormPopup.jsp @@ -1,2577 +1,880 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@include file="/init.jsp"%> -<% - PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); - String userId = CommonUtils.checkNull(person.getUserId()); -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - - - - - - -
-
-

- 영업관리_계약관리 등록 -

-
- -
-
- 영업등록 -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
-
-
- - -
-
- 사양상세 -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - -
-
-
- - -
-
- 영업진행 -
- - - - -
- - - - - - - - - - - - - - - - -
- -
- -
-
-
- - -
- - - - - -
- - - - - - - - - - - - - - - - - - -
- 입수자료 - -
-
DRAG & DROP
-
-
-
- - - - -
-
-
- 제출자료 - -
-
DRAG & DROP
-
-
-
- - - - -
-
-
-
-
- -
-
- 견적이력관리 -
- - - -
-
- - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- 등록된 견적 정보가 없습니다 -
- - - - - - - - - - -
-
- 견적서 첨부 (클릭 또는 드래그앤드롭) -
-
- -
-
- - -
-
-
- -
-
- 결과관리 -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - -
-
-
- - -
-
- 내부 공유자료 첨부 -
- - - - -
- - - - - - - - - - - - - - -
- 공유자료 - -
-
DRAG & DROP
-
-
-
- - - - -
-
-
-
-
- - -
-
- 메모 -
- - - - -
- - - - - - - - - -
- -
-
-
- -
-
- - - - - - <%-- 임시: 수주 상태 수정을 위해 작성자 체크 해제 (목요일 원복 예정) --%> - - - - -
-
- - - - +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ page import="com.pms.common.utils.*"%> +<%@ page import="java.util.*"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@include file="/init.jsp"%> +<% + PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); + String userId = CommonUtils.checkNull(person.getUserId()); +%> + + + + +<%=Constants.SYSTEM_NAME%> + + + + +
+ + + + +
+
+

+ 영업관리_계약관리 등록 +

+
+ +
+
+ 영업등록 정보입력 +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + +
+ + + + + +
+ +
+ + + +
+
+
" + reqTitle="수주가(통화)" numberOnly />
" + reqTitle="원화 환산금액" numberOnly />
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ DRAG & DROP +
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+ + + + + + + + + +
+
+
+
+
+
+
+
+ DRAG & DROP +
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+ + + + + + + + + +
+
+
+
+
+
+ +
+ +
+
+ + + + + + + + + +
+
+ +
+
+ \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormPopup_back.jsp b/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormPopup_back.jsp index 9edda32..4f9786f 100644 --- a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormPopup_back.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormPopup_back.jsp @@ -1,2518 +1,717 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*"%> +<%@ page import="java.util.*" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@include file="/init.jsp"%> +<%@include file= "/init.jsp" %> <% - PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); - String userId = CommonUtils.checkNull(person.getUserId()); +PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); +String userId = CommonUtils.checkNull(person.getUserId()); %> <%=Constants.SYSTEM_NAME%> - -
- + - -
-
+ + + +
+

영업관리_계약관리 등록

- -
-
- 영업등록 -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - -
-
-
- - -
-
- 사양상세 -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - -
-
-
- - -
-
- 영업진행 -
- - - - -
- - - - - - - - - - - - - - - - -
- -
- -
-
-
- - -
- - - - - -
- - - - - - - - - - - - - - - - - - -
- 입수자료 - -
-
DRAG & DROP
-
-
-
- - - - -
-
-
- 제출자료 - -
-
DRAG & DROP
-
-
-
- - - - -
-
-
-
-
- -
-
- 견적이력관리 -
- - - -
-
- - -
-
- - - - - -
- +
+

영업정보

+
- - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- 등록된 견적 정보가 없습니다 -
- - - - - - - - - - -
-
- 견적서 첨부 (클릭 또는 드래그앤드롭) -
-
- -
-
- - -
-
-
- -
-
- 결과관리 -
- - + + + + + + + + + + + + + + + + + + + + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + <%-- --%> + +
- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
+
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+
+ +
+

첨부파일

+ + + + + + + + + + + + + +
+
Drag & Drop Files Here
+
+
+ + +
+ + + + + + + + + + + + + +
No첨부파일명등록일
+
+
+ +
+
+
-
-
- 내부 공유자료 첨부 -
- + <%--
+

검토내용

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + 제안서 + + + + + + + + + - - - - - - - - - - - - - - -
- 공유자료 - -
-
DRAG & DROP
-
-
-
- - - - -
-
-
+ +
+ + + 사양서 + + + + + + + + + + +
+ 견적서 + + + + + + + + + + +
+
--%> + + +
+

수주결과

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + + --%> + + + + +<%-- --%> + +
+ + + + + " reqTitle="수주가(통화)" numberOnly/> + + " required reqTitle="수주가(원)" numberOnly/> + + + + +
+ + + + + + + + + + + + + + +
- - -
-
- 메모 -
- + + + +
+

첨부파일

+
+ + + + + + + + - + + +
- - - - - - - - - -
- -
+
+
Drag & Drop Files Here
+
+
+ + +
+ + + + + + + + + + + + + +
No첨부파일명등록일
+
+
+ +
+
+
- + + + +
@@ -2520,15 +719,12 @@ function fnc_fileMultiUpload1_Callback(files) { - - - +
-
diff --git a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormQuotePopup.jsp b/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormQuotePopup.jsp deleted file mode 100644 index 99febb5..0000000 --- a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormQuotePopup.jsp +++ /dev/null @@ -1,1997 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@include file="/init.jsp"%> -<% - PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); - String userId = CommonUtils.checkNull(person.getUserId()); -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - -
- - - - -
-
-
- 견적이력관리 -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- 등록된 견적 정보가 없습니다 -
- - - - - - - - - - -
-
- 견적서 첨부 (클릭 또는 드래그앤드롭) -
-
- -
-
- - -
-
-
-
-
- <%-- - - - - - - - --%> - -
-
- -
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormmondayReportHistoryPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormmondayReportHistoryPopup.jsp deleted file mode 100644 index 933029c..0000000 --- a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormmondayReportHistoryPopup.jsp +++ /dev/null @@ -1,2058 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@include file="/init.jsp"%> -<% - PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); - String userId = CommonUtils.checkNull(person.getUserId()); -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - -
- - - - -
- -
-
- 영업 회의 등록 이력 -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 등록된 영업 회의가 없습니다 -
- - - - - - -
-
- -
- -
- -
-
- - -
-
-
- -
- - -
- - - - -
- -
- -
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormmondayReportPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormmondayReportPopup.jsp deleted file mode 100644 index cf52f04..0000000 --- a/WebContent/WEB-INF/view/contractMgmt/contracMgmtFormmondayReportPopup.jsp +++ /dev/null @@ -1,2266 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@include file="/init.jsp"%> -<% - PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); - String userId = CommonUtils.checkNull(person.getUserId()); -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - -
- - - - -
-
-

- 영업 회의 등록 -

-
- -
-
- 영업정보 -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - -
-
-
- -
-
- 견적이력 -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 등록된 견적 정보가 없습니다 -
- - - - - - - - -
-
-
-
- -
-
- - -
-
-
- - -
-
- 영업 회의 등록 -
- - -
-
- - -
-
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- 등록된 영업 회의가 없습니다 -
- - - - - - - - -
-
- 파일 첨부 (클릭 또는 드래그앤드롭) -
- -
- -
-
- - -
-
-
- -
- - -
- - - - -
- -
- -
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/contracMgmtdetailFormPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/contracMgmtdetailFormPopup.jsp deleted file mode 100644 index 022592d..0000000 --- a/WebContent/WEB-INF/view/contractMgmt/contracMgmtdetailFormPopup.jsp +++ /dev/null @@ -1,1997 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@include file="/init.jsp"%> -<% - PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); - String userId = CommonUtils.checkNull(person.getUserId()); -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - -
- - - - -
- - -
-
- 사양상세 -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - -
-
-
- - -
-
-<%-- - - - - - - - --%> - -
-
- -
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/contractDashboard.jsp b/WebContent/WEB-INF/view/contractMgmt/contractDashboard.jsp index 2b4f89d..2362857 100644 --- a/WebContent/WEB-INF/view/contractMgmt/contractDashboard.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/contractDashboard.jsp @@ -170,203 +170,198 @@ function fn_openTargetList(productCategory,product,targetType,dateType,searchYea
-
-
- -
-
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
명칭제품구분${info.MONTH_TITLE}
수주출고수주출고
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
소계(확정대수) + + + + + ${item.CONTRACT_CNT_YEAR} + + ${item.RELEASE_CNT_YEAR} +
수주확정 매출합계(원) + + + ${item.CONTRACT_COST_YEAR} +
${item.RNUM eq '1' ? item.CODE_NAME:''}${item.PRODUCT_CODE} + + + + + ${item.CONTRACT_CNT_YEAR} + + ${item.RELEASE_CNT_YEAR} +
조회된 데이터가 없습니다.
+
+
+
- -
-
-
- - ■ 계약현황 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
수주확정 건수출고
${product.PRODUCT_NAME}매출액
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
${month.MONTH_TITLE} - 0 - 00
- 0 - 00
-
-
- - - -
-
- ■ 영업목표 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
년도영업목표
(억원)
현황
계약건수계약금액달성율
2025350000%
%
%
-
-
-
- - - -
-
- + \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/contractDashboard_new.jsp b/WebContent/WEB-INF/view/contractMgmt/contractDashboard_new.jsp index 7473b35..6e638ea 100644 --- a/WebContent/WEB-INF/view/contractMgmt/contractDashboard_new.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/contractDashboard_new.jsp @@ -1,38 +1,131 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.pms.common.utils.*"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ page import="java.util.*" %> <%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -String connector = person.getUserId(); - -%> - + - <%=Constants.SYSTEM_NAME%> - + <%=Constants.SYSTEM_NAME%> + + + + + + - + + + -
- - - - - -
-
-
-
-
-

- 영업관리_계약현황 -

-
- -
-
-
- - - - - - - - - - - - - - -<%-- - --%> - - - - - - <%-- - --%> - - <%-- - --%> - -
- - - - - - - - - - - - - ~ - - - -
-
- -
-
- -
+ + + + + + + + + + + + + + +
+ +
+
+
+
+

+ 영업관리_계약현황 +

+
+ + +
+
+
+ + + + + + + + + + + + + + + + +
+ + + + + + + +
+
+ + +
-
- -
- ■ 계약현황 -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
수주확정 건수수주확정 건수매출액출고
${product.NAME}압력용기교반기프레스초임계반응기분산기가압오븐기타소모품
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
${data.MM}월 - ${data['CONTRACT_CNT_MONTH_'.concat(product.CODE)] != null ? data['CONTRACT_CNT_MONTH_'.concat(product.CODE)] : 0} - 000000000${data.RELEASE_CNT_YEAR != null ? data.RELEASE_CNT_YEAR : 0}
- ${data['CONTRACT_CNT_MONTH_'.concat(product.CODE)] != null ? data['CONTRACT_CNT_MONTH_'.concat(product.CODE)] : 0} - 000000000${data.RELEASE_CNT_YEAR != null ? data.RELEASE_CNT_YEAR : 0}
데이터가 없습니다.
-
+
+ + ■ 계약현황 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
수주확정 건수출고
${info.NAME}매출액
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
${item.MM}월 + +
조회된 데이터가 없습니다.
+
- -
- -
- ■ 영업목표 -
-
- + + +
+
+ ■ 영업목표 + +
- - - - - + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + <%-- + + + + + + + + + + + + + + + + + --%> + + + + + + + + + + + + + + + + + + + + -
년도영업목표
(억원)
현황년도영업목표
(억원)
현황
계약건수계약금액달성율
계약건수계약금액달성율
2025350000%
%
%
${row.M03_PRICE}${row.M03_CM}${row.M03_RM}${row.M01_PRICE}${row.M01_PRICE}
조회된 데이터가 없습니다.
${yearGoalInfoMap.YEAR}${yearGoalInfoMap.CONTRACT_CNT_YEAR}%
${yearGoalInfoMap1.YEAR}${yearGoalInfoMap1.PRICE}${yearGoalInfoMap1.CONTRACT_CNT_YEAR}%
${yearGoalInfoMap2.YEAR}${yearGoalInfoMap2.PRICE}${yearGoalInfoMap2.CONTRACT_CNT_YEAR}%
-
-
-
- - -
-
- ■ 납기일 도래 프로젝트 -
- - - - - -
+
+
- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
No프로젝트번호영업번호고객사제품군장비명요청납기일상태영업담당자
-
- -
- - - - - - - - - - - - - - - - - background-color:#fb923c; color:#c2410c; font-weight:bold; - background-color:#fed7aa; color:#ea580c; font-weight:bold; - background-color:#fff7ed; color:#ea580c; - - "> - - - - - - - - - - - - - - - - - - - -
${status.count}${item.PROJECT_NO} - ${item.CONTRACT_NO} - ${item.CUSTOMER_NAME}${item.PRODUCT_NAME} - - ${fn:substring(item.EQUIPMENT_NAME, 0, 25)}... - ${item.EQUIPMENT_NAME} - - ${item.FINAL_DUE_DATE} - - 지연(${item.DAYS_REMAINING * -1}일) - 임박(${item.DAYS_REMAINING}일) - ${item.DAYS_REMAINING}일 남음 - - ${item.PM_USER_NAME}
납기일 도래 프로젝트가 없습니다.
-
+ +
+
+
-
- +
+
+ + + + - + \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/contractList.jsp b/WebContent/WEB-INF/view/contractMgmt/contractList.jsp index 014484c..1a669b7 100644 --- a/WebContent/WEB-INF/view/contractMgmt/contractList.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/contractList.jsp @@ -55,7 +55,7 @@ $(document).ready(function(){ //영업활동 등록 팝업 $(".btnRegist").click(function(){ var popup_width = 1200; - var popup_height = 1000; + var popup_height = 550; var params = "?actionType=regist" var url = "/contractMgmt/contracMgmtFormPopup.do"+params; //window.open("/ordermgmt/ordermgmtUpdateFormPopup.do"+params, "", "width=650, height=750","menubars=no, scrollbars=yes, resizable=yes"); @@ -91,98 +91,72 @@ $(document).ready(function(){ document.form1.submit(); }); - - fn_search(); - - }); var columns = [ - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '영업번호', field : 'CONTRACT_NO', frozen:true, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '영업번호', field : 'CONTRACT_NO', frozen:true, formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); fn_projectConceptDetail(objid); } }, - {title:"영업정보", headerHozAlign:'center', //영업정보 섹션 + {title:"영업정보(상세)", headerHozAlign:'center', //고객정보 columns:[ - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '제품형번', field : 'PRODUCT_NO'}, {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '계약구분', field : 'CATEGORY_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '과거프로젝트번호', field : 'PROJECT_NO'}, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '차수', field : 'OVERHAUL_ORDER'}, {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '국내/해외', field : 'AREA_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '150', title : '고객사', field : 'CUSTOMER_NAME'}, - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '제품군', field : 'PRODUCT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '제품코드', field : 'PRODUCT_CODE_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '150', title : '장비명', field : 'EQUIPMENT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '고객사', field : 'CUSTOMER_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '제품구분', field : 'PRODUCT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '기계형식', field : 'MECHANICAL_TYPE' }, + {headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '고객사 프로젝트명', field : 'CUSTOMER_PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '예상납기일', field : 'DUE_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '입고지', field : 'LOCATION' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '셋업지', field : 'SETUP' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비방향', field : 'FACILITY_NAME' }, {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '설비대수', field : 'FACILITY_QTY' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '요청납기일', field : 'DUE_DATE' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '셋업지', field : 'SETUP'}, - - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '사양상세', field : 'OBJID', - formatter:fnc_getFolderIcon, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - fn_projectDetail(objid); - } - }, - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '입수자료', field : 'CU01_CNT', + {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '설비타입', field : 'FACILITY_TYPE' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비길이', field : 'FACILITY_DEPTH' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : '담당자', field : 'WRITER_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '등록일', field : 'REG_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '첨부파일', field : 'CU01_CNT', formatter:fnc_subInfoValueFormatter, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); var docType = 'contractMgmt01'; - var docTypeName = '입수자료'; + var docTypeName = 'contractMgmt01'; fn_FileRegist(objid, docType, docTypeName); } - }, - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '제출자료', field : 'CU02_CNT', - formatter:fnc_subInfoValueFormatter, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var docType = 'contractMgmt02'; - var docTypeName = '제출자료'; - fn_FileRegist(objid, docType, docTypeName); - } - }, - - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '진행단계', field : 'STATUS_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : '담당자', field : 'WRITER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : 'PM', field : 'PM_USER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '등록일', field : 'REG_DATE' } - - + } ] }, - {title:"견적이력 및 수주결과", headerHozAlign:'center', //견적이력 및 결과 섹션 + {title:"진행사항", headerHozAlign:'center', columns:[ - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '견적이력', field : 'QUOTE_CNT', - formatter:fnc_subInfoValueFormatter, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - fn_projectQuote(objid); - } - }, - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : 'Result', field : 'RESULT_STATUS_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '수주완료일', field : 'CONTRACT_DATE' }, - - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '통화', field : 'CURRENCY_TYPE' }, - {headerHozAlign : 'center', hozAlign : 'right', width : '130', title : '수주가(VAT별도)', field : 'QUOTE_AMOUNT', - formatter:"money", formatterParams:{thousand:",", symbolAfter:"", precision:false,}, - }, - - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '사유', field : 'FAILURE_REASON_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '내부공유자료', field : 'CU03_CNT', - formatter:fnc_subInfoValueFormatter, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var docType = 'contractMgmt03'; - var docTypeName = '내부공유자료'; - fn_FileRegist(objid, docType, docTypeName); - } - } - - + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '검토내용', field : 'CU03_CNT', + formatter:fnc_subInfoValueFormatter, + cellClick:function(e, cell){ + var objid = fnc_checkNull(cell.getData().OBJID); + fn_projectConceptReviewDetail(objid); + } + }, + {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : '상태', field : 'CONTRACT_RESULT_NAME' } + ] + }, + {title:"수주정보", headerHozAlign:'center', + columns:[ + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '수주일', field : 'CONTRACT_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : 'PO계약 No', field : 'PO_NO' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : 'PM', field : 'PM_USER_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : '통화', field : 'CONTRACT_CURRENCY_NAME' }, + {headerHozAlign : 'center', hozAlign : 'right', width : '100', title : '수주가', field : 'CONTRACT_PRICE_CURRENCY', + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,}, + }, + {headerHozAlign : 'center', hozAlign : 'left', width : '170', title : '당사프로젝트명', field : 'PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '계약납기일', field : 'CONTRACT_DEL_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '요청납기일', field : 'REQ_DEL_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '수주회사', field : 'CONTRACT_COMPANY_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '제작공장', field : 'MANUFACTURE_PLANT_NAME' } ] } ]; @@ -192,8 +166,6 @@ function fn_search(){ _tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/contractMgmt/contractGridList.do", columns, true); } - - function _fnc_datepick(){ var $dateinput = $("input.date_icon"); for(var i=0; i<$dateinput.length; i++){ @@ -208,15 +180,10 @@ function _fnc_datepick(){ function fn_delete(){ var checkedObj = _tabulGrid.getSelectedData(); if(0 < checkedObj.length){ - var objId = fnc_checkNull(checkedObj[0].OBJID); - - var param = $("#form1").serializeObject(); - param.dataListJson = JSON.stringify(_tabulGrid.getSelectedData()); - //if(confirm("선택한 정보를 삭제하시겠습니까?")){ Swal.fire({ - title: '선택한 계약정보를 삭제하시겠습니까?', + title: '선택한 고객정보를 삭제하시겠습니까?', text: '', icon: 'warning', @@ -234,10 +201,9 @@ function fn_delete(){ $.ajax({ type : "POST", url : "/contractMgmt/deleteContractMngInfo.do", - data: param, - // data: { - // "objId":objId - // }, + data: { + "objId":objId + }, dataType:"json", success:function(data){ if(data.result == 'true'){ @@ -270,27 +236,11 @@ function fn_FileRegist(objId, docType, docTypeName){ //영업활동등록 상세 function fn_projectConceptDetail(objId){ var popup_width = 1200; - var popup_height = 1000; + var popup_height = 550; var url = "/contractMgmt/contracMgmtFormPopup.do?objId="+objId; fn_centerPopup(popup_width, popup_height, url); } -//사양 상세 -function fn_projectDetail(objId){ - var popup_width = 1200; - var popup_height = 200; - var url = "/contractMgmt/contracMgmtdetailFormPopup.do?objId="+objId; - - fn_centerPopup(popup_width, popup_height, url); -} -//견적이력 -function fn_projectQuote(objId){ - var popup_width = 1200; - var popup_height = 350; - var url = "/contractMgmt/contracMgmtFormQuotePopup.do?objId="+objId; - - fn_centerPopup(popup_width, popup_height, url); -} //검토내용 상세 function fn_projectConceptReviewDetail(objId){ @@ -436,17 +386,18 @@ function openProjectFormPopUp(objId){ 영업관리_계약관리
- + +
- - + + + + - + - - - - - - - - - - + <%-- - - - - - - - - - - - - - - - - - - - - - - + --%> + - + + + +
- - - - - - - - ${code_map.contract_method} + ${code_map.status_cd} -
- - - - - - - - - - - + ~ - - - ~ - + + +
diff --git a/WebContent/WEB-INF/view/contractMgmt/contractmondayReportList.jsp b/WebContent/WEB-INF/view/contractMgmt/contractmondayReportList.jsp deleted file mode 100644 index 758c488..0000000 --- a/WebContent/WEB-INF/view/contractMgmt/contractmondayReportList.jsp +++ /dev/null @@ -1,533 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -String connector = person.getUserId(); - -%> - - - - - <%=Constants.SYSTEM_NAME%> - - - - - - - - - - - - - - -
- - - - -
-
-
-
-

- 월요 회의 등록 -

-
- - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- - - - - - - ~ - - - - - ~ - -
-
- - <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> -
-
- - - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/contractmondayReportTotalList.jsp b/WebContent/WEB-INF/view/contractMgmt/contractmondayReportTotalList.jsp deleted file mode 100644 index 25a0ff3..0000000 --- a/WebContent/WEB-INF/view/contractMgmt/contractmondayReportTotalList.jsp +++ /dev/null @@ -1,520 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -String connector = person.getUserId(); - -%> - - - - - <%=Constants.SYSTEM_NAME%> - - - - - - - - - - - - - - -
- - - - -
-
-
-
-

- 월요 회의 보고 -

-
- -
-
-
- - - - - - - - - - - - - - - - -
- - - - - -
-
- - <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> -
-
- - - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/contractMgmt/supplyMngList.jsp b/WebContent/WEB-INF/view/contractMgmt/supplyMngList.jsp index 53e1285..d89b1e7 100644 --- a/WebContent/WEB-INF/view/contractMgmt/supplyMngList.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/supplyMngList.jsp @@ -197,6 +197,7 @@ function fn_excel() { +
diff --git a/WebContent/WEB-INF/view/contractMgmt/supplyRegistPopUp.jsp b/WebContent/WEB-INF/view/contractMgmt/supplyRegistPopUp.jsp index fd50192..3b93e6a 100644 --- a/WebContent/WEB-INF/view/contractMgmt/supplyRegistPopUp.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/supplyRegistPopUp.jsp @@ -20,10 +20,6 @@ function saveOEMInfo(){ if(fnc_valitate("oemForm")){ - if(duplicateCheck()){ - return; - } - Swal.fire({ title: '저장하시겠습니까?', text: '', @@ -79,19 +75,25 @@ function duplicateCheck(){ var result = false; - //var url = "/admin/checkSameOEMCodeAndName.do"; - var url = "/admin/checkSameSupplyName.do"; - var supply_name = $("#supply_name").val(); - + var url = "/admin/checkSameOEMCodeAndName.do"; + var oemName = $("#oemName").val(); + var oemCode = $("#oemCode").val(); $.ajax({ url:url, type:"POST", - data:{"supply_name":supply_name}, + data:{"oemName":oemName,"oemCode":oemCode,"objId":$("#oemObjid").val()}, dataType:"json", async:false, success:function(data){ - var nameCnt = data.same_supply_name_cnt; + var codeCnt = data.SAME_OEM_CODE_CNT; + var nameCnt = data.SAME_OEM_NAME_CNT; + + if(codeCnt > 0){ + Swal.fire("고객사 코드가 이미 존재합니다."); + result = true; + return true; + } if(nameCnt > 0){ Swal.fire("고객사명이 이미 존재합니다."); result = true; @@ -148,7 +150,7 @@ - ${code_map.supply_code} @@ -156,81 +158,77 @@ - + - ${code_map.area_cd} - + - + + - - - - - - + + + + + - + - - - - - - + + + + + - + @@ -238,6 +236,17 @@ + + <%-- + + + + + --%>
diff --git a/WebContent/WEB-INF/view/costMgmt/expenseListPopup.jsp b/WebContent/WEB-INF/view/costMgmt/expenseListPopup.jsp index d64efb6..1c6c145 100644 --- a/WebContent/WEB-INF/view/costMgmt/expenseListPopup.jsp +++ b/WebContent/WEB-INF/view/costMgmt/expenseListPopup.jsp @@ -253,7 +253,7 @@ var columns = [ hozAlign : 'left', width : '170' }, - , { + { title : '상태', field : 'STATUS', headerHozAlign : 'center', diff --git a/WebContent/WEB-INF/view/devMng/externalWorkReviewDetailPopUp.jsp b/WebContent/WEB-INF/view/devMng/externalWorkReviewDetailPopUp.jsp index 55c0f83..0098263 100644 --- a/WebContent/WEB-INF/view/devMng/externalWorkReviewDetailPopUp.jsp +++ b/WebContent/WEB-INF/view/devMng/externalWorkReviewDetailPopUp.jsp @@ -132,7 +132,7 @@ function fn_openEOPopup(objId){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function fn_search(){ diff --git a/WebContent/WEB-INF/view/devMng/externalWorkReviewPopUp.jsp b/WebContent/WEB-INF/view/devMng/externalWorkReviewPopUp.jsp index 344c760..c3a8a70 100644 --- a/WebContent/WEB-INF/view/devMng/externalWorkReviewPopUp.jsp +++ b/WebContent/WEB-INF/view/devMng/externalWorkReviewPopUp.jsp @@ -136,7 +136,7 @@ function fn_openEOPopup(objId){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function fn_setPageType(){ diff --git a/WebContent/WEB-INF/view/devMng/moldDevRequestDetailPopUp.jsp b/WebContent/WEB-INF/view/devMng/moldDevRequestDetailPopUp.jsp index e72f5f5..7449737 100644 --- a/WebContent/WEB-INF/view/devMng/moldDevRequestDetailPopUp.jsp +++ b/WebContent/WEB-INF/view/devMng/moldDevRequestDetailPopUp.jsp @@ -369,7 +369,7 @@ function fn_getDrawingDownload(){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } diff --git a/WebContent/WEB-INF/view/devMng/moldDevRequestFormPopUp.jsp b/WebContent/WEB-INF/view/devMng/moldDevRequestFormPopUp.jsp index 2f4ed16..1224c8a 100644 --- a/WebContent/WEB-INF/view/devMng/moldDevRequestFormPopUp.jsp +++ b/WebContent/WEB-INF/view/devMng/moldDevRequestFormPopUp.jsp @@ -133,7 +133,7 @@ $(document).ready(function(){ }); function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } diff --git a/WebContent/WEB-INF/view/ecr/ecrList.jsp b/WebContent/WEB-INF/view/ecr/ecrList.jsp index e9238d9..eca4433 100644 --- a/WebContent/WEB-INF/view/ecr/ecrList.jsp +++ b/WebContent/WEB-INF/view/ecr/ecrList.jsp @@ -1,41 +1,35 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ page import="com.pms.common.utils.*"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ page import="java.util.*" %> -<%@include file="/init.jsp"%> -<%-- <%@include file="/init_jqGrid.jsp"%> --%><%--Expression Language ::: ${fn:escapeXml(str1)} --%> - - +<%@include file= "/init.jsp" %> - - - <%=Constants.SYSTEM_NAME%> - + + +<%=Constants.SYSTEM_NAME%> + + + + + + + + + + + - - -
- - - -
-
-
-
-
-

- 설변요청(Engineering Change Request) -

-
-
- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- -
-
-
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ECR_NO기종(모델)명품번품명설변요청제목작성자작성일조치자조치일상태
조회된 데이터가 없습니다.
- - - - ${item.ECR_NO}${item.PRODUCT_NAME}${item.PART_NO}${item.PART_NAME}${item.REQUEST_NAME}${item.TITLE}${item.WRITER_NAME}${item.REG_DATE}${item.CHECK_NAME}${item.CHECK_DATE} - ${item.STATUS_NAME} - <%-- - - ${item.STATUS_NAME} - - - ${item.STATUS_NAME} - - --%> - -
-
- -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
prev   prev   ${nPage}   ${status.index}   nextnext
- -

총 ${totalCount}건

-
-
-
-
-
-
-
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/ecr/ecrMngFormPopUp.jsp b/WebContent/WEB-INF/view/ecr/ecrMngFormPopUp.jsp index 4f08b8e..0a15f02 100644 --- a/WebContent/WEB-INF/view/ecr/ecrMngFormPopUp.jsp +++ b/WebContent/WEB-INF/view/ecr/ecrMngFormPopUp.jsp @@ -16,24 +16,13 @@ String userId = CommonUtils.checkNull(person.getUserId()); - - - -
- - -
-
-

- 조치 담당자 지정 -

-
-
- - - - - - - - - - - - - -
- - - - - - - -
-
- -
-
- - -
-
-
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/ecrMng/ecrMngFormPopUp.jsp b/WebContent/WEB-INF/view/ecrMng/ecrMngFormPopUp.jsp deleted file mode 100644 index 9d82134..0000000 --- a/WebContent/WEB-INF/view/ecrMng/ecrMngFormPopUp.jsp +++ /dev/null @@ -1,727 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -String userId = CommonUtils.checkNull(person.getUserId()); - -String actionType = (String)(request.getAttribute("actionType")); -Map info = (HashMap)(request.getAttribute("info")); -boolean isModify = false; -boolean isModify2 = false; -/* -if(info!=null && - ( CommonUtils.checkNull(info.get("STATUS_CD")).equals( "-285695707" ) //요청_결재중 - ||CommonUtils.checkNull(info.get("STATUS_CD")).equals( "1404747570" ) //조치_결재중 - ) -){ - */ - if("regist".equals(actionType) || - info!=null - && CommonUtils.checkNull(info.get("WRITER")).equals(userId) - && ( CommonUtils.checkNull(info.get("STATUS_CD")).equals( "566073997" ) //요청_반려 - || CommonUtils.checkNull(info.get("STATUS_CD")).equals( "-1482959630" ) //조치_반려 - || CommonUtils.checkNull(info.get("STATUS_CD")).equals( "836556463" ) //작성중 - ) - ){ - isModify = true; -} - -if(//"regist".equals(actionType) || - info!=null - && (isAdmin || CommonUtils.checkNull(info.get("ACT_USER_ID")).equals(userId)) - && ( CommonUtils.checkNull(info.get("STATUS_CD")).equals( "566073997" ) //접수완료 - || CommonUtils.checkNull(info.get("STATUS_CD")).equals( "-1482959630" ) //조치_반려 - ) -){ - isModify2 = true; -} -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - -
- - - - -
-
-

- 설계변경요청서
(Engineering Change Request) -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- ${info.WRITER_NAME} -
- ${info.REGDATE_TITLE} -
- - - - - -
-
- -
- - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - -
- - - - - - - -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - <%-- - - - --%> -
-
-
-
- - - - - - - - - - - - - -
- - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
-
- -
-
-
-
-
-
- <%if(isModify){%> - - <%} %> - <%if(isModify2){%> - - <%} %> - -
-
-
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/ecrMng/ecrMngList.jsp b/WebContent/WEB-INF/view/ecrMng/ecrMngList.jsp deleted file mode 100644 index 352a466..0000000 --- a/WebContent/WEB-INF/view/ecrMng/ecrMngList.jsp +++ /dev/null @@ -1,462 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*" %> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@include file="/init.jsp"%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - - - - - - - - - - - -
- - -
-
- - -
-
-
-

- 설계변경요청(ECR) -

-
- - - - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <%-- - -
- --%> - -
- - - - - - - - - -
- - - - - - - - - - - - - -
-
-
- <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> -
-
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/inventoryMng/inventoryMngNewList.jsp b/WebContent/WEB-INF/view/inventoryMng/inventoryMngNewList.jsp index 336abc4..24e6554 100644 --- a/WebContent/WEB-INF/view/inventoryMng/inventoryMngNewList.jsp +++ b/WebContent/WEB-INF/view/inventoryMng/inventoryMngNewList.jsp @@ -85,13 +85,6 @@ fn_delete(); }); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_cd").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - $("#unit_code").empty(); - }); $("#project_no").change(function(){ fn_UnitCodeList(this.value, "unit_code", ""); }); @@ -229,15 +222,17 @@ var checkArr = new Array(); for(var i=0;i --%> - - - diff --git a/WebContent/WEB-INF/view/inventoryMng/materialRequestDetailPopUp.jsp b/WebContent/WEB-INF/view/inventoryMng/materialRequestDetailPopUp.jsp index 04eb906..161b124 100644 --- a/WebContent/WEB-INF/view/inventoryMng/materialRequestDetailPopUp.jsp +++ b/WebContent/WEB-INF/view/inventoryMng/materialRequestDetailPopUp.jsp @@ -20,21 +20,12 @@ $('.select2').select2(); fnc_datepick2(); //달력 - // 초기 버튼 상태 체크 - fn_checkAcceptButtonStatus(); - $("#btnExcel").click(function() { fn_excel(); }); $("input:text[numberOnly]").on("keyup", function() { $(this).val(fnc_addComma($(this).val().replace(/[^0-9]/g,""))); - fn_checkAcceptButtonStatus(); // 입력 시마다 버튼 상태 체크 - }); - - // 입력값 변경 시 버튼 상태 체크 - $("input[name*='OUT_QTY'], input[name*='OUT_DATE'], input[name='WRITER'], select[name='ACQ_USER']").on("change keyup", function() { - fn_checkAcceptButtonStatus(); }); $("#USER_CHECK").change(function() { @@ -215,11 +206,7 @@ // 이미지를 표시할 영역에 추가 var imageContainer = document.getElementById('imageContainer_' + OBJID); - imageContainer.innerHTML = ''; // 기존 이미지 제거 imageContainer.appendChild(img); - - // 사인 등록 후 버튼 상태 체크 - fn_checkAcceptButtonStatus(); } function fn_signdelete() { // 체크된 체크박스들을 가져옵니다. @@ -235,13 +222,7 @@ success: function(data) { if (data.result == 'true') { alert("삭제되었습니다."); - // 사인 이미지 제거 - checkedObjs.each(function() { - var objId = $(this).val(); - $("#imageContainer_" + objId).html(''); - }); - // 버튼 상태 체크 - fn_checkAcceptButtonStatus(); + fn_search(); }; }, error: function(jqxhr, status, error) { @@ -256,38 +237,26 @@ function fn_save(){ if(fn_checkInputData()){ - Swal.fire({ - title: '임시저장 하시겠습니까?', - text: '불출완료 전까지 수정 가능합니다.', - icon: 'question', - showCancelButton: true, - confirmButtonColor: '#3085d6', - cancelButtonColor: '#d33', - confirmButtonText: '저장', - cancelButtonText: '취소' - }).then((result) => { - if (result.isConfirmed) { - $("input[name*='_QTY']").each(function(){ - $(this).val($(this).val().replace(/,/gi,"")); - }); - - $.ajax({ - url:"/inventoryMng/saveInventoryTransfer.do" - ,type:"POST" - ,data: $("#form1").serialize() - ,dataType:"json" - ,async:false - ,success:function(data){ - Swal.fire('저장완료', '임시저장되었습니다.', 'success'); - opener.fn_search(); - // self.close(); // 창을 닫지 않고 계속 수정 가능 - } - ,error: function(jqxhr, status, error){ - Swal.fire('오류', '저장 중 오류가 발생했습니다.', 'error'); - } - }); - } - }); + if(confirm("저장하시겠습니까?")){ + $("input[name*='_QTY']").each(function(){ + $(this).val($(this).val().replace(/,/gi,"")); + }); + + $.ajax({ + url:"/inventoryMng/saveInventoryTransfer.do" + ,type:"POST" + ,data: $("#form1").serialize() + ,dataType:"json" + ,async:false + ,success:function(data){ + alert(data.message); + opener.fn_search(); + self.close(); + } + ,error: function(jqxhr, status, error){ + } + }); + } } } function fn_signsave(event) { @@ -458,120 +427,63 @@ form.action="/inventoryMng/materialRequestDetailPopUp.do"; form.submit(); } - //자재불출 (자동 저장 후 불출 - 완료 처리) + //자재불출 function fn_accept() { if(fnc_valitate("form1")){ if(fn_checkInputData()){ Swal.fire({ - title: '불출완료 하시겠습니까?', - html: '불출완료 후에는 수정이 불가능합니다.
입력한 정보가 자동 저장되고 불출 완료 처리됩니다.', + title: '불출하시겠습니까?', + text: '', icon: 'warning', - showCancelButton: true, - confirmButtonColor: '#d33', // 빨간색으로 강조 - cancelButtonColor: '#3085d6', - confirmButtonText: '불출완료', - cancelButtonText: '취소', - reverseButtons: false, + showCancelButton: true, // cancel버튼 보이기. 기본은 원래 없음 + confirmButtonColor: '#3085d6', // confrim 버튼 색깔 지정 + cancelButtonColor: '#d33', // cancel 버튼 색깔 지정 + confirmButtonText: '확인', // confirm 버튼 텍스트 지정 + cancelButtonText: '취소', // cancel 버튼 텍스트 지정 + reverseButtons: false, // 버튼 순서 거꾸로 }).then(result => { - if (result.isConfirmed) { + // 만약 Promise리턴을 받으면, + if (result.isConfirmed) { // 만약 모달창에서 confirm 버튼을 눌렀다면 $("input[name*='_QTY']").each(function(){ $(this).val($(this).val().replace(/,/gi,"")); }); - // 1단계: 자동 저장 - $.ajax({ + /* $.ajax({ url:"/inventoryMng/saveInventoryTransfer.do" ,type:"POST" ,data: $("#form1").serialize() ,dataType:"json" ,async:false - ,success:function(saveData){ - // 저장 성공 후 2단계: 불출 완료 처리 - $.ajax({ - url:"/inventoryMng/acceptInventoryRequestInfo.do", - type:"POST", - data:$("#form1").serialize(), - dataType:"json", - success:function(acceptData){ - Swal.fire('불출완료', acceptData.message, 'success').then(() => { - opener.fn_search(); - self.close(); - }); - }, - error: function(jqxhr, status, error){ - Swal.fire('오류', '불출 처리 중 오류가 발생했습니다.', 'error'); - } - }); + ,success:function(data){ + //alert(data.message); + //opener.fn_search(); + //self.close(); } ,error: function(jqxhr, status, error){ - Swal.fire('오류', '저장 중 오류가 발생했습니다.', 'error'); } - }); + }); */ + + $.ajax({ + url:"/inventoryMng/acceptInventoryRequestInfo.do", + type:"POST", + data:$("#form1").serialize(), + dataType:"json", + success:function(data){ + alert(data.message); + opener.fn_search(); + self.close(); + }, + error: function(jqxhr, status, error){ + } + }); } }); } } } - // 불출 버튼 활성화/비활성화 체크 - function fn_checkAcceptButtonStatus() { - var allFilled = true; - var hasData = false; - var missingFields = []; - - // 각 행의 필수 입력값 체크 - $("input[name='OBJID']").each(function(i) { - hasData = true; - var targetObjId = $(this).val(); - var OUT_QTY = $("#OUT_QTY_"+targetObjId).val().replace(/,/gi,""); - var OUT_DATE = $("input[name='OUT_DATE']").eq(i).val(); - var WRITER = $("input[name='WRITER']").eq(i).val(); - var ACQ_USER = $("select[name='ACQ_USER']").eq(i).val(); - - // 사인 체크 (imageContainer에 img 태그가 있는지 확인) - var hasSign = $("#imageContainer_"+targetObjId).find("img").length > 0; - - // 필수값 체크 - if(!OUT_QTY || OUT_QTY == '0') { - if(missingFields.indexOf('인계수량') === -1) missingFields.push('인계수량'); - allFilled = false; - } - if(!OUT_DATE) { - if(missingFields.indexOf('인계일') === -1) missingFields.push('인계일'); - allFilled = false; - } - if(!WRITER) { - if(missingFields.indexOf('인계자') === -1) missingFields.push('인계자'); - allFilled = false; - } - if(!ACQ_USER) { - if(missingFields.indexOf('인수자') === -1) missingFields.push('인수자'); - allFilled = false; - } - if(!hasSign) { - if(missingFields.indexOf('사인') === -1) missingFields.push('사인'); - allFilled = false; - } - }); - - // 버튼 활성화/비활성화 - if(hasData && allFilled) { - $("#btnAccept").prop("disabled", false) - .css({"background":"#4CAF50", "color":"white", "cursor":"pointer", "opacity":"1"}) - .attr("title", "모든 필수 입력값이 입력되었습니다. 불출완료 가능합니다."); - } else { - var tooltipMsg = missingFields.length > 0 - ? "다음 항목을 입력해주세요: " + missingFields.join(", ") - : "인계수량, 인계일, 인계자, 인수자, 사인을 모두 입력해주세요."; - - $("#btnAccept").prop("disabled", true) - .css({"background":"#ccc", "color":"#666", "cursor":"not-allowed", "opacity":"0.6"}) - .attr("title", tooltipMsg); - } - } - function fn_Apply(){ var userCd = $("#USER_CD").val(); var userCheck =$("input[name='USER_CHECK']:checked").val(); @@ -587,9 +499,6 @@ } } }); - - // 일괄적용 후 버튼 상태 체크 - fn_checkAcceptButtonStatus(); } @@ -812,7 +721,7 @@
- + diff --git a/WebContent/WEB-INF/view/inventoryMng/materialRequestFormPopUp.jsp b/WebContent/WEB-INF/view/inventoryMng/materialRequestFormPopUp.jsp index f86e9af..119f6f6 100644 --- a/WebContent/WEB-INF/view/inventoryMng/materialRequestFormPopUp.jsp +++ b/WebContent/WEB-INF/view/inventoryMng/materialRequestFormPopUp.jsp @@ -58,11 +58,8 @@ ,async:false ,success:function(data){ alert(data.message); - // 저장 성공 시에만 창 닫기 - if(data.result == true){ - opener.fn_search(); - self.close(); - } + opener.fn_search(); + self.close(); } ,error: function(jqxhr, status, error){ } diff --git a/WebContent/WEB-INF/view/inventoryMng/materialRequestList.jsp b/WebContent/WEB-INF/view/inventoryMng/materialRequestList.jsp index b9c0220..db914e6 100644 --- a/WebContent/WEB-INF/view/inventoryMng/materialRequestList.jsp +++ b/WebContent/WEB-INF/view/inventoryMng/materialRequestList.jsp @@ -352,7 +352,7 @@
- +
diff --git a/WebContent/WEB-INF/view/login.jsp b/WebContent/WEB-INF/view/login.jsp index ea1e009..e653dec 100644 --- a/WebContent/WEB-INF/view/login.jsp +++ b/WebContent/WEB-INF/view/login.jsp @@ -1,117 +1,228 @@ -<%@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" %> - - - - - <%=Constants.SYSTEM_NAME %> - - - - - - -
-
- -
-
- - +<%@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" %> + + + + + + <%=Constants.SYSTEM_TITLE %> + + + + + + + + + + + diff --git a/WebContent/WEB-INF/view/main/header.jsp b/WebContent/WEB-INF/view/main/header.jsp index 827af5d..d2fb104 100644 --- a/WebContent/WEB-INF/view/main/header.jsp +++ b/WebContent/WEB-INF/view/main/header.jsp @@ -1,21 +1,24 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" -pageEncoding="UTF-8"%> <%@ page import="com.pms.common.utils.*"%> <%@ page -import="java.util.*"%> <%@ page import="com.pms.common.bean.PersonBean"%> <%@ -taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <% PersonBean person -= (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String userId = -CommonUtils.checkNull(person.getUserId()); String authName = -CommonUtils.checkNull(person.getAuthName()); ArrayList userMenuList = new -ArrayList(); userMenuList = (ArrayList)request.getAttribute("userMenuList"); %> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="com.pms.common.utils.*"%> +<%@ page import="java.util.*"%> +<%@ page import="com.pms.common.bean.PersonBean"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<% +PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); +String userId = CommonUtils.checkNull(person.getUserId()); +String authName = CommonUtils.checkNull(person.getAuthName()); +ArrayList userMenuList = new ArrayList(); +userMenuList = (ArrayList)request.getAttribute("userMenuList"); +%> - - - <%=Constants.SYSTEM_NAME %> - - - - - - - - - - - - + .menu_off{ + color:#000; + font-size:14px; + font-weight:normal; + } + .menu_on{ + color:#B3A7A7; + font-size:15px; + font-weight:bold; + } + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - -
- +//결재건수조회 +function fn_setApprovalCnt(){ + $.ajax({ + url:"/approval/getApprovalCnt.do", + type:"POST", + data:{"userId":"${connectUserId}"}, + dataType:"json", + success:function(data){ + var cnt = fnc_checkNullDefaultValue(data.CNT, "0"); + $(".notice_no").text(cnt); + if(cnt > 0){ + $("#blink").attr("class", "work_notice btnApprovalList blinkcss"); + $(".blinkcss").children("span").children("img").attr({src:"/images/bell.gif"}); + }else{ + $("#blink").attr("class", "work_notice btnApprovalList blink_none"); + $(".blink_none").children("span").children("img").attr({src:"/images/bell.png"}); + } + }, + error: function(jqxhr, status, error){ + } + }); +} -
-
-

- - - - - - - - - - - <% for(int i=0;i <%-- - - - --%> <% } } %> - - - - - - - <%-- - - - --%> - - - <%-- - - - - --%> - -
- <%=menuKorName%> - - - -  개의 결재가 - 있습니다. - - Manual Download - - <%if("plm_admin".equals(userId)){%>Admin<%}%> - - <%=person.getDeptName() - %> <%=person.getUserName() %> <%=person.getPositionName() - %> - - - - <%=person.getDeptName() %> <%=person.getUserName() %> - <%=person.getPositionName() %> - - - - Logout - - Manual Download - - <%if("plm_admin".equals(userId)){%>Admin<%}%> - - - - <%=person.getDeptName() %> <%=person.getUserName() %> - <%=person.getPositionName() %> - - -
-
- - -
-
- - + + + + + <% + if("plm_admin".equals(userId)){%> + + <%}%> + + + + + + + + \ No newline at end of file diff --git a/WebContent/WEB-INF/view/orderMng/orderMngFormPopUp.jsp b/WebContent/WEB-INF/view/orderMng/orderMngFormPopUp.jsp index bdd2cb4..86f8fe4 100644 --- a/WebContent/WEB-INF/view/orderMng/orderMngFormPopUp.jsp +++ b/WebContent/WEB-INF/view/orderMng/orderMngFormPopUp.jsp @@ -397,7 +397,7 @@ function fn_getDrawingDownload(){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function num2han(num) { diff --git a/WebContent/WEB-INF/view/part/structureExcelImportPopup.jsp b/WebContent/WEB-INF/view/part/structureExcelImportPopup.jsp index 7c5d03c..9bd3d5e 100644 --- a/WebContent/WEB-INF/view/part/structureExcelImportPopup.jsp +++ b/WebContent/WEB-INF/view/part/structureExcelImportPopup.jsp @@ -82,34 +82,34 @@ $(function(){ //템플릿 업로드 전 처리 function fn_preProcessor(){ - - //파일 정보 삭제. (async:false - 삭제 완료 후 업로드 진행되어야 함) + + //파일 정보 삭제. $.ajax({ url:"/common/deleteFileInfo.do", type:"POST", data:{"targetObjId":"${targetObjId}", "docType":"${FILE_DOC_TYPE_STRUCTURE_EXCEL_IMPORT_CODE}"}, dataType:"json", - async:false, + async:true, success:function(data){ - - }, + + }, error: function(jqxhr, status, error){ Swal.fire(jqxhr.statusText + ", " + status + ", " + error); Swal.fire(jqxhr.status); Swal.fire(jqxhr.responseText); } }); - - //임시 테이블 (TABLE NAME : STRUCTURE_TEMP_XLS_IMPORT_DATA)에 등록된 정보 삭제. (async:false - 삭제 완료 후 업로드 진행되어야 함) + + //임시 테이블 (TABLE NAME : STRUCTURE_TEMP_XLS_IMPORT_DATA)에 등록된 정보 삭제. $.ajax({ url:"/part/initializeStructureTempXlsImportData.do", type:"POST", data:{"targetObjId":"${targetObjId}"}, dataType:"json", - async:false, + async:true, success:function(data){ - - }, + + }, error: function(jqxhr, status, error){ Swal.fire(jqxhr.statusText + ", " + status + ", " + error); Swal.fire(jqxhr.status); diff --git a/WebContent/WEB-INF/view/partMng/openBomReportExcelImportPopUp.jsp b/WebContent/WEB-INF/view/partMng/openBomReportExcelImportPopUp.jsp index 8fa1f55..60c993a 100644 --- a/WebContent/WEB-INF/view/partMng/openBomReportExcelImportPopUp.jsp +++ b/WebContent/WEB-INF/view/partMng/openBomReportExcelImportPopUp.jsp @@ -170,7 +170,7 @@ $(document).ready(function(){ var unit_cd = $.parseJSON($("#unit_cd").val()); //jqGrid 구분 var part_type = $.parseJSON($("#part_type").val()); //jqGrid 구분 - //var sup_code = $.parseJSON($("#sup_code").val()); //jqGrid 구분 + var sup_code = $.parseJSON($("#sup_code").val()); //jqGrid 구분 //Excel File Upload된 파일 목록 부분을 초기화 한다. $("#excelImportList").hide(); @@ -181,70 +181,39 @@ $(document).ready(function(){ grid = $("#expenseDetailGrid").jqGrid({ url: "" ,datatype: "local" - // ,colNames: ["상태","모품번","자품번","품명","수량","재질","사양(규격)","후처리","MAKER","부품 유형","REMARK"] - ,colNames: ["상태","SUB-ASS'Y No.","부품명","REV","수량",/*"스페어수량",*/"단위","MATERIAL","Description","Specification","부품유형","REMARK"] + ,colNames: ["상태","모품번","자품번","품명","수량","재질","사양(규격)","후처리","MAKER","부품 유형","REMARK"] ,colModel: [ - {name:"NOTE",index:"NOTE", width: 160, align:"center", hidden: false, sortable:false, editable:true - ,editoptions:{ - dataInit : function(e){ - e.style.fontSize = 13; - } - } - } - ,{name:"PARENT_PART_NO",index:"PARENT_PART_NO", width: 150, align:"center", hidden: false, sortable:false, editable:true - ,editoptions:{ - dataInit : function(e){ - e.style.fontSize = 13; - } - } - } - ,{name:"PART_NO",index:"PART_NO", width: 140, align:"center", hidden: false, sortable:false, editable:true - ,editoptions:{ - dataInit : function(e){ - e.style.fontSize = 13; - } - } - } - ,{name:"REVISION",index:"REVISION", width: 40, align:"center", hidden: false, sortable:false, editable:true - ,editoptions:{ - dataInit : function(e){ - e.style.fontSize = 13; - } - } - } - ,{name:"QTY",index:"QTY", width: 50, align:"center", hidden: false, sortable:false, editable:true + {name:"NOTE",index:"NOTE", width: 160, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; - // 숫자만 입력 가능하도록 설정 - $(e).on('input', function() { - this.value = this.value.replace(/[^0-9]/g, ''); - }); - $(e).attr('inputmode', 'numeric'); - $(e).attr('pattern', '[0-9]*'); } } - } - /*,{name:"SPARE_QTY",index:"SPARE_QTY", width: 60, align:"center", hidden: false, sortable:false, editable:true + } + ,{name:"PARENT_PART_NO",index:"PARENT_PART_NO", width: 160, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; - // 숫자만 입력 가능하도록 설정 - $(e).on('input', function() { - this.value = this.value.replace(/[^0-9]/g, ''); - }); - $(e).attr('inputmode', 'numeric'); - $(e).attr('pattern', '[0-9]*'); } } - }*/ - ,{name:"UNIT" ,index:"UNIT" , width:50, align:"center", hidden:false, sortable:false, editable: true - ,edittype :"select" - ,formatter :"select" + } + ,{name:"PART_NO",index:"PART_NO", width: 160, align:"center", hidden: false, sortable:false, editable:true + ,editoptions:{ + dataInit : function(e){ + e.style.fontSize = 13; + } + } + } + ,{name:"PART_NAME",index:"PART_NAME", width: 270, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ - value: unit_cd - ,dataInit : function(e){ - e.style.width = "92%"; + dataInit : function(e){ + e.style.fontSize = 13; + } + } + } + ,{name:"QTY",index:"QTY", width: 50, align:"center", hidden: false, sortable:false, editable:true + ,editoptions:{ + dataInit : function(e){ e.style.fontSize = 13; } } @@ -255,15 +224,22 @@ $(document).ready(function(){ e.style.fontSize = 13; } } - } - ,{name:"PART_NAME",index:"PART_NAME", width: 270, align:"center", hidden: false, sortable:false, editable:true + } + ,{name:"SPEC",index:"SPEC", width: 150, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; } } } - ,{name:"SPEC",index:"SPEC", width: 150, align:"center", hidden: false, sortable:false, editable:true + ,{name:"POST_PROCESSING",index:"POST_PROCESSING", width: 100, align:"center", hidden: false, sortable:false, editable:true + ,editoptions:{ + dataInit : function(e){ + e.style.fontSize = 13; + } + } + } + ,{name:"MAKER",index:"MAKER", width: 150, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; @@ -288,26 +264,24 @@ $(document).ready(function(){ } } } - - ] - //,cellEdit : true - //,cellsubmit : "clientArray" - ,rownumbers : true - ,viewrecords : true - ,width : 1500 - ,height : 420 - ,multiselect : false - ,shrinkToFit : false - ,autowidth : true - ,sortable : false - ,rowNum : 5000 - ,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부 - ,jsonReader : {repeatitems: false} - ,mtype :"POST" - ,footerrow : false //바닥합계 - ,userDataOnFooter: true //바닥합계 - ,resizable : true // 엑셀 스타일 열 크기 조정 활성화 - ,loadComplete: function(){ + ] + //,cellEdit : true + //,cellsubmit : "clientArray" + ,rownumbers : true + ,viewrecords : true + ,width : 1500 + ,height : 420 + ,multiselect : false + ,shrinkToFit : false + ,autowidth : true + ,sortable : false + ,rowNum : 5000 + ,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부 + ,jsonReader : {repeatitems: false} + ,mtype :"POST" + ,footerrow : false //바닥합계 + ,userDataOnFooter: true //바닥합계 + ,loadComplete: function(){ } }); @@ -441,11 +415,10 @@ function fn_save(){ }); gridFn.opennEdit(); - // var project_no = $("#project_name").find("option:selected").text(); - // alert(project_no); - // if (partNo1.indexOf(project_no) < 0) { - // valid = false; - // } + var project_no = $("#project_name").find("option:selected").text(); + if (partNo1.indexOf(project_no) < 0) { + valid = false; + } } if (!existPart) { @@ -453,25 +426,21 @@ function fn_save(){ return; } - // if (!valid) { - // Swal.fire('1레벨 품번에 프로젝트번호가 없습니다. 확인해 주세요.'); - // return; - // } + if (!valid) { + Swal.fire('1레벨 품번에 프로젝트번호가 없습니다. 확인해 주세요.'); + return; + } - // 동시적용 프로젝트 중복 체크 var existsDup = false; var ARR_APPLICATION_PROJECT_NO = new Array(); $(".APPLICATION_PROJECT_NO").each(function(){ - var currentVal = $(this).val(); - if(currentVal && currentVal != ''){ - for(var i=0; i' + - '' + - '' + - '' + - '' + - '
'; - - $('#applicationProjectContainer').append(itemHtml); - - // 옵션 추가 - var $select = $('#APPLICATION_PROJECT_NO' + idx); - $select.append(''); - - // 캐싱된 옵션 목록 사용 - $.each(applicationProjectOptions, function(i, opt) { - // 마스터 프로젝트와 제외 프로젝트 제외 - if (opt.value != masterProjectValue && excludedProjectValues.indexOf(opt.value) === -1) { - $select.append(''); - } - }); - - // 선택값 설정 - if (selectedValue) { - $select.val(selectedValue); - } - - // 선택 변경 시 중복 체크 - $select.on('change', function() { - fn_checkDuplicateProject(); - }); - } - - // 프로젝트 선택 항목 삭제 함수 - function fn_removeProjectSelect(idx) { - $('#projectItem_' + idx).remove(); - } - - // 일괄 등록 함수 - 선택 가능한 모든 프로젝트 추가 - function fn_addAllProjects() { - // 옵션 목록이 없으면 리턴 - if (applicationProjectOptions.length === 0) { - Swal.fire('추가 가능한 프로젝트가 없습니다.'); - return; - } - - // 현재 선택된 프로젝트 값 목록 수집 - var selectedValues = []; - $('.APPLICATION_PROJECT_NO').each(function() { - var val = $(this).val(); - if (val && val !== '') { - selectedValues.push(val); - } - }); - - // 아직 추가되지 않은 프로젝트들만 추가 - var addedCount = 0; - $.each(applicationProjectOptions, function(i, opt) { - // 마스터 프로젝트, 제외 프로젝트, 이미 선택된 프로젝트 제외 - if (opt.value != masterProjectValue && - excludedProjectValues.indexOf(opt.value) === -1 && - selectedValues.indexOf(opt.value) === -1) { - fn_addProjectSelect(opt.value); - addedCount++; - } - }); - - if (addedCount === 0) { - Swal.fire('추가 가능한 프로젝트가 없습니다. (모두 이미 추가됨)'); - } - } - - // 전체 삭제 함수 - function fn_removeAllProjects() { - if ($('.application-project-item').length === 0) { - return; - } - - if (confirm('선택된 모든 프로젝트를 삭제하시겠습니까?')) { - $('#applicationProjectContainer').empty(); - applicationProjectIndex = 0; - } - } - - // 중복 프로젝트 체크 - function fn_checkDuplicateProject() { - var selectedValues = []; - var hasDuplicate = false; - - $('.APPLICATION_PROJECT_NO').each(function() { - var val = $(this).val(); - if (val && val !== '') { - if (selectedValues.indexOf(val) !== -1) { - hasDuplicate = true; - $(this).css('border-color', 'red'); - } else { - $(this).css('border-color', ''); - selectedValues.push(val); - } - } - }); - - return !hasDuplicate; - } - - // 프로젝트 옵션 목록 로드 함수 (비동기) - function fn_loadProjectOptions(val, callback) { - masterProjectValue = val; - applicationProjectOptions = []; - - if(val == '' || val == null) { - if (callback) callback(); - return; - } - - $.ajax({ - url: "/common/getprojectNameList.do", - type: "POST", - data: {"isJson": true, "customer_objid": "", "contract_objid": val}, - dataType: "json", - async: false, - success: function(data) { - if (data && data.length > 0) { - $.each(data, function(i, item) { - applicationProjectOptions.push({ - value: item.CODE || '', - text: item.NAME || '' - }); - }); - } - if (callback) callback(); - }, - error: function() { - if (callback) callback(); - } - }); - } - //동시발주 영역 내용 생성 function fn_setMultiInfo(val){ - // 기존 항목 모두 제거 - $('#applicationProjectContainer').empty(); - applicationProjectIndex = 0; + var projectCnt = 0; + $(".APPLICATION_PROJECT_NO option").remove(); + $(".APPLICATION_PROJECT_NO").attr("disabled", "disabled"); + $(".DELIVERY_PLAN_DATE").attr("disabled", "disabled"); + $(".DELIVERY_PLAN_QTY").attr("disabled", "disabled"); + $(".APPLICATION_PROJECT_NO").val(''); + $(".DELIVERY_PLAN_DATE").val(''); + $(".DELIVERY_PLAN_QTY").val(''); - // 제외할 프로젝트 목록 초기화 - excludedProjectValues = []; - - - excludedProjectValues.push('${info.CONTRACT_OBJID}'); - - - - // 프로젝트 옵션 로드 - fn_loadProjectOptions(val, function() { - // 선택 가능한 프로젝트가 있으면 기본 1개 추가 - if (applicationProjectOptions.length > 0) { - fn_addProjectSelect(); + for (i=1; i < 11; i++){ + var APPLICATION_PROJECT_NO = "APPLICATION_PROJECT_NO"+i + fn_projectNameList("", APPLICATION_PROJECT_NO, "", val); + + projectCnt = $("#"+APPLICATION_PROJECT_NO).find('option').length; + if(projectCnt > 2){ + $("#"+APPLICATION_PROJECT_NO).attr("disabled", false); } - }); + if(projectCnt-2 <= i){ //projectCnt == 0 || + break; + } + } + //alert($("select[name^=APPLICATION_PROJECT_NO]").length); + + //마스터 프로젝트번호 제거 + if(fnc_isNotEmpty(val)){ + $("select[name^=APPLICATION_PROJECT_NO]").each(function(){ + $(this).find('option[value='+val+']').remove(); + }); + } + + + + + + + $("select[name^=APPLICATION_PROJECT_NO]").each(function(){ + $(this).find('option[value=${info.CONTRACT_OBJID}]').remove(); + }); + + projectCnt = $("select[name^=APPLICATION_PROJECT_NO]").eq(0).find('option').length; + for (i=1; i < 11; i++){ + var APPLICATION_PROJECT_NO = "APPLICATION_PROJECT_NO"+i + if(projectCnt-1 < i){ + $("#"+APPLICATION_PROJECT_NO).attr("disabled", true); + } + } + + } - //저장 정보 표현용 function fn_setMultiInfoForSaved(val){ + //$(".APPLICATION_PROJECT_NO option").remove(); - fn_addProjectSelect( - "${mInfo.CONTRACT_MGMT_OBJID}", - "${mInfo.OBJID}", - "${mInfo.CONTRACT_NO}" - ); + var i = '${status.index+1}'; + var APPLICATION_PROJECT_NO = "APPLICATION_PROJECT_NO"+i; + //fn_projectNameList("", APPLICATION_PROJECT_NO, "${mInfo.CONTRACT_MGMT_OBJID}", "${info.CONTRACT_MGMT_OBJID}"); + //projectCnt = $("#"+APPLICATION_PROJECT_NO).find('option').length; + + $("#"+APPLICATION_PROJECT_NO).val("${mInfo.CONTRACT_MGMT_OBJID}"); + $("#APPLICATION_PROJECT_NUMBER"+i).val("${mInfo.CONTRACT_NO}"); + $("#APPLICATION_OBJID"+i).val("${mInfo.OBJID}"); + $("#DELIVERY_PLAN_DATE"+i).val("${mInfo.DELIVERY_PLAN_DATE}"); + $("#DELIVERY_PLAN_QTY"+i).val("${mInfo.DELIVERY_PLAN_QTY}"); + /* + if(projectCnt > 2){ + $("#"+APPLICATION_PROJECT_NO).attr("disabled", false); + $("#DELIVERY_PLAN_DATE"+i).attr("disabled", false); + $("#DELIVERY_PLAN_QTY"+i).attr("disabled", false); + } + + if(projectCnt-2 <= i){ //projectCnt == 0 || + break; + } + */ @@ -932,7 +798,9 @@ function fn_save(){ + <%-- + --%> <%-- @@ -945,7 +813,24 @@ function fn_save(){
- + + + + + + + + + + + + + + + + + + - + - +
@@ -954,12 +839,12 @@ function fn_save(){
- +
- - + + + + + + + + + + + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
※최초 등록시에만 동시적용 프로젝트에 대해 같은 구조로 BOM을 등록합니다.(파트 추가/삭제나 BOM배포는 개별 진행, 배포전에 구조를 전체 변경할 경우에는 등록중인 봄과 파트 전체 삭제 후 다시 업로드)※최초 등록시에만 동시적용 프로젝트에 대해 같은 구조로 BOM을 등록합니다.(파트 추가/삭제나 BOM배포는 개별 진행, 배포전에 구조를 전체 변경할 경우에는 등록중인 봄과 파트 전체 삭제 후 다시 업로드)
   발주서에서 같은 구조의 프로젝트 BOM에 대해 동시발주 진행    발주서에서 같은 구조의 프로젝트 BOM에 대해 동시발주 진행
동시적용 프로젝트번호 - -
- -
-
- - - -
-
동시적용 프로젝트번호
- +
@@ -1158,8 +1073,7 @@ function fn_save(){
- - + \ No newline at end of file diff --git a/WebContent/WEB-INF/view/partMng/openBomReportExcelImportPopUp_ws.jsp b/WebContent/WEB-INF/view/partMng/openBomReportExcelImportPopUp_ws.jsp deleted file mode 100644 index 60c993a..0000000 --- a/WebContent/WEB-INF/view/partMng/openBomReportExcelImportPopUp_ws.jsp +++ /dev/null @@ -1,1079 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*"%> -<%@include file="/init_jqGrid.jsp"%> - - - - - - - - - - -
- - - - - <%-- - - --%> - - - <%-- - --%> -
-
-

PART 및 구조등록 Excel upload

-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
※최초 등록시에만 동시적용 프로젝트에 대해 같은 구조로 BOM을 등록합니다.(파트 추가/삭제나 BOM배포는 개별 진행, 배포전에 구조를 전체 변경할 경우에는 등록중인 봄과 파트 전체 삭제 후 다시 업로드)
   발주서에서 같은 구조의 프로젝트 BOM에 대해 동시발주 진행
동시적용 프로젝트번호
-
- -
-
-
-
-
   Excel uploadTemplate Download
-
-
-
Drag & Drop 엑셀 템플릿
-
- - - - - - -
Excel 첨부파일
-
-
-
-
-
- -
-
- -
- - -
-
- -
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
${i}품번품명 수량재질사양(규격)후처리MAKERRevisionEO NoEO DatePART구분비고
-
-
-
- - - - - - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/partMng/openPartExcelImportPopUp.jsp b/WebContent/WEB-INF/view/partMng/openPartExcelImportPopUp.jsp index c4c3a00..f3523b1 100644 --- a/WebContent/WEB-INF/view/partMng/openPartExcelImportPopUp.jsp +++ b/WebContent/WEB-INF/view/partMng/openPartExcelImportPopUp.jsp @@ -34,7 +34,7 @@ $(document).ready(function(){ fnc_setFileDropZone("excelImportDropZone", "${objid}", "PART_EXCEL_IMPORT", "Part Excel Import Template", "setExcelFileArea",true,"fileDelete","/part/excelImportFileProc.do"); fnc_setFileDropZone("partAttachFileDropZone", "${objid}", "PART_IMPORT_ATTACH", "Import Part Attach File", "setPartFileArea",false,null,"/part/partImportFileProc.do"); - var unit_cd = $.parseJSON($("#unit_cd").val()); //jqGrid 구분 + //var unit_cd = $.parseJSON($("#unit_cd").val()); //jqGrid 구분 var part_type = $.parseJSON($("#part_type").val()); //jqGrid 구분 //var sup_code = $.parseJSON($("#sup_code").val()); //jqGrid 구분 @@ -47,22 +47,21 @@ $(document).ready(function(){ grid = $("#expenseDetailGrid").jqGrid({ url: "" ,datatype: "local" - ,colNames: ["결과","SKIP", - "DWG NO","REV","수량","스페어수량","단위","MATERIAL","DESCRIPTION","SPECIFICATION","부품유형","REMARKS"] //DWG NO(품번),DESCRIPTION(품명),PART구분(부품유형) + ,colNames: ["결과", + "품번","품명","수량","재질","사양(규격)","후처리","MAKER","PART구분","REMARK"] //PART구분(부품 유형) ,colModel: [ /* */ {name:"NOTE",index:"NOTE", width: 200, align:"left", hidden: false, sortable:false, editable:true //,formatter :fn_fmt_result }, - {name:"SKIP_YN",index:"SKIP_YN", width: 50, align:"center", hidden: true, sortable:false, editable:false}, - {name:"PART_NO",index:"PART_NO", width: 180, align:"center", hidden: false, sortable:false, editable:true + {name:"PART_NO",index:"PART_NO", width: 150, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; } } } - ,{name:"REVISION",index:"REVISION", width: 40, align:"center", hidden: false, sortable:false, editable:true + ,{name:"PART_NAME",index:"PART_NAME", width: 200, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; @@ -73,61 +72,37 @@ $(document).ready(function(){ ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; - // 숫자만 입력 가능하도록 설정 - $(e).on('input', function() { - this.value = this.value.replace(/[^0-9]/g, ''); - }); - $(e).attr('inputmode', 'numeric'); - $(e).attr('pattern', '[0-9]*'); - } - } - } - ,{name:"SPARE_QTY",index:"SPARE_QTY", width: 60, align:"center", hidden: false, sortable:false, editable:true - ,editoptions:{ - dataInit : function(e){ - e.style.fontSize = 13; - // 숫자만 입력 가능하도록 설정 - $(e).on('input', function() { - this.value = this.value.replace(/[^0-9]/g, ''); - }); - $(e).attr('inputmode', 'numeric'); - $(e).attr('pattern', '[0-9]*'); } } } - ,{name:"UNIT" ,index:"UNIT" , width:50, align:"center", hidden:false, sortable:false, editable: true - ,edittype :"select" - ,formatter :"select" - ,editoptions:{ - value: unit_cd - ,dataInit : function(e){ - e.style.width = "92%"; - e.style.fontSize = 13; - } - } - } - ,{name:"MATERIAL",index:"MATERIAL", width: 200, align:"center", hidden: false, sortable:false, editable:true - ,editoptions:{ - dataInit : function(e){ - e.style.fontSize = 13; - } - } - } - ,{name:"PART_NAME",index:"PART_NAME", width: 200, align:"center", hidden: false, sortable:false, editable:true + ,{name:"MATERIAL",index:"MATERIAL", width: 150, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; } } } - ,{name:"SPEC",index:"SPEC", width: 200, align:"center", hidden: false, sortable:false, editable:true + ,{name:"SPEC",index:"SPEC", width: 150, align:"center", hidden: false, sortable:false, editable:true + ,editoptions:{ + dataInit : function(e){ + e.style.fontSize = 13; + } + } + } + ,{name:"POST_PROCESSING",index:"POST_PROCESSING", width: 100, align:"center", hidden: false, sortable:false, editable:true + ,editoptions:{ + dataInit : function(e){ + e.style.fontSize = 13; + } + } + } + ,{name:"MAKER",index:"MAKER", width: 150, align:"center", hidden: false, sortable:false, editable:true ,editoptions:{ dataInit : function(e){ e.style.fontSize = 13; } } } - ,{name:"PART_TYPE" ,index:"PART_TYPE" , width:100, align:"center", hidden:false, sortable:false, editable: true ,edittype :"select" ,formatter :"select" @@ -146,27 +121,26 @@ $(document).ready(function(){ } } } - ] - //,cellEdit : true - //,cellsubmit : "clientArray" - ,rownumbers : true - ,viewrecords : true - ,width : 1500 - ,height : 530 //'auto' //520 - ,multiselect : false - ,shrinkToFit : false - ,autowidth : true - ,sortable : false - ,rowNum : 5000 - ,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부 - ,jsonReader : {repeatitems: false} - ,mtype :"POST" - ,footerrow : false //바닥합계 - ,userDataOnFooter: true //바닥합계 - ,resizable : true // 엑셀 스타일 열 크기 조정 활성화 - ,loadComplete: function(){ - } -}); + ] + //,cellEdit : true + //,cellsubmit : "clientArray" + ,rownumbers : true + ,viewrecords : true + ,width : 1500 + ,height : 530 //'auto' //520 + ,multiselect : false + ,shrinkToFit : false + ,autowidth : true + ,sortable : false + ,rowNum : 5000 + ,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부 + ,jsonReader : {repeatitems: false} + ,mtype :"POST" + ,footerrow : false //바닥합계 + ,userDataOnFooter: true //바닥합계 + ,loadComplete: function(){ + } + }); //동시적용 프로젝트번호 - 신규등록일 때만 보이게 if(fnc_isEmpty(${bomInfo.OBJID})){ @@ -239,16 +213,10 @@ var gridFn = { //gridFn.opennEdit(); //수정가능 var valid = true; - var skipCount = 0; gridFn.closeEdit(); //var tempGrid = $('#expenseDetailGrid'); $.each(grid.getRowData(), function(i, d){ console.log(d); - // SKIP_YN이 Y인 건 또는 NOTE가 [SKIP]으로 시작하는 건은 에러가 아니므로 건너뜀 - if(d["SKIP_YN"] == "Y" || (d["NOTE"] && d["NOTE"].indexOf("[SKIP]") == 0)){ - skipCount++; - return true; // continue - } if(!fnc_isEmpty(d["NOTE"])){ valid = false; } @@ -260,9 +228,6 @@ var gridFn = { $("#btnSave").hide(); return; } - if(skipCount > 0){ - console.log("SKIP 처리된 건수: " + skipCount + " (중복 파트는 건너뜁니다)"); - } } }).trigger("reloadGrid"); grid.setGridParam({url: "", datatype : "local"}); @@ -287,22 +252,14 @@ function fn_save(){ var partNo1 = ""; gridFn.closeEdit(); - var skipCount = 0; - var totalCount = 0; $.each(grid.getRowData(), function(i, d){ //console.log(d); - totalCount++; if(i==0){ //alert($(d).find("input[name=PART_NO]").val()); //alert(d["PART_NO"]); partNo1 = d["PART_NO"]; } - // SKIP_YN이 Y인 건 또는 NOTE가 [SKIP]으로 시작하는 건은 에러가 아니므로 건너뜀 - if(d["SKIP_YN"] == "Y" || (d["NOTE"] && d["NOTE"].indexOf("[SKIP]") == 0)){ - skipCount++; - return true; // continue - } if(!fnc_isEmpty(d["NOTE"])){ valid = false; } @@ -314,17 +271,6 @@ function fn_save(){ return; } - // 모든 건이 SKIP인 경우 안내 - if(skipCount == totalCount){ - Swal.fire('모든 파트가 이미 등록되어 있어 신규 등록할 항목이 없습니다.'); - return; - } - - // SKIP 건이 있으면 안내 메시지 - if(skipCount > 0){ - console.log("SKIP 처리된 건수: " + skipCount + " / 전체: " + totalCount + " (중복 파트는 건너뜁니다)"); - } - /* var project_no = $("#project_name").find("option:selected").text(); if(partNo1.indexOf(project_no) < 0){ @@ -886,7 +832,6 @@ function fn_save(){ - @@ -953,7 +898,6 @@ function fn_save(){  ${item.PART_NAME} ${item.QTY} - ${item.SPARE_QTY} ${item.MATERIAL} ${item.SPEC} ${item.POST_PROCESSING} @@ -963,7 +907,6 @@ function fn_save(){ ${item.EO_NO} ${item.EO_DATE} - ${item.UNIT_NAME} ${item.PART_TYPE_TITLE} ${item.REMARK} diff --git a/WebContent/WEB-INF/view/partMng/partMngChangeList.jsp b/WebContent/WEB-INF/view/partMng/partMngChangeList.jsp index ada89fb..bc62784 100644 --- a/WebContent/WEB-INF/view/partMng/partMngChangeList.jsp +++ b/WebContent/WEB-INF/view/partMng/partMngChangeList.jsp @@ -89,24 +89,18 @@ var _CHANGE_OPTION_LIST; fn_excel(); }); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 $("#customer_cd").change(function(){ - fn_projectNameList(this.value, "project_name", ""); + //fnc_productUPGNEWList(this.value,"","upg_no", ""); }); - // 초기 로딩 시 전체 프로젝트 목록 표시 - fn_projectNameList("", "project_name", ""); + fn_projectNameList(this.value, "project_name", ""); $("#project_name").change(function(){ //fnc_productUPGNEWList(this.value,"","upg_no", ""); - var projectObjid = this.value; - $("#unit_code").val(""); - fn_BomPartLastList(projectObjid, "", "SEARCH_PART_OBJID", ""); - fn_UnitCodeList(projectObjid, "unit_code", ""); + fn_UnitCodeList(this.value, "unit_code", ""); }); $("#unit_code").change(function(){ //fnc_productUPGNEWList(this.value,"","upg_no", ""); //fn_BomPartList($("#project_name").val(), this.value, "SEARCH_PART_OBJID", ""); - // 유닛명 선택 시 해당 유닛의 품번만 조회 fn_BomPartLastList($("#project_name").val(), this.value, "SEARCH_PART_OBJID", ""); }); @@ -283,9 +277,8 @@ var _CHANGE_OPTION_LIST; {headerHozAlign:'center', hozAlign:'left', width:'125', title:'품번', field:'PART_NO' ,frozen:true , formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ - // OBJID_ORG: 원본 파트의 OBJID (PART_MNG 테이블의 실제 OBJID) + //var objid = fnc_checkNull(cell.getData().OBJID); var objid = fnc_checkNull(cell.getData().OBJID_ORG); - //fn_partMngHisDetail(objid, ""); openPartMngPopup(objid); } }, @@ -358,23 +351,22 @@ var _CHANGE_OPTION_LIST; ,editorParams: {valueId:"CODE_ID", labelId:"CODE_NAME", values:_CHANGE_OPTION_LIST} ,formatterParams:{valueId:"CODE_ID", labelId:"CODE_NAME", values:_CHANGE_OPTION_LIST} }, - {headerHozAlign:'center', hozAlign:'center', width:'88',/*editor:"input", editorParams:{},*/editable:editCheck, title :'부품유형', field:'PART_TYPE' + {headerHozAlign:'center', hozAlign:'center', width:'88',/*editor:"input", editorParams:{},*/editable:editCheck, title :'PART구분', field:'PART_TYPE' ,editor: fnc_customSelectEditor ,formatter:fnc_customSelectFormatter ,editorParams: {valueId:"CODE_ID", labelId:"CODE_NAME", values:_PART_TYPE_LIST} ,formatterParams:{valueId:"CODE_ID", labelId:"CODE_NAME", values:_PART_TYPE_LIST} }, - {headerHozAlign:'center', hozAlign:'center', width:'90',editor:"input", editorParams:{}, editable:editCheck, title :'MATERIAL', field:'MATERIAL' }, - {headerHozAlign:'center', hozAlign:'left', width:'130',editor:"input", editorParams:{}, editable:editCheck, title :'SPECIFICATION', field:'SPEC' }, - //{headerHozAlign:'center', hozAlign:'center', width:'80',editor:"input", editorParams:{}, editable:editCheck, title :'후처리', field:'POST_PROCESSING' }, + {headerHozAlign:'center', hozAlign:'center', width:'90',editor:"input", editorParams:{}, editable:editCheck, title :'재질', field:'MATERIAL' }, + {headerHozAlign:'center', hozAlign:'left', width:'90',editor:"input", editorParams:{}, editable:editCheck, title :'사양(규격)', field:'SPEC' }, + {headerHozAlign:'center', hozAlign:'center', width:'80',editor:"input", editorParams:{}, editable:editCheck, title :'후처리', field:'POST_PROCESSING' }, {headerHozAlign:'center', hozAlign:'center', width:'80',editor:"input", editorParams:{}, editable:editCheck, title :'MAKER', field:'MAKER' }, - {headerHozAlign:'center', hozAlign:'center', width:'80',editor:"input", editorParams:{}, editable:editCheck, title :'REMARK', field:'REMARK' }, - //{headerHozAlign:'center', hozAlign:'center', width:'90',editor:"input", editorParams:{}, editable:editCheck, title :'대분류', field:'MAJOR_CATEGORY' }, - //{headerHozAlign:'center', hozAlign:'center', width:'90',editor:"input", editorParams:{}, editable:editCheck, title :'중분류', field:'SUB_CATEGORY' }, + {headerHozAlign:'center', hozAlign:'center', width:'90',editor:"input", editorParams:{}, editable:editCheck, title :'대분류', field:'MAJOR_CATEGORY' }, + {headerHozAlign:'center', hozAlign:'center', width:'90',editor:"input", editorParams:{}, editable:editCheck, title :'중분류', field:'SUB_CATEGORY' }, {headerHozAlign:'center', hozAlign:'center', width:'80',/* editor:"", */ editorParams:{}, title :'Revision', field:'REVISION' }, {headerHozAlign:'center', hozAlign:'center', width:'90',/* editor:"", */ editorParams:{}, title :'EO No', field:'EO_NO' }, {headerHozAlign:'center', hozAlign:'center', width:'80',/* editor:"", */ editorParams:{}, title :'EO Date', field:'EO_DATE' }, - + {headerHozAlign:'center', hozAlign:'center', width:'80',editor:"input", editorParams:{}, editable:editCheck, title :'비고', field:'REMARK' } ]; //if(fnc_validate('form1')){ @@ -526,16 +518,6 @@ var _CHANGE_OPTION_LIST; document.form1.submit(); } - // Part 상세 + ECR 설계변경요청서 정보 팝업 - function fn_partMngHisDetail(objId, ecrObjid){ - var popup_width = 800; - var popup_height = 700; - var url = "/partMng/partMngWithEcrPopUp.do?OBJID="+objId; - if(ecrObjid && ecrObjid != ""){ - url += "&ECR_OBJID="+ecrObjid; - } - fn_centerPopup(popup_width, popup_height, url); - } @@ -600,21 +582,14 @@ var _CHANGE_OPTION_LIST; - - - - - - - - + + + + - diff --git a/WebContent/WEB-INF/view/partMng/partMngDetailPopUp.jsp b/WebContent/WEB-INF/view/partMng/partMngDetailPopUp.jsp index 70cb6ad..a87f6f5 100644 --- a/WebContent/WEB-INF/view/partMng/partMngDetailPopUp.jsp +++ b/WebContent/WEB-INF/view/partMng/partMngDetailPopUp.jsp @@ -19,30 +19,22 @@ String userId = CommonUtils.checkNull(person.getUserId()); - - - - -
- -
-
-

- 품목 상세 (ECR 연결) -

-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - - - - - -
- - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - -
- ▶ ECR 설계변경요청서 정보 -
- - - - - - - -
- - - - - - - -
- - - -
- - -
- - - ${resultMap.BEFORE_CONTENTS} - - - 요청사항이 없습니다. - - -
-
- 2D - -
Drag & Drop Files Here
-
- -
-
- 3D - -
Drag & Drop Files Here
-
- -
-
- - -
- ECR 이미지가 없습니다. -
-
- PDF - -
Drag & Drop Files Here
-
- -
-
- - - -
- - - - - - - -
-
- -
-
- -
-
-
-
- - - diff --git a/WebContent/WEB-INF/view/partMng/structureAscendingList.jsp b/WebContent/WEB-INF/view/partMng/structureAscendingList.jsp index 9017c21..86f6da3 100644 --- a/WebContent/WEB-INF/view/partMng/structureAscendingList.jsp +++ b/WebContent/WEB-INF/view/partMng/structureAscendingList.jsp @@ -7,31 +7,6 @@ <%=Constants.SYSTEM_NAME%> - diff --git a/WebContent/WEB-INF/view/partMng/structurePopupLeft.jsp b/WebContent/WEB-INF/view/partMng/structurePopupLeft.jsp index 25ff944..ce3a99b 100644 --- a/WebContent/WEB-INF/view/partMng/structurePopupLeft.jsp +++ b/WebContent/WEB-INF/view/partMng/structurePopupLeft.jsp @@ -34,96 +34,6 @@ int[] levelarr = new int[TREELIST.size()]; #structureTableWrap1 { top: 56px; } -/* 드래그앤드롭 스타일 */ -.sortable-row { - cursor: move !important; - transition: background-color 0.2s; -} -.sortable-row:hover { - background-color: #f0f0f0 !important; - box-shadow: 0 2px 4px rgba(0,0,0,0.1); -} -.ui-sortable-helper { - opacity: 0.8 !important; - background-color: #fff !important; - border: 2px dashed #4CAF50 !important; - box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important; - display: table !important; - width: 100% !important; -} -.ui-sortable-placeholder { - background-color: #e8f5e9 !important; - border: 2px dashed #4CAF50 !important; - visibility: visible !important; - height: 40px !important; -} -.ui-sortable-disabled { - opacity: 0.3 !important; - cursor: not-allowed !important; -} -.drag-handle { - cursor: move; - padding: 5px; - color: #999; - font-size: 18px; -} -.drag-handle:hover { - color: #333; -} - -/* 엑셀 스타일 열 크기 조정 */ -.plm_thead td { - position: relative; -} -.column-resizer { - position: absolute; - top: 0; - right: -3px; - width: 6px; - height: 100%; - cursor: col-resize; - z-index: 10; - background: transparent; -} -.column-resizer:hover { - background: rgba(66, 139, 202, 0.3); - border-right: 2px solid #428bca; -} -.column-resizing { - border-right: 2px solid #428bca !important; - background: rgba(66, 139, 202, 0.2) !important; -} - -/* 설계변경 상태 표시 스타일 */ -.eco-adding td:first-child { - border-left: 5px solid #4CAF50 !important; -} -.eco-editing td:first-child { - border-left: 5px solid #2196F3 !important; -} -.eco-revised td:first-child { - border-left: 5px solid #FF9800 !important; -} -.eco-legend { - display: inline-block; - font-size: 11px; - margin-left: 15px; - vertical-align: middle; -} -.eco-legend-item { - display: inline-block; - margin-right: 12px; - padding-left: 7px; -} -.eco-legend-item.adding { - border-left: 4px solid #4CAF50; -} -.eco-legend-item.editing { - border-left: 4px solid #2196F3; -} -.eco-legend-item.revised { - border-left: 4px solid #FF9800; -} @@ -134,30 +44,7 @@ int[] levelarr = new int[TREELIST.size()]; $(function(){ if('${param.readonly}' == 'readonly'){ $("#structureName2").hide(); - // readonly 모드에서는 도면 업로드 버튼 숨김 - $("#btnDrawingFiles").hide(); - $("#btnDrawingFolder").hide(); } - - // 도면 파일 선택 버튼 클릭 - $("#btnDrawingFiles").click(function() { - $("#drawingFiles").click(); - }); - - // 도면 폴더 선택 버튼 클릭 - $("#btnDrawingFolder").click(function() { - $("#drawingFolder").click(); - }); - - // 파일 선택 이벤트 - $("#drawingFiles").change(function() { - fn_uploadDrawingFiles(this.files); - }); - - // 폴더 선택 이벤트 - $("#drawingFolder").change(function() { - fn_uploadDrawingFiles(this.files); - }); $(".qty").keyup(function(e){ var key = e.keyCode; @@ -232,7 +119,6 @@ $(function(){ */ $(document).ready(function(){ - // LEVEL별 배경색 설정 $(".dataTr").each(function(i){ var lev = $(this).attr("data-LEVEL"); if(lev == 1){ @@ -257,34 +143,6 @@ $(function(){ $(this).css("background-color", "#ffffff"); } }); - - // 설계변경 상태 색상 표시 - $(".dataTr").each(function(){ - var bomStatus = $(this).attr("data-BOM_STATUS"); - var revision = parseInt($(this).attr("data-REVISION")) || 0; - var isLast = $(this).attr("data-IS_LAST"); - var isEco = $(this).attr("data-IS_ECO"); - - var isRecentAdd = $(this).attr("data-IS_RECENT_ADD"); - - if(bomStatus == 'adding'){ - $(this).addClass("eco-adding"); - } else if(isEco == 'Y'){ - $(this).addClass("eco-editing"); - } else if(isLast != '1'){ - $(this).addClass("eco-editing"); - } else if(revision > 0){ - $(this).addClass("eco-revised"); - } else if(isRecentAdd == 'Y'){ - $(this).addClass("eco-adding"); - } - }); - - // 드래그앤드롭 초기화 - initDragAndDrop(); - - // 테이블 열 크기 조정 가능하게 (jQuery UI Resizable) - initColumnResize(); }); }); @@ -369,499 +227,6 @@ function fn_excel() { form.submit(); } -/** - * 도면 다중 업로드 처리 함수 - * 파일명에서 품번을 추출하여 해당 파트에 도면 파일을 업로드 - * @param files 선택된 파일 목록 (FileList) - */ -function fn_uploadDrawingFiles(files) { - if(!files || files.length === 0) { - Swal.fire('파일을 선택해주세요.'); - return; - } - - // BOM OBJID 확인 - var bomObjId = "${info.OBJID}"; - if(!bomObjId) { - Swal.fire('BOM 정보를 찾을 수 없습니다.'); - return; - } - - // 파일 분류 및 처리 - var filesByType = { - '3D': [], // stp, step 파일 - '2D': [], // dwg, dxf 파일 - 'PDF': [] // pdf 파일 - }; - - // 파일 확장자 확인 및 분류 - for(var i = 0; i < files.length; i++) { - var file = files[i]; - var fileName = file.name; - var lastDotIndex = fileName.lastIndexOf('.'); - - if(lastDotIndex === -1) { - continue; // 확장자가 없는 파일은 스킵 - } - - var ext = fileName.substring(lastDotIndex + 1).toLowerCase(); - - console.log('파일명: ' + fileName + ', 확장자: ' + ext); - - if(ext === 'stp' || ext === 'step') { - filesByType['3D'].push(file); - } else if(ext === 'dwg' || ext === 'dxf') { - filesByType['2D'].push(file); - } else if(ext === 'pdf') { - filesByType['PDF'].push(file); - } - } - - // 업로드할 파일이 있는지 확인 - var totalFiles = filesByType['3D'].length + filesByType['2D'].length + filesByType['PDF'].length; - if(totalFiles === 0) { - Swal.fire('업로드 가능한 파일 형식이 없습니다.\n(stp, step, dwg, dxf, pdf만 가능)'); - return; - } - - // 확인 메시지 - var msg = '총 ' + totalFiles + '개의 파일을 업로드하시겠습니까?\n'; - msg += '- 3D (STP/STEP): ' + filesByType['3D'].length + '개\n'; - msg += '- 2D (DWG/DXF): ' + filesByType['2D'].length + '개\n'; - msg += '- PDF: ' + filesByType['PDF'].length + '개'; - - Swal.fire({ - title: '도면 다중 업로드', - text: msg, - icon: 'question', - showCancelButton: true, - confirmButtonText: '업로드', - cancelButtonText: '취소' - }).then(function(result) { - if(result.isConfirmed) { - fn_processDrawingUpload(bomObjId, filesByType); - } - }); -} - -/** - * 실제 도면 업로드 처리 - * @param bomObjId BOM OBJID - * @param filesByType 확장자별로 분류된 파일 객체 - */ -function fn_processDrawingUpload(bomObjId, filesByType) { - // FormData 생성 - var formData = new FormData(); - formData.append('bomObjId', bomObjId); - - // 모든 파일을 files 이름으로 추가 - var allFiles = filesByType['3D'].concat(filesByType['2D']).concat(filesByType['PDF']); - for(var i = 0; i < allFiles.length; i++) { - formData.append('files', allFiles[i]); - } - - // 로딩 표시 - Swal.fire({ - title: '업로드 중...', - text: '파일을 업로드하는 중입니다. 잠시만 기다려주세요.', - allowOutsideClick: false, - allowEscapeKey: false, - allowEnterKey: false, - showConfirmButton: false, - onOpen: function() { - Swal.showLoading(); - } - }); - - // AJAX 업로드 - $.ajax({ - url: '/partMng/uploadDrawingFiles.do', - type: 'POST', - data: formData, - processData: false, - contentType: false, - success: function(response) { - Swal.close(); - - if(response.result === 'success') { - var successMsg = '도면 업로드가 완료되었습니다.\n\n'; - successMsg += '- 성공: ' + response.successCount + '개\n'; - if(response.failCount > 0) { - successMsg += '- 실패: ' + response.failCount + '개\n'; - } - if(response.notFoundCount > 0) { - successMsg += '- 품번 미존재: ' + response.notFoundCount + '개\n'; - } - - // 상세 결과가 있으면 표시 - if(response.details && response.details.length > 0) { - successMsg += '\n[상세 결과]\n'; - for(var i = 0; i < Math.min(response.details.length, 10); i++) { - successMsg += response.details[i] + '\n'; - } - if(response.details.length > 10) { - successMsg += '... 외 ' + (response.details.length - 10) + '건'; - } - } - - Swal.fire({ - title: '업로드 완료', - text: successMsg, - icon: response.failCount > 0 || response.notFoundCount > 0 ? 'warning' : 'success' - }).then(function() { - // 페이지 새로고침하여 파일 개수 반영 - location.reload(); - }); - } else { - Swal.fire({ - title: '업로드 실패', - text: response.message || '도면 업로드 중 오류가 발생했습니다.', - icon: 'error' - }); - } - }, - error: function(xhr, status, error) { - Swal.close(); - console.error('Upload error:', error); - console.error('Response:', xhr.responseText); - Swal.fire({ - title: '업로드 실패', - text: '서버 오류가 발생했습니다: ' + error, - icon: 'error' - }); - } - }); -} - -/** - * 파일 input 초기화 (같은 파일 재선택 가능하도록) - */ -function fn_resetFileInput() { - $("#drawingFiles").val(''); - $("#drawingFolder").val(''); -} - -/** - * 드래그앤드롭 초기화 - * 테이블의 tbody에 sortable을 적용하여 행 순서 변경 가능하게 함 - */ -function initDragAndDrop() { - // readonly 모드에서는 드래그 비활성화 - if('${param.readonly}' == 'readonly'){ - return; - } - - // 모든 행에 data 속성 추가 (그룹 식별용) - $("#structurePopupTable2 tr.dataTr").each(function() { - var level = $(this).attr("data-LEVEL"); - var $radio = $(this).find("input[name='checkedPartNo']"); - var parentObjid = $radio.attr("data-PARENT_OBJID") || "ROOT"; - var groupKey = level + "_" + parentObjid; - $(this).attr("data-group-key", groupKey); - $(this).addClass("sortable-row"); - }); - - // tbody에 sortable 적용 - $("#structurePopupTable2").sortable({ - items: "tr.sortable-row", - axis: "y", - cursor: "move", - tolerance: "pointer", - helper: function(e, tr) { - // 드래그 중인 행의 너비 유지 - var $originals = tr.children(); - var $helper = tr.clone(); - $helper.children().each(function(index) { - $(this).width($originals.eq(index).width()); - }); - return $helper; - }, - start: function(event, ui) { - // 드래그 시작 시 같은 그룹만 드래그 가능하도록 설정 - var dragGroupKey = ui.item.attr("data-group-key"); - ui.item.data("dragGroupKey", dragGroupKey); - ui.item.data("originalIndex", ui.item.index()); - - // 같은 그룹이 아닌 행들은 시각적으로만 표시 (실제 드래그는 제한하지 않음) - $("#structurePopupTable2 tr.sortable-row").each(function() { - if ($(this).attr("data-group-key") !== dragGroupKey) { - $(this).addClass("ui-sortable-disabled"); - } - }); - }, - change: function(event, ui) { - // 드래그 중 다른 그룹 영역으로 이동 시 시각적 피드백만 제공 - // 실제 이동 제한은 stop 이벤트에서 처리 - var dragGroupKey = ui.item.data("dragGroupKey"); - - // 모든 행의 disabled 클래스 제거 후 다시 설정 - $("#structurePopupTable2 tr.sortable-row").removeClass("ui-sortable-disabled"); - $("#structurePopupTable2 tr.sortable-row").each(function() { - if ($(this).attr("data-group-key") !== dragGroupKey) { - $(this).addClass("ui-sortable-disabled"); - } - }); - }, - stop: function(event, ui) { - // 드래그 종료 후 disabled 클래스 제거 - $("#structurePopupTable2 tr.sortable-row").removeClass("ui-sortable-disabled"); - - // 최종 위치 검증: 이동한 항목의 앞뒤가 같은 그룹인지만 확인 - var dragGroupKey = ui.item.data("dragGroupKey"); - var $prev = ui.item.prev("tr.sortable-row"); - var $next = ui.item.next("tr.sortable-row"); - - console.log("=== 드래그 종료 디버깅 ==="); - console.log("드래그한 항목의 그룹키:", dragGroupKey); - console.log("이전 항목 존재:", $prev.length > 0); - if ($prev.length > 0) { - console.log("이전 항목 그룹키:", $prev.attr("data-group-key")); - } - console.log("다음 항목 존재:", $next.length > 0); - if ($next.length > 0) { - console.log("다음 항목 그룹키:", $next.attr("data-group-key")); - } - - var isValidPosition = false; - var prevGroupKey = $prev.length > 0 ? $prev.attr("data-group-key") : null; - var nextGroupKey = $next.length > 0 ? $next.attr("data-group-key") : null; - - // 경우 1: 앞뒤 모두 존재 - if ($prev.length > 0 && $next.length > 0) { - // 이전이 같은 그룹이고, 다음이 같은 그룹이거나 다른 레벨(하위 레벨)이면 OK - // 예: 3레벨의 마지막 위치 다음에 4레벨이 올 수 있음 - if (prevGroupKey === dragGroupKey) { - // 다음이 같은 그룹이거나, 다른 그룹이면 그룹의 마지막 위치 - isValidPosition = true; - } else if (nextGroupKey === dragGroupKey) { - // 이전이 다른 그룹이고 다음이 같은 그룹이면 그룹의 첫 위치 - isValidPosition = true; - } else { - isValidPosition = false; - } - console.log("경우 1 (중간): prev=" + prevGroupKey + ", next=" + nextGroupKey + ", valid=" + isValidPosition); - } - // 경우 2: 맨 앞 (prev 없음, next만 확인) - else if ($prev.length === 0 && $next.length > 0) { - isValidPosition = (nextGroupKey === dragGroupKey); - console.log("경우 2 (맨 앞): next=" + nextGroupKey + ", valid=" + isValidPosition); - } - // 경우 3: 맨 뒤 (next 없음, prev만 확인) - else if ($prev.length > 0 && $next.length === 0) { - isValidPosition = (prevGroupKey === dragGroupKey); - console.log("경우 3 (맨 뒤): prev=" + prevGroupKey + ", valid=" + isValidPosition); - } - // 경우 4: 단일 항목 (앞뒤 모두 없음) - else { - isValidPosition = true; - console.log("경우 4 (단일): valid=" + isValidPosition); - } - - console.log("최종 검증 결과:", isValidPosition); - - if (!isValidPosition) { - // 원래 위치로 복원 - $("#structurePopupTable2").sortable("cancel"); - Swal.fire({ - title: "순서 변경 불가", - text: "같은 LEVEL 내에서만 순서를 변경할 수 있습니다.", - icon: "warning", - timer: 2000 - }); - } else { - // SEQ 재계산 및 저장 - saveDragDropSeq(dragGroupKey); - } - } - }); - - console.log("드래그앤드롭 초기화 완료"); -} - -/** - * 드래그앤드롭 후 SEQ 저장 - * @param groupKey LEVEL_PARENT_OBJID 형식의 그룹 키 - */ -function saveDragDropSeq(groupKey) { - console.log("=== SEQ 저장 시작 ==="); - console.log("그룹키:", groupKey); - - var seqList = []; - var bomReportObjid = "${info.OBJID}"; - var parentObjid = null; - - // 그룹에 속한 모든 행의 새로운 SEQ 수집 - $("#structurePopupTable2 tr.sortable-row").each(function(index) { - var $row = $(this); - var rowGroupKey = $row.attr("data-group-key"); - - console.log("행 " + index + " 그룹키:", rowGroupKey); - - // 같은 그룹에 속한 항목만 처리 - if (rowGroupKey === groupKey) { - var $radio = $row.find("input[name='checkedPartNo']"); - var childObjid = $radio.val(); - var currentParentObjid = $radio.attr("data-PARENT_OBJID"); - - if (parentObjid === null) { - parentObjid = currentParentObjid; - } - - seqList.push({ - CHILD_OBJID: childObjid, - SEQ: seqList.length + 1 - }); - - console.log("추가됨 - CHILD_OBJID:", childObjid, ", SEQ:", seqList.length); - } - }); - - console.log("최종 seqList:", seqList); - console.log("seqList 개수:", seqList.length); - - if (seqList.length === 0) { - console.error("저장할 항목이 없습니다!"); - Swal.fire({ - title: "저장 실패", - text: "저장할 항목을 찾을 수 없습니다.", - icon: "error" - }); - return; - } - - // SEQ 업데이트 API 호출 - $.ajax({ - url: "/partMng/structureDragDropSeqSave.do", - method: "post", - data: { - seqList: JSON.stringify(seqList), - bomReportObjid: bomReportObjid - }, - dataType: "json", - success: function(data) { - console.log("서버 응답:", data); - if (data.result) { - Swal.fire({ - title: "순서 변경 완료", - text: "항목 순서가 저장되었습니다.", - icon: "success", - timer: 800, - showConfirmButton: false - }).then(function() { - // 성공 후 페이지 새로고침하여 변경된 순서 반영 - location.reload(); - }); - } else { - Swal.fire({ - title: "저장 실패", - text: "순서 변경 중 오류가 발생했습니다.", - icon: "error" - }); - } - }, - error: function(jqxhr, status, error) { - console.error("AJAX 오류:", jqxhr, status, error); - Swal.fire({ - title: "오류 발생", - text: "서버 통신 중 오류가 발생했습니다: " + error, - icon: "error" - }); - } - }); -} - -/** - * 엑셀 스타일 열 크기 조정 초기화 - */ -function initColumnResize() { - console.log("=== 엑셀 스타일 열 크기 조정 초기화 시작 ==="); - - var isResizing = false; - var startX = 0; - var startWidth = 0; - var $currentCell = null; - var currentColIndex = 0; - var colIndexOffset = 0; - - // 각 헤더 셀에 리사이저 추가 - $("#structurePopupTableHead tr.plm_thead td").each(function(index) { - var $headerCell = $(this); - - // colspan이 있는 셀은 건너뛰기 - if ($headerCell.attr('colspan')) { - var colspan = parseInt($headerCell.attr('colspan')) || 1; - colIndexOffset += (colspan - 1); - console.log("colspan 셀 건너뛰기:", $headerCell.text()); - return true; - } - - var actualColIndex = index + colIndexOffset; - - // 리사이저 div 추가 (엑셀처럼 경계선에만) - var $resizer = $('
'); - $headerCell.append($resizer); - - // 리사이저에 마우스다운 이벤트 - $resizer.on('mousedown', function(e) { - e.preventDefault(); - e.stopPropagation(); - - isResizing = true; - startX = e.pageX; - startWidth = $headerCell.width(); - $currentCell = $headerCell; - currentColIndex = actualColIndex; - - $resizer.addClass('column-resizing'); - $('body').css('cursor', 'col-resize'); - - console.log("리사이징 시작 - 열:", $headerCell.text(), "인덱스:", actualColIndex, "시작 너비:", startWidth); - }); - - console.log("리사이저 추가:", $headerCell.text(), "인덱스:", actualColIndex); - }); - - // 문서 전체에 마우스무브 이벤트 - $(document).on('mousemove', function(e) { - if (!isResizing) return; - - var diff = e.pageX - startX; - var newWidth = startWidth + diff; - - // 최소/최대 너비 제한 - if (newWidth < 30) newWidth = 30; - if (newWidth > 500) newWidth = 500; - - // 헤더 셀 너비 조정 - $currentCell.css('width', newWidth + 'px'); - - // colgroup 너비 조정 - $("#structurePopupTableHead colgroup col:eq(" + currentColIndex + ")").attr('width', newWidth + 'px'); - $("#structurePopupTable2 colgroup col:eq(" + currentColIndex + ")").attr('width', newWidth + 'px'); - - // 같은 열의 모든 데이터 셀 너비 조정 - $("#structurePopupTable2 tr").each(function() { - $(this).find("td:eq(" + currentColIndex + ")").css('width', newWidth + 'px'); - }); - }); - - // 문서 전체에 마우스업 이벤트 - $(document).on('mouseup', function(e) { - if (!isResizing) return; - - isResizing = false; - $('.column-resizer').removeClass('column-resizing'); - $('body').css('cursor', ''); - - var finalWidth = $currentCell.width(); - console.log("리사이징 완료 - 최종 너비:", finalWidth); - - $currentCell = null; - }); - - console.log("=== 엑셀 스타일 열 크기 조정 초기화 완료 ==="); -} - @@ -876,32 +241,8 @@ function initColumnResize() {
-
- - - - ${info.PART_NO} - - - (${info.CUSTOMER_NAME}_${info.CUSTOMER_PROJECT_NAME}_${info.UNIT_NAME})_${info.REV} - - - - - - - - - -
-
- ※수량 변경 후, 엔터치시면 저장됩니다.(신규 추가 파트만 가능) -
- 설계변경 - 추가 - 변경중 -
-
+
(${info.CUSTOMER_NAME}_${info.CUSTOMER_PROJECT_NAME}_${info.UNIT_NAME})_${info.REV}
+
※수량 변경 후, 엔터치시면 저장됩니다.(신규 추가 파트만 가능)
@@ -975,7 +316,7 @@ function initColumnResize() { - + - + + + + - - - - - - - + diff --git a/WebContent/WEB-INF/view/productionplanning/issueFormPopUp.jsp b/WebContent/WEB-INF/view/productionplanning/issueFormPopUp.jsp index 876ffba..9c3f7ec 100644 --- a/WebContent/WEB-INF/view/productionplanning/issueFormPopUp.jsp +++ b/WebContent/WEB-INF/view/productionplanning/issueFormPopUp.jsp @@ -1,928 +1,775 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> - - - - - - - - <%=Constants.SYSTEM_NAME%> - - - -
- -
-
-

- 생산관리 이슈등록 -

-
- -
-
- 이슈등록 정보입력 -
-
- - -
- -
-
- -
-
-
-
-

- ${menuMap.MENU_PATH} -

-
- - -
-
-
- - - - - - - - - - - - - -
-
- - <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> -
-
-
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/productionplanning/assemblyWbsFormPopUp.jsp b/WebContent/WEB-INF/view/productionplanning/assemblyWbsFormPopUp.jsp index 2088a0f..30d342a 100644 --- a/WebContent/WEB-INF/view/productionplanning/assemblyWbsFormPopUp.jsp +++ b/WebContent/WEB-INF/view/productionplanning/assemblyWbsFormPopUp.jsp @@ -370,7 +370,7 @@ function fn_openEOPopup(objId){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function fn_openReceiveHistoryPopup(partObjId,projectName,unit){ diff --git a/WebContent/WEB-INF/view/productionplanning/inspectionMgmtList.jsp b/WebContent/WEB-INF/view/productionplanning/inspectionMgmtList.jsp index 5ef9764..7f86e41 100644 --- a/WebContent/WEB-INF/view/productionplanning/inspectionMgmtList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/inspectionMgmtList.jsp @@ -48,14 +48,6 @@ $(document).ready(function(){ $('.select2').select2(); - - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_objid").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - }); - $("#btnSearch").click(function(){ fn_search(); }); @@ -204,7 +196,7 @@ function fn_delete() { var columns = [ {title:"프로젝트정보", headerHozAlign:'center', //고객정보 columns:[ - {headerHozAlign : 'center', hozAlign : 'left', width : '130', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true, + {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true, formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); @@ -212,15 +204,14 @@ var columns = [ } }, {headerHozAlign : 'center', hozAlign : 'left', /*width : '170',*/ title : '고객사', field : 'CUSTOMER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '장비명', field : 'EQUIPMENT_NAME' }, //{headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '제품구분', field : 'PRODUCT_NAME' }, //{headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '기계형식', field : 'MECHANICAL_TYPE' }, //{headerHozAlign : 'center', hozAlign : 'left', /* width : '250', */ title : '고객사프로젝트명', field : 'CUSTOMER_PROJECT_NAME' }, //{headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '고객납기일', field : 'DUE_DATE' }, - //{headerHozAlign : 'center', hozAlign : 'left', /*width : '180',*/ title : '당사프로젝트명', field : 'PROJECT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '130', title : '요청납기일', field : 'DUE_DATE' }, - {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '셋업지', field : 'SETUP' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '담당자', field : 'WRITER_NAME' } + {headerHozAlign : 'center', hozAlign : 'left', /*width : '180',*/ title : '당사프로젝트명', field : 'PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', /*width : '100',*/ title : '요청납기일', field : 'REQ_DEL_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', /*width : '150',*/ title : '셋업지', field : 'SETUP' }, + {headerHozAlign : 'center', hozAlign : 'center', /*width : '120',*/ title : 'PM', field : 'PM_USER_NAME' } ], }, @@ -230,56 +221,26 @@ var columns = [ { */ title:"검사결과", headerHozAlign:'center', columns:[ - // { - // title: '체크리스트', field: 'INSPECTION_CNT',headerHozAlign: 'center', hozAlign: 'center', width:"9%", - // formatter:fnc_subInfoCntFormatter, - // cellClick:function(e, cell){ - // var objid = fnc_checkNull(cell.getData().OBJID); - // wbs_popup(objid); - // } - // }, + { + title: '체크리스트', field: 'INSPECTION_CNT',headerHozAlign: 'center', hozAlign: 'center', width:"9%", + formatter:fnc_subInfoCntFormatter, + cellClick:function(e, cell){ + var objid = fnc_checkNull(cell.getData().OBJID); + wbs_popup(objid); + } + }, /* { title: '입회검사', headerHozAlign:'center', columns:[ */ { - title: '소재 성적서', field: 'MATERIAL_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"9%", + title: '입회검사', field: 'ADMISSION_INSPECTION_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"9%", formatter:fnc_subInfoValueFormatter, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); - var docType = 'MATERIAL_TEST_FILE'; - var docTypeName = '소재성적서'; - fnc_fileRegist(objid, docType, docTypeName, null, null, 'MATERIAL_CNT', 'fn_search'); + var docType = 'ADMISSION_INSPECTION_FILE'; + var docTypeName = 'ADMISSION_INSPECTION_FILE'; + fnc_fileRegist(objid, docType, docTypeName); } - }, - { - title: '치수 성적서', field: 'MEASUREMENT_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"9%", - formatter:fnc_subInfoValueFormatter, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var docType = 'MEASUREMENT_TEST_FILE'; - var docTypeName = '치수성적서'; - fnc_fileRegist(objid, docType, docTypeName, null, null, 'MEASUREMENT_CNT', 'fn_search'); - } - }, - { - title: '내압 검사 성적서', field: 'INTERNAL_PRESSURE_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"9%", - formatter:fnc_subInfoValueFormatter, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var docType = 'INTERNAL_PRESSURE_TEST_FILE'; - var docTypeName = '내압검사성적서'; - fnc_fileRegist(objid, docType, docTypeName, null, null, 'INTERNAL_PRESSURE_CNT', 'fn_search'); - } - }, - { - title: '기타', field: 'ETC_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"9%", - formatter:fnc_subInfoValueFormatter, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var docType = 'ETC_TEST_FILE'; - var docTypeName = '기타성적서'; - fnc_fileRegist(objid, docType, docTypeName, null, null, 'ETC_CNT', 'fn_search'); - } }, /* { title: '검사일', field: 'ADMISSION_INSPECTION_DATE', headerHozAlign: 'center', hozAlign: 'center', width:"9%", @@ -369,7 +330,7 @@ function fn_search(){ 생산관리_검사관리
- +
@@ -386,7 +347,15 @@ function fn_search(){
+ + - - - - - - ${code_map.writer} + ${code_map.pm_user_id}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - 찾기 - 삭제 - - -
- - - -
-
-
Drag & Drop Image Files Here
-
-
-
-
-
Drag & Drop Image Files Here
-
-
-
-
-
-
- DRAG & DROP -
-
-
-
-
-
- -
-
- -
-
-
-
-
-
- DRAG & DROP -
-
-
-
-
-
- -
-
- -
-
-
- -
-
-
- - - - - - - - - -
-
-
-
-
- -
-
-
- - - - - - - - - -
-
-
-
-
- -
- - -
-
- 조치담당자 -
-
- - -
-
- - - - - - - - - - - - - - - - - - - <% - // Java scriptlet으로 actionList 가져오기 - List> actionList = (List>)request.getAttribute("actionList"); - if(actionList != null && !actionList.isEmpty()) { - int rowIndex = 0; - for(Map action : actionList) { - String actionUserid = CommonUtils.checkNull(action.get("ACTION_USERID")); - String actionResult = CommonUtils.checkNull(action.get("ACTION_RESULT")); - String actionDate = CommonUtils.checkNull(action.get("ACTION_DATE")); - String actionObjid = CommonUtils.checkNull(action.get("OBJID")); - %> - - - - - - - - <% - rowIndex++; - } - } else { - %> - - - - - - - - - <% - } - %> - -
- - - - - -
- - - - - -
- - - - - - - - -
- -
-
-
-
- - - - - - - - - -
-
- - - +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="com.pms.common.utils.*"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ page import="java.util.*" %> +<%@include file= "/init.jsp" %> + + + + + + + + <%=Constants.SYSTEM_NAME%> + + + +
+ +
+
+

+ 생산관리 이슈등록 +

+
+ +
+
+ 이슈등록 정보입력 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + O + X + + +
+ + +
+
+
Drag & Drop Image Files Here
+
+
+
+
+
Drag & Drop Image Files Here
+
+
+
+
+
+
+ DRAG & DROP +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ DRAG & DROP +
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+ + + + + + + + + +
+
+
+
+
+ +
+
+
+ + + + + + + + + +
+
+
+
+
+ +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+
+
+
+ + + + + + + + + +
+
+
+
+ \ No newline at end of file diff --git a/WebContent/WEB-INF/view/productionplanning/issuemgmtList.jsp b/WebContent/WEB-INF/view/productionplanning/issuemgmtList.jsp index ea0003f..77792da 100644 --- a/WebContent/WEB-INF/view/productionplanning/issuemgmtList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/issuemgmtList.jsp @@ -71,13 +71,6 @@ $(document).ready(function(){ - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_objid").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - $("#unit_code").empty(); - }); $("#project_no").change(function(){ fn_UnitCodeList(this.value, "unit_code", ""); }); @@ -245,54 +238,18 @@ var columns = [ {headerHozAlign : 'center', hozAlign : 'center', width : '135', title : '유닛명', field : 'UNIT_CODE_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 : '90', title : '이슈구분', field : 'ISSUE_CATEGORY_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '이슈유형', field : 'ISSUE_TYPE_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', widthGrow : 1, title : '이슈내용', field : 'CONTENT' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '등록일', field : 'REG_DATE_TEXT' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : '등록자', field : 'WRITER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설계담당자', field : 'DESIGN_USERID_NAME_EXCEL', - formatter: function(cell, formatterParams) { - var value = cell.getValue(); - if(!value || value === '') return ''; - var users = value.split(', '); - if(users.length === 1) { - return users[0]; - } else if(users.length > 1) { - return users[0] + ' 외' + (users.length - 1) + '건'; - } - return value; - } - }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '구매담당자', field : 'PURCHASE_USERID_NAME' }, - //{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '품질담당자', field : 'QUALITY_USERID_NAME' }, - //{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '생산담당자', field : 'PRODUCTION_USERID_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '조치결과', field : 'DESIGN_RESULT_NAME_EXCEL', - formatter: function(cell, formatterParams) { - var value = cell.getValue(); - if(!value || value === '') return ''; - var results = value.split(', '); - if(results.length === 1) { - return results[0]; - } else if(results.length > 1) { - return results[0] + ' 외' + (results.length - 1) + '건'; - } - return value; - } - }, - {headerHozAlign : 'center', hozAlign : 'center', width : '150', title : '조치일', field : 'DESIGN_DATE_EXCEL', - formatter: function(cell, formatterParams) { - var value = cell.getValue(); - if(!value || value === '') return ''; - var dates = value.split(', '); - if(dates.length === 1) { - return dates[0]; - } else if(dates.length > 1) { - return dates[0] + ' 외' + (dates.length - 1) + '건'; - } - return value; - } - }, - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '상태', field : 'STATUS_NAME' } + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '이슈구분', field : 'ISSUE_CATEGORY_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '이슈유형', field : 'ISSUE_TYPE_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '이슈내용', field : 'CONTENT' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '등록일', field : 'REG_DATE_TEXT' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '70', title : '등록자', field : 'WRITER_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설계담당자', field : 'DESIGN_USERID_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '구매담당자', field : 'PURCHASE_USERID_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '품질담당자', field : 'QUALITY_USERID_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '생산담당자', field : 'PRODUCTION_USERID_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '조치결과', field : 'DESIGN_RESULT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '조치일', field : 'DESIGN_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '상태', field : 'STATUS_NAME' } ]; //var grid; @@ -305,7 +262,7 @@ function fn_search(){ value: selectedValues }).appendTo('#form1'); - _tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/productionplanning/issuemgmtGridList.do", columns, true); + _tabulGrid = fnc_tabul_search(_tabul_layout_fitDataTable, _tabulGrid, "/productionplanning/issuemgmtGridList.do", columns, true); } //영업활동등록 상세 @@ -363,55 +320,44 @@ function openProjectFormPopUp(objId){ - - - - - - + - - - - - - - - - - - - - + + + + + + ${code_map.writer} - - + + + + + @@ -430,7 +376,7 @@ function openProjectFormPopUp(objId){ - diff --git a/WebContent/WEB-INF/view/productionplanning/planningList.jsp b/WebContent/WEB-INF/view/productionplanning/planningList.jsp index e078dbe..9d04f4e 100644 --- a/WebContent/WEB-INF/view/productionplanning/planningList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/planningList.jsp @@ -46,14 +46,6 @@ String connector = person.getUserId(); @@ -296,7 +277,15 @@ function electrical_wbs_popup(objId){ - + + + + + + - - - - - - - - - - - + - - ${code_map.writer} + ${code_map.pm_user_id} diff --git a/WebContent/WEB-INF/view/productionplanning/processperformanceByProjectList.jsp b/WebContent/WEB-INF/view/productionplanning/processperformanceByProjectList.jsp deleted file mode 100644 index 7dde113..0000000 --- a/WebContent/WEB-INF/view/productionplanning/processperformanceByProjectList.jsp +++ /dev/null @@ -1,253 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -String connector = person.getUserId(); - -%> - - - - - <%=Constants.SYSTEM_NAME%> - - - - - - - - - - - -
- -
-
-
-
-

- 생산관리_공정실적관리 -

-
- -
-
-
- - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
- - <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> -
-
- - - - diff --git a/WebContent/WEB-INF/view/productionplanning/processperformanceList.jsp b/WebContent/WEB-INF/view/productionplanning/processperformanceList.jsp index 25b66c1..4ef2582 100644 --- a/WebContent/WEB-INF/view/productionplanning/processperformanceList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/processperformanceList.jsp @@ -81,7 +81,7 @@ var columns = [ {headerHozAlign : 'center', hozAlign : 'left', width : '250', title : '당사프로젝트명', field : 'PROJECT_NAME' }, {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '요청납기일', field : 'DUE_DATE' }, {headerHozAlign : 'center', hozAlign : 'center', width : '110', title : '셋업지', field : 'SETUP' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '110', title : '담당자', field : 'WRITER_NAME' } + {headerHozAlign : 'center', hozAlign : 'center', width : '110', title : 'PM', field : 'PM_USER_NAME' } ], @@ -284,11 +284,11 @@ function openAssemblyWbsFormPopUp(CONTRACT_OBJID,CUSTOMER_OBJID,UNIT_CODE,OBJID) - + - - ${code_map.writer} + ${code_map.pm_user_id} diff --git a/WebContent/WEB-INF/view/productionplanning/processperformanceProjectDetailPopup.jsp b/WebContent/WEB-INF/view/productionplanning/processperformanceProjectDetailPopup.jsp deleted file mode 100644 index 2e6ec73..0000000 --- a/WebContent/WEB-INF/view/productionplanning/processperformanceProjectDetailPopup.jsp +++ /dev/null @@ -1,375 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -// 세션이 없으면 로그인 페이지로 리다이렉트 -if(person == null) { - response.sendRedirect(request.getContextPath() + "/login.do"); - return; -} -String connector = person.getUserId(); - -String contract_objid = CommonUtils.nullToEmpty((String)request.getAttribute("contract_objid")); -String project_name = CommonUtils.nullToEmpty((String)request.getAttribute("project_name")); -String project_no = CommonUtils.nullToEmpty((String)request.getAttribute("project_no")); -%> - - - - - <%=Constants.SYSTEM_NAME%> - - - - - - - - - - - -
- - -
-
-
-
-

- 공정실적관리 - 프로젝트별 상세 [${project_no}] -

-
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
제외공정작업 정보
공정율(%)담당자FromTo작업공수(HR)
가공 - -
용접 - -
조립 - -
전기 제어 설계 - -
계장 - -
배선 - -
프로그램 - -
- -
-
-
-
- - diff --git a/WebContent/WEB-INF/view/productionplanning/processperformanceUnitDetailPopup.jsp b/WebContent/WEB-INF/view/productionplanning/processperformanceUnitDetailPopup.jsp deleted file mode 100644 index e08b059..0000000 --- a/WebContent/WEB-INF/view/productionplanning/processperformanceUnitDetailPopup.jsp +++ /dev/null @@ -1,231 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -// 세션이 없으면 로그인 페이지로 리다이렉트 -if(person == null) { - response.sendRedirect(request.getContextPath() + "/login.do"); - return; -} -String connector = person.getUserId(); - -String contract_objid = CommonUtils.nullToEmpty((String)request.getAttribute("contract_objid")); -String project_name = CommonUtils.nullToEmpty((String)request.getAttribute("project_name")); -String project_no = CommonUtils.nullToEmpty((String)request.getAttribute("project_no")); -%> - - - - - <%=Constants.SYSTEM_NAME%> - - - - - - - - - - - -
- -
-
-
-
-

- 공정실적관리 - 유닛별 상세 [${project_no} - ${project_name}] -

-
- - - -
-
- - <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> -
-
-
-
- - \ No newline at end of file diff --git a/WebContent/WEB-INF/view/productionplanning/releaseMgmtFormSimplePopUp.jsp b/WebContent/WEB-INF/view/productionplanning/releaseMgmtFormSimplePopUp.jsp index a3ea4bd..4044db4 100644 --- a/WebContent/WEB-INF/view/productionplanning/releaseMgmtFormSimplePopUp.jsp +++ b/WebContent/WEB-INF/view/productionplanning/releaseMgmtFormSimplePopUp.jsp @@ -191,35 +191,44 @@ function fn_fileCallback(areaId,fileType){ + +

출하지시서 첨부파일

- -
- Drag & Drop 또는 클릭하여 파일 업로드 -
- -
-
- - - - - - - - - - - - - -
No첨부파일명등록일
-
-
- -
-
-
+ + + + + + + + + + +
+
+
+ + + + + + + + + + + + + +
No첨부파일명등록일
+
+
+ +
+
+
+
@@ -232,8 +241,8 @@ function fn_fileCallback(areaId,fileType){ - + ${resultMap.PM_USER_ID} @@ -243,9 +252,9 @@ function fn_fileCallback(areaId,fileType){
- <%-- --%> + - <%-- --%> +
diff --git a/WebContent/WEB-INF/view/productionplanning/releaseMgmtList.jsp b/WebContent/WEB-INF/view/productionplanning/releaseMgmtList.jsp index b6543b8..10d1681 100644 --- a/WebContent/WEB-INF/view/productionplanning/releaseMgmtList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/releaseMgmtList.jsp @@ -48,14 +48,6 @@ $(document).ready(function(){ $('.select2').select2(); - - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_objid").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - }); - $("#btnSearch").click(function(){ fn_search(); }); @@ -141,7 +133,7 @@ function wbs_popup(objId){ var popup_width = 1300; var popup_height = 800; var objId = objId; - var params = "?OBJID="+objId; // ACTION_TYPE 제거하여 편집 모드로 열기 + var params = "?OBJID="+objId+"&ACTION_TYPE=view"; //var url = "/project/wbsTaskProductGanttFormPopUp.do"+params; var url = "/project/wbsTaskInspectionFormPopUp.do"+params; fn_centerPopup(popup_width, popup_height, url); @@ -207,7 +199,7 @@ function fn_delete() { var columns = [ {title:"프로젝트정보", headerHozAlign:'center', //고객정보 columns:[ - {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true, + {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true, formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); @@ -215,15 +207,14 @@ var columns = [ } }, {headerHozAlign : 'center', hozAlign : 'left', /*width : '120',*/ title : '고객사', field : 'CUSTOMER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '장비명', field : 'EQUIPMENT_NAME' }, //{headerHozAlign : 'center', hozAlign : 'left', width : '90', title : '제품구분', field : 'PRODUCT_NAME' }, //{headerHozAlign : 'center', hozAlign : 'left', width : '90', title : '기계형식', field : 'MECHANICAL_TYPE' }, //{headerHozAlign : 'center', hozAlign : 'left', width : '210', title : '고객사프로젝트명', field : 'CUSTOMER_PROJECT_NAME' }, //{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '고객납기일', field : 'DUE_DATE' }, - //{headerHozAlign : 'center', hozAlign : 'left', /*width : '180',*/ title : '당사프로젝트명', field : 'PROJECT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '150', title : '요청납기일', field : 'DUE_DATE' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '150', title : '셋업지', field : 'SETUP' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '150', title : '담당자', field : 'WRITER_NAME' } + {headerHozAlign : 'center', hozAlign : 'left', /*width : '180',*/ title : '당사프로젝트명', field : 'PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', /*width : '100',*/ title : '요청납기일', field : 'REQ_DEL_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', /*width : '150',*/ title : '셋업지', field : 'SETUP' }, + {headerHozAlign : 'center', hozAlign : 'center', /*width : '110',*/ title : 'PM', field : 'PM_USER_NAME' } ], @@ -251,7 +242,7 @@ var columns = [ var objid = fnc_checkNull(cell.getData().OBJID); var docType = 'ADMISSION_INSPECTION_FILE'; var docTypeName = 'ADMISSION_INSPECTION_FILE'; - fnc_fileRegist(objid, docType, docTypeName); + fnc_fileDetailPopup(objid, docType, docTypeName); } } @@ -322,7 +313,7 @@ function fn_search(){

- 생산관리_출고관리 + 출고관리

@@ -341,7 +332,15 @@ function fn_search(){ - + + + + + + - - - - - - + - - ${code_map.writer} + ${code_map.pm_user_id} diff --git a/WebContent/WEB-INF/view/productionplanning/setupmgmtList.jsp b/WebContent/WEB-INF/view/productionplanning/setupmgmtList.jsp index d242a8f..8487855 100644 --- a/WebContent/WEB-INF/view/productionplanning/setupmgmtList.jsp +++ b/WebContent/WEB-INF/view/productionplanning/setupmgmtList.jsp @@ -77,7 +77,7 @@ var columns = [ {headerHozAlign : 'center', hozAlign : 'left', /* width : '170', */ title : '당사프로젝트명', field : 'PROJECT_NAME' }, {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '요청납기일', field : 'REQ_DEL_DATE' }, {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '셋업지', field : 'SETUP' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '담당자', field : 'WRITER_NAME' } + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : 'PM', field : 'PM_USER_NAME' } ], }, @@ -260,11 +260,11 @@ function setup_wbs_popup(objId){ - + - - ${code_map.writer} + ${code_map.pm_user_id} diff --git a/WebContent/WEB-INF/view/productionplanning/workDiaryFormPopUp.jsp b/WebContent/WEB-INF/view/productionplanning/workDiaryFormPopUp.jsp index 4ab979b..e3d22d1 100644 --- a/WebContent/WEB-INF/view/productionplanning/workDiaryFormPopUp.jsp +++ b/WebContent/WEB-INF/view/productionplanning/workDiaryFormPopUp.jsp @@ -22,24 +22,6 @@ String connector = person.getUserId(); - - - -
- -
-
- -
- - - - -
-
-
- - - -
-
-
- - diff --git a/WebContent/WEB-INF/view/project/prodTechMondayReportList.jsp b/WebContent/WEB-INF/view/project/prodTechMondayReportList.jsp deleted file mode 100644 index bb10001..0000000 --- a/WebContent/WEB-INF/view/project/prodTechMondayReportList.jsp +++ /dev/null @@ -1,799 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="java.util.*" %> -<%@include file="/init.jsp"%> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -String connector = person.getUserId(); -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - - - - - - - -
-
-
-
-

생산기술부 월요보고자료

-
- - - - - - -
-
- - -
- 작업흐름 10단계: 도면 > 소재입고 > 가공 > 용접 > 조립 > 전기 > 테스트 > 출하/인계완료 > 셋업완료 > 사후관리 - -
-
- - - - -
-
-
-
-
- - -
프로젝트별 세부 내용
- - -
- 가공/용접 - - - - -
-
-
-
-
- - -
- 조립 - - - - -
-
-
-
-
- - -
A/S 진행
-
- - - - -
-
-
-
-
- -
-
-
-
- - diff --git a/WebContent/WEB-INF/view/project/projectMgmtList.jsp b/WebContent/WEB-INF/view/project/projectMgmtList.jsp index 40922d9..0e5f3a0 100644 --- a/WebContent/WEB-INF/view/project/projectMgmtList.jsp +++ b/WebContent/WEB-INF/view/project/projectMgmtList.jsp @@ -62,14 +62,6 @@ $(document).ready(function(){ $('.select2').select2(); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_objid").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - // 멀티셀렉트에서 빈 "선택" 옵션 제거 및 선택값 초기화 - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - }); - $("#btnSearch").click(function(){ $("#page").val("1"); fn_search(); @@ -139,7 +131,7 @@ $(document).ready(function(){ }); var columns = [ - {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true, + {headerHozAlign : 'center', hozAlign : 'left', width : '100', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true, formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); @@ -150,90 +142,91 @@ var columns = [ {title:"프로젝트정보", headerHozAlign:'center', //고객정보 columns:[ {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '계약구분', field : 'CATEGORY_NAME' }, - // {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '차수', field : 'OVERHAUL_ORDER'}, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '차수', field : 'OVERHAUL_ORDER'}, {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '고객사', field : 'CUSTOMER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '제품군', field : 'PRODUCT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '제품코드', field : 'PRODUCT_CODE_NAME' }, - {headerHozAlign : 'center', hozAlign : 'left', title : '장비명', field : 'EQUIPMENT_NAME' }, - // {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트명', field : 'PROJECT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '요청납기일', field : 'DUE_DATE' }, + //{headerHozAlign : 'center', hozAlign : 'left', width : '90', title : '제품구분', field : 'PRODUCT_NAME' }, + //{headerHozAlign : 'center', hozAlign : 'left', width : '90', title : '기계형식', field : 'MECHANICAL_TYPE' }, + //{headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '고객사프로젝트명', field : 'CUSTOMER_PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트명', field : 'PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '고객납기일', field : 'REQ_DEL_DATE' }, {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '셋업지', field : 'SETUP' }, - // {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비방향', field : 'FACILITY_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비방향', field : 'FACILITY_NAME' }, //{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비타입', field : 'FACILITY_TYPE' }, //{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비길이', field : 'FACILITY_DEPTH' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '담당자', field : 'WRITER_NAME' }, - // {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '제작공장', field : 'MANUFACTURE_PLANT_NAME' }, - //{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '예상납기일', field : 'CONTRACT_DEL_DATE' } + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : 'PM', field : 'PM_USER_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '제작공장', field : 'MANUFACTURE_PLANT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '예상납기일', field : 'CONTRACT_DEL_DATE' } ], - }, + }, + { title:'현황', headerHozAlign:'center', columns:[ { title:"이슈(건수)", headerHozAlign:'center', columns:[ - {title: '발생', field: 'ISSUE_CNT',headerHozAlign: 'center', hozAlign: 'center', width:"5.5%", + {title: '발생', field: 'ISSUE_CNT',headerHozAlign: 'center', hozAlign: 'center', width:"6%", formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); openIssueFormPopUp('all',objid); } }, - {title: '조치', field: 'COMP_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"5.5%", + {title: '조치', field: 'COMP_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"6%", formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); openIssueFormPopUp('complete',objid); } }, - {title: '미결', field: 'MISS_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"5.5%", + {title: '미결', field: 'MISS_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"6%", formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); openIssueFormPopUp('late',objid); } }, - {title: '조치율', field: 'ISSUE_RATE', headerHozAlign: 'center', hozAlign: 'center', width:"5.5%"} + {title: '조치율', field: 'ISSUE_RATE', headerHozAlign: 'center', hozAlign: 'center', width:"6%"} ] }, - // { - // title:"투입원가(억원)", headerHozAlign:'center', - // columns:[ - // {title: '목표가', field: 'TOTAL_COST_GOAL',headerHozAlign: 'center', hozAlign: 'right', width:"6%", - // formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,}, - // cellClick:function(e, cell){ + { + title:"투입원가(억원)", headerHozAlign:'center', + columns:[ + {title: '목표가', field: 'TOTAL_COST_GOAL',headerHozAlign: 'center', hozAlign: 'right', width:"6%", + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,}, + cellClick:function(e, cell){ - // var projectObjId = fnc_checkNull(cell.getData().OBJID); - // var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID); - // var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID); + var projectObjId = fnc_checkNull(cell.getData().OBJID); + var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID); + var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID); - // fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId); - // } - // }, - // {title: '투입금액', field: 'TOTAL_COST_ACTUAL', headerHozAlign: 'center', hozAlign: 'right', width:"6%", - // formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,}, - // cellClick:function(e, cell){ + fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId); + } + }, + {title: '투입금액', field: 'TOTAL_COST_ACTUAL', headerHozAlign: 'center', hozAlign: 'right', width:"6%", + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,}, + cellClick:function(e, cell){ - // var projectObjId = fnc_checkNull(cell.getData().OBJID); - // var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID); - // var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID); + var projectObjId = fnc_checkNull(cell.getData().OBJID); + var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID); + var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID); - // fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId); - // } - // }, - // {title: '투입율(%)', field: 'TOTAL_INPUT_RATE', headerHozAlign: 'center', hozAlign: 'center', width:"6%", - // formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,}, - // cellClick:function(e, cell){ + fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId); + } + }, + {title: '투입율(%)', field: 'TOTAL_INPUT_RATE', headerHozAlign: 'center', hozAlign: 'center', width:"6%", + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,}, + cellClick:function(e, cell){ - // var projectObjId = fnc_checkNull(cell.getData().OBJID); - // var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID); - // var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID); + var projectObjId = fnc_checkNull(cell.getData().OBJID); + var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID); + var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID); - // fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId); - // } - // } - // ] - // }, + fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId); + } + } + ] + }, { title:"진척율(%)", headerHozAlign:'center', columns:[ @@ -498,17 +491,10 @@ function setup_wbs_popup(objId){ - - - - - @@ -520,8 +506,16 @@ function setup_wbs_popup(objId){ ${code_map.category_cd} + + + + + - + + @@ -562,11 +556,11 @@ function setup_wbs_popup(objId){ - + - - ${code_map.writer} + ${code_map.pm_user_id} diff --git a/WebContent/WEB-INF/view/project/projectMgmtWbsList.jsp b/WebContent/WEB-INF/view/project/projectMgmtWbsList.jsp index 51687ce..ac37468 100644 --- a/WebContent/WEB-INF/view/project/projectMgmtWbsList.jsp +++ b/WebContent/WEB-INF/view/project/projectMgmtWbsList.jsp @@ -54,14 +54,6 @@ $(document).ready(function(){ $('.select2').select2(); //$('#Year' ).select2(); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_objid").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - // 멀티셀렉트에서 빈 "선택" 옵션 제거 및 선택값 초기화 - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - }); - $("#btnSearch").click(function(){ $("#page").val("1"); fn_search(); @@ -70,36 +62,12 @@ $(document).ready(function(){ //fn_apply("","regist"); }); - $("#btnDesignMeetingReg").click(function(){ - fn_designMeetingRegister(); - }); - - $("#btnProdMondayReg").click(function(){ - fn_prodMondayRegister(); - }); - - // 입고지, 셋업지 엔터 키 이벤트 - $("#location, #setup").keyup(function(e){ - if(e.keyCode == 13){ - $("#page").val("1"); - fn_search(); - } - }); - - // 예상납기일 날짜 선택기 초기화 (특정 필드만) - $("#contract_start_date, #contract_end_date").datepicker({ - dateFormat: 'yy-mm-dd', - changeMonth: true, - changeYear: true, - showButtonPanel: true - }); - fn_search(); }); var columns = [ {title:'CATEGORY_CD' ,field:'CATEGORY_CD' ,visible:false}, - {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true, + {headerHozAlign : 'center', hozAlign : 'left', width : '100', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true, formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ var objid = fnc_checkNull(cell.getData().OBJID); @@ -109,31 +77,20 @@ var columns = [ {title:"프로젝트정보", headerHozAlign:'center', //고객정보 columns:[ - //{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '계약구분', field : 'CATEGORY_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '영업번호', field : 'CONTRACT_NO', - formatter:fnc_createGridAnchorTag, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().CONTRACT_OBJID); - fn_projectConceptDetail(objid); - } - }, - // {headerHozAlign : 'center', hozAlign : 'center', width : '60', title : '차수', field : 'OVERHAUL_ORDER'}, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '계약구분', field : 'CATEGORY_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '60', title : '차수', field : 'OVERHAUL_ORDER'}, {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '고객사', field : 'CUSTOMER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '제품군', field : 'PRODUCT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '제품코드', field : 'PRODUCT_CODE_NAME' }, - {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '장비명', field : 'EQUIPMENT_NAME' }, /* {headerHozAlign : 'center', hozAlign : 'left', width : '90', title : '제품구분', field : 'PRODUCT_NAME' }, */ //{headerHozAlign : 'center', hozAlign : 'left', width : '80', title : '기계형식', field : 'MECHANICAL_TYPE' }, /* {headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '고객사프로젝트명', field : 'CUSTOMER_PROJECT_NAME' }, */ - // {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '당사프로젝트명', field : 'PROJECT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '요청납기일', field : 'DUE_DATE' }, - {headerHozAlign : 'center', hozAlign : 'left', width : '90', title : '셋업지', field : 'SETUP' }, + {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '당사프로젝트명', field : 'PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '요청납기일', field : 'REQ_DEL_DATE' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '셋업지', field : 'SETUP' }, /* {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비방향', field : 'FACILITY_NAME' }, {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비타입', field : 'FACILITY_TYPE' }, {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설비길이', field : 'FACILITY_DEPTH'}, */ - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '영업담당자', field : 'WRITER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '설계담당자', field : 'DESIGN_USER_NAME' }, - // {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '제작공장', field : 'MANUFACTURE_PLANT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : 'PM', field : 'PM_USER_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '제작공장', field : 'MANUFACTURE_PLANT_NAME' }, /* {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '예상납기일', field : 'CONTRACT_DEL_DATE' } */ ], }, @@ -293,7 +250,7 @@ var columns = [ }, { - title:'조립 및 전기제어', headerHozAlign:'center', + title:'설비조립 및 셋업', headerHozAlign:'center', columns:[ { title:"조립(제작)관리", headerHozAlign:'center', @@ -370,47 +327,42 @@ var columns = [ ] }, { - title:"전기제어", headerHozAlign:'center', + title:"셋업관리", headerHozAlign:'center', columns:[ {title: '공정율(%)', field: 'SETUP_RATETOTAL',headerHozAlign: 'center', hozAlign: 'center', width:"90", formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var categoryCd = fnc_checkNull(cell.getData().CATEGORY_CD); - wbs_popup(objid,categoryCd); + var objid = fnc_checkNull(cell.getData().OBJID); + setup_wbs_popup(objid); } }, {title: '완료', field: 'SETUP_COMP_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"90", formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var categoryCd = fnc_checkNull(cell.getData().CATEGORY_CD); - wbs_popup(objid,categoryCd); + var objid = fnc_checkNull(cell.getData().OBJID); + setup_wbs_popup(objid); } }, {title: '지연완료', field: 'SETUP_LATE_COMP_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"90", formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var categoryCd = fnc_checkNull(cell.getData().CATEGORY_CD); - wbs_popup(objid,categoryCd); + var objid = fnc_checkNull(cell.getData().OBJID); + setup_wbs_popup(objid); } }, {title: '진행중', field: 'SETUP_ING_CNT', headerHozAlign: 'center', hozAlign: 'center', width:"90", formatter:fnc_createGridAnchorTag, cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var categoryCd = fnc_checkNull(cell.getData().CATEGORY_CD); - wbs_popup(objid,categoryCd); + var objid = fnc_checkNull(cell.getData().OBJID); + setup_wbs_popup(objid); } }, {title: '지연', field: 'SETUP_LATE_CNT',headerHozAlign: 'center', hozAlign: 'center', width:"90", formatter:fnc_CntFormatter, cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - var categoryCd = fnc_checkNull(cell.getData().CATEGORY_CD); - wbs_popup(objid,categoryCd); - } + var objid = fnc_checkNull(cell.getData().OBJID); + setup_wbs_popup(objid); + } } ] } @@ -444,15 +396,6 @@ function fnc_CntFormatter(cell){ return imgTag; } -//영업활동등록 상세 -function fn_projectConceptDetail(objId){ - var popup_width = 1200; - var popup_height = 1000; - var url = "/contractMgmt/contracMgmtFormPopup.do?objId="+objId; - - fn_centerPopup(popup_width, popup_height, url); -} - //var grid; function fn_search(){ var selectedValues = $("#project_no").val(); @@ -463,7 +406,7 @@ function fn_search(){ value: selectedValues }).appendTo('#form1'); - _tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/project/projectMgmtWbsGridList.do", columns, true); + _tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/project/projectMgmtWbsGridList.do", columns, false); } @@ -499,89 +442,6 @@ function openProjectFormPopUp(objId){ fn_centerPopup(popup_width, popup_height, url); } -function fn_prodMondayRegister(){ - if(!_tabulGrid){ - Swal.fire("먼저 조회를 실행해주세요."); - return; - } - var checkedObj = _tabulGrid.getSelectedData(); - if(checkedObj.length == 0){ - Swal.fire("등록할 프로젝트를 선택해주세요."); - return; - } - - var objids = []; - for(var i = 0; i < checkedObj.length; i++){ - objids.push(checkedObj[i].OBJID); - } - - // 팝업 모드: 부모 창 콜백 호출 - var urlParams = new URLSearchParams(window.location.search); - if(urlParams.get("mode") == "prodMondaySelect" && window.opener && window.opener._prodMondayCallback){ - window.opener._prodMondayCallback(objids.join(",")); - window.close(); - return; - } - - Swal.fire({ - title: "선택한 " + objids.length + "건을 생산기술부 월요보고에 등록하시겠습니까?", - showCancelButton: true, - confirmButtonText: '확인', - cancelButtonText: '취소' - }).then(function(result){ - if(result.value){ - Swal.fire("생산기술부 월요보고자료 화면에서 프로젝트를 추가해주세요."); - } - }); -} - -function fn_designMeetingRegister(){ - if(!_tabulGrid){ - Swal.fire("먼저 조회를 실행해주세요."); - return; - } - var checkedObj = _tabulGrid.getSelectedData(); - if(checkedObj.length == 0){ - Swal.fire("등록할 프로젝트를 선택해주세요."); - return; - } - - var objids = []; - for(var i = 0; i < checkedObj.length; i++){ - objids.push(checkedObj[i].OBJID); - } - - // 팝업 모드: 부모 창 콜백 호출 - var urlParams = new URLSearchParams(window.location.search); - if(urlParams.get("mode") == "designMeetingSelect" && window.opener && window.opener._designMeetingCallback){ - window.opener._designMeetingCallback(objids.join(",")); - window.close(); - return; - } - - Swal.fire({ - title: "선택한 " + objids.length + "건을 설계부 회의 보고에 등록하시겠습니까?", - showCancelButton: true, - confirmButtonText: '확인', - cancelButtonText: '취소' - }).then(function(result){ - if(result.value){ - $.ajax({ - type: "POST", - url: "/project/saveDesignMeetingReport.do", - data: { projectObjids: objids.join(",") }, - dataType: "json", - success: function(data){ - Swal.fire(data.message); - }, - error: function(){ - Swal.fire("오류가 발생하였습니다."); - } - }); - } - }); -} - @@ -591,12 +451,10 @@ function fn_designMeetingRegister(){

- 프로젝트관리_진행관리(WBS) + 프로젝트관리_일정관리(WBS)

- -
@@ -611,18 +469,11 @@ function fn_designMeetingRegister(){ - - - - - @@ -634,8 +485,17 @@ function fn_designMeetingRegister(){ ${code_map.category_cd} + - + + + + + + - + - - ${code_map.writer} + ${code_map.pm_user_id} diff --git a/WebContent/WEB-INF/view/project/projectTempList.jsp_back b/WebContent/WEB-INF/view/project/projectTempList.jsp_back old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/view/project/projectTempListExcel.jsp_back b/WebContent/WEB-INF/view/project/projectTempListExcel.jsp_back old mode 100755 new mode 100644 diff --git a/WebContent/WEB-INF/view/project/projectmodifyPopUp.jsp b/WebContent/WEB-INF/view/project/projectmodifyPopUp.jsp index eeb93dc..95e8dc9 100644 --- a/WebContent/WEB-INF/view/project/projectmodifyPopUp.jsp +++ b/WebContent/WEB-INF/view/project/projectmodifyPopUp.jsp @@ -118,13 +118,13 @@ - - + " numberOnly readonly/> - + - + - + - + - + - " required reqTitle="수주가" numberOnly/> + " required reqTitle="수주가" numberOnly/> - + - + - " reqTitle="원화 환산금액" numberOnly/> + " required reqTitle="수주가" numberOnly/> @@ -186,7 +181,7 @@
- + diff --git a/WebContent/WEB-INF/view/project/wbsTaskProductFormPopUp.jsp b/WebContent/WEB-INF/view/project/wbsTaskProductFormPopUp.jsp index b37d0f1..4ed9523 100644 --- a/WebContent/WEB-INF/view/project/wbsTaskProductFormPopUp.jsp +++ b/WebContent/WEB-INF/view/project/wbsTaskProductFormPopUp.jsp @@ -11,7 +11,6 @@ - - -
- - - - - - - - - - - - - - - - - - - - -
- -
품명${resultMap.PART_NAME}
Location${DELIVERY_PLACE_NAME}
입고일${DELIVERY_DATE}
수량${CNT}
-
-
*${resultMap.PART_NO}*
-
-
- - + } + .child { + margin: auto; /* 수평 가운데 정렬을 위한 margin: auto; */ + } + + .woosungse {display: block; width: 80px; height: 20px;background: url(/images/loginLogo_woosungse.png) center center no-repeat;background-size:contain;} + + +
+ + + + + + + + + + + + + + + + + + + + +
+ +
품명${resultMap.PART_NAME}
Location${DELIVERY_PLACE_NAME}
입고일${DELIVERY_DATE}
수량${CNT}
+
+
*${resultMap.PART_NO}*
+
+
+ + \ No newline at end of file diff --git a/WebContent/WEB-INF/view/purchaseOrder/deliveryAcceptanceFormPopUp_new.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryAcceptanceFormPopUp_new.jsp index 0e3f240..55d4a05 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryAcceptanceFormPopUp_new.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryAcceptanceFormPopUp_new.jsp @@ -929,7 +929,7 @@ function fn_location_save(){ E-MAIL - ilshin@wsse.co.kr + woosung@wsse.co.kr E-MAIL @@ -1069,7 +1069,6 @@ function fn_location_save(){ - ${item.PART_NO} ${item.PART_NAME} diff --git a/WebContent/WEB-INF/view/purchaseOrder/deliveryInvalidFormPopUp.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryInvalidFormPopUp.jsp index e4defa2..e133064 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryInvalidFormPopUp.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryInvalidFormPopUp.jsp @@ -551,7 +551,7 @@ function fn_calc(objid){ E-MAIL - ilshin@wsse.co.kr + woosung@wsse.co.kr E-MAIL diff --git a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp index 73b2c19..8ec6cdf 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngAcceptanceList.jsp @@ -64,13 +64,6 @@ $(document).ready(function(){ $("#btnInvaild").click(function(){ fn_deliveryInvaildPopUp(); }); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_cd").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - $("#unit_code").empty(); - }); $("#project_no").change(function(){ //fnc_productUPGNEWList(this.value,"","upg_no", ""); fn_UnitCodeList(this.value, "unit_code", ""); @@ -83,7 +76,7 @@ var columns = [ /* {headerHozAlign : 'center', hozAlign : 'center', width : '50', title : '년도', field : 'CM_YEAR' }, */ {headerHozAlign : 'center', hozAlign : 'left', width : '110', title : '고객사', field : 'CUSTOMER_NAME' }, - //{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트명', field : 'CUSTOMER_PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트명', field : 'CUSTOMER_PROJECT_NAME' }, {headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '유닛명', field : 'UNIT_NAME' }, {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '프로젝트번호', field : 'PROJECT_NO', /* formatter:fnc_createGridAnchorTag, @@ -322,11 +315,11 @@ function fn_formPopUp(objId){ - - + <%-- + --%> - <%-- - --%> + + @@ -385,6 +378,10 @@ function fn_formPopUp(objId){ + + + +
diff --git a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngInvalidList.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngInvalidList.jsp index 03026c9..b68a510 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngInvalidList.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngInvalidList.jsp @@ -76,13 +76,6 @@ fn_delete(); }); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_cd").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - $("#unit_code").empty(); - }); $("#project_no").change(function(){ fn_UnitCodeList(this.value, "unit_code", ""); }); @@ -135,10 +128,8 @@ openProjectFormPopUp(objid); } */ }, - {headerHozAlign : 'center', hozAlign : 'left', width : '110', title : '고객사', field : 'CUSTOMER_NAME', frozen:true }, - {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '장비명', field : 'EQUIPMENT_NAME', frozen:true }, - //{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트명', field : 'PROJECT_NAME', frozen:true }, - {headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '유닛명', field : 'UNIT_NAME', frozen:true }, + {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트명', field : 'PROJECT_NAME', frozen:true }, + {headerHozAlign : 'center', hozAlign : 'left', width : '280', title : '유닛명', field : 'UNIT_NAME', frozen:true }, {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '품번', field : 'PART_NO', frozen:true }, {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '품명', field : 'PART_NAME', frozen:true }, {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '발주수량', field : 'ORDER_QTY', @@ -272,12 +263,10 @@ - - - - + ${code_map.project_no} @@ -292,13 +281,13 @@ - + + + + - - - diff --git a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngStatus.jsp b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngStatus.jsp index efd3354..a93d4a0 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/deliveryMngStatus.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/deliveryMngStatus.jsp @@ -57,13 +57,6 @@ $(document).ready(function(){ $('.select2').select2(); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_objid").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - }); - $("#btnSearch").click(function(){ $("#page").val("1"); fn_search(); diff --git a/WebContent/WEB-INF/view/purchaseOrder/invalidActionFormPopUp.jsp b/WebContent/WEB-INF/view/purchaseOrder/invalidActionFormPopUp.jsp index 22780f4..30dd12a 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/invalidActionFormPopUp.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/invalidActionFormPopUp.jsp @@ -214,8 +214,8 @@ 프로젝트번호 ${info.PROJECT_NO} - 장비명 - ${info.EQUIPMENT_NAME} + 프로젝트명 + ${info.PROJECT_NAME} 품번 ${info.PART_NO} diff --git a/WebContent/WEB-INF/view/purchaseOrder/projectLinkPopup.jsp b/WebContent/WEB-INF/view/purchaseOrder/projectLinkPopup.jsp deleted file mode 100644 index 472ba0a..0000000 --- a/WebContent/WEB-INF/view/purchaseOrder/projectLinkPopup.jsp +++ /dev/null @@ -1,164 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*" %> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@include file= "/init.jsp" %> - - - - -<%=Constants.SYSTEM_NAME%> - - - - -
- - -
-
-

- 프로젝트 연결 -

-
- -
- - - - - - - - - - - - - -
- -
- -
- -
- 안내: 프로젝트를 연결하면 해당 발주서의 입고정보와 자재정보도 함께 연결됩니다. -
-
- -
-
- - -
-
-
-
- - - diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseDataList.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseDataList.jsp deleted file mode 100644 index 96e46d2..0000000 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseDataList.jsp +++ /dev/null @@ -1,217 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> - - - - - - - <%=Constants.SYSTEM_NAME%> - - - - - - -
- - -
-
- - -
-
-
-

- 매입데이터 -

-
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- - <%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %> -
-
-
- - diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderDetailPopUp.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderDetailPopUp.jsp index 37d0031..9167929 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderDetailPopUp.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderDetailPopUp.jsp @@ -638,7 +638,7 @@ function fn_getDrawingDownload(){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function num2han(num) { diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderDetailPopUp2.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderDetailPopUp2.jsp index bf705ca..b6254a1 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderDetailPopUp2.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderDetailPopUp2.jsp @@ -579,7 +579,7 @@ function fn_getDrawingDownload(){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function num2han(num) { diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopUp.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopUp.jsp index 89d4cd9..dd943d6 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopUp.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopUp.jsp @@ -618,7 +618,7 @@ function fn_getDrawingDownload(){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function num2han(num) { diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp index 7eb58c7..b7f64fc 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp @@ -1,2550 +1,2306 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ page import="java.util.*"%> -<%@include file="/init_jqGrid.jsp"%> -<% - Map info = (HashMap)(request.getAttribute("info")); - boolean isModify = true; - if(info!=null && - ( CommonUtils.checkNull(info.get("APPR_STATUS")).equals( "결재중" ) - ||CommonUtils.checkNull(info.get("APPR_STATUS")).equals( "결재완료" ) - ||CommonUtils.checkNull(info.get("MULTI_YN")).equals( "Y") && !CommonUtils.checkNull(info.get("MULTI_MASTER_YN")).equals( "Y") - ||CommonUtils.checkNull(info.get("STATUS")).equals( "cancel" ) - ) - ){ - isModify = false; //수정불가 - } - String actType = (String)request.getAttribute("actType"); - - boolean isPriceInput = false; - if(info!=null && CommonUtils.checkNull(info.get("STATUS")).equals( "approvalComplete" )){ - isPriceInput = true; - } -%> - - - - - - - - - - - - -
- -
- -
- - - - - - - -
-
-

발주서

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <%-- - - - --%> - -
발주번호발주부품 - - 고객사 - - 프로젝트번호 - - 장비명유닛명 - -

발 주 서

(Purchase Order)

결재담당검토결재대표
발주처회사명 - - 공급처회사명 - -
사업자번호${info.SALES_REG_NO }사업자번호
담당자 - - HP대표자전화/FAX
전 화FAX담당자 - - HP
E-MAIL${info.SALES_MNG_USER_EMAIL }E-MAIL - - -
주 소${info.SALES_SUPPLY_ADDRESS }주 소
아래의 자재를 발주하오니 기일 내 필히 납품하여 주시기 바랍니다.
발주구분 - - 결제조건 - - 입고요청일
발주서 No. - <%if(isModify){ %> - - <%}else{ %> - ${info.PURCHASE_ORDER_NO_ORG_NO} - <%}%> - 제목" required reqTitle="제목" <% if(!isModify){ %>readonly<% } %> style="width:100%;"/>부가세포함 발주금액(원) - 부가세 - -
-
- -
-
- <% if(isModify){ %> - - - /> 결재완료 시 메일발송 - - - - - - - - - <% }else{ %> - - - - - <% } %> - -
-
- -
-
-
- - -
-
- -
-
-
- - - - - - - - - - - - - - - - - <%-- - - - - --%> - -
할인금액(원)네고율${info.NEGO_RATE}할인공급가(원)
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
동시적용 프로젝트번호
입고계획일
입고계획수량
작업지시사항 - -
★거래명세서 자동생성은 발주서 기준으로 입고수량 대비 정품수량 동일시 구매팀 확인후 발주서 기준으로 자동생성 된다.
-
-
- - - -
- +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ page import="com.pms.common.utils.*"%> +<%@ page import="java.util.*"%> +<%@include file="/init_jqGrid.jsp"%> +<% + Map info = (HashMap)(request.getAttribute("info")); + boolean isModify = true; + if(info!=null && + ( CommonUtils.checkNull(info.get("APPR_STATUS")).equals( "결재중" ) + ||CommonUtils.checkNull(info.get("APPR_STATUS")).equals( "결재완료" ) + ||CommonUtils.checkNull(info.get("MULTI_YN")).equals( "Y") && !CommonUtils.checkNull(info.get("MULTI_MASTER_YN")).equals( "Y") + ||CommonUtils.checkNull(info.get("STATUS")).equals( "cancel" ) + ) + ){ + isModify = false; //수정불가 + } + String actType = (String)request.getAttribute("actType"); + + boolean isPriceInput = false; + if(info!=null && CommonUtils.checkNull(info.get("STATUS")).equals( "approvalComplete" )){ + isPriceInput = true; + } +%> + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
+
+

발주서

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + + + --%> + +
발주번호발주부품 + + 프로젝트번호 + + 유닛명 + +

발 주 서

(Purchase Order)

결재담당검토결재대표
발주처회사명 + + + 공급처회사명 + +
사업자번호${info.SALES_REG_NO }사업자번호
담당자 + + HP대표자HP
전 화FAX전 화FAX
E-MAIL${info.SALES_EMAIL }E-MAIL
주 소${info.SALES_SUPPLY_ADDRESS }주 소
아래의 자재를 발주하오니 기일 내 필히 납품하여 주시기 바랍니다.
발주구분 + + 납품장소 + + 검수방법 + + 결제조건 + + 입고요청일
발주서 No. + <%if(isModify){ %> + + <%}else{ %> + ${info.PURCHASE_ORDER_NO_ORG_NO} + <%}%> + 제목부가세포함 발주금액(원) + 부가세 + +
+
+ +
+
+ <% if(isModify){ %> + + + + + + + + + <% }else{ %> + + + + + <% } %> + +
+
+ +
+
+
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + <%-- + + + + --%> + +
할인금액(원)네고율${info.NEGO_RATE}할인공급가(원)
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
동시적용 프로젝트번호
입고계획일
입고계획수량
작업지시사항 + +
★거래명세서 자동생성은 발주서 기준으로 입고수량 대비 정품수량 동일시 구매팀 확인후 발주서 기준으로 자동생성 된다.
+
+
+ + + +
+ \ No newline at end of file diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_newDOWN.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_newDOWN.jsp index 9774f1a..3398d17 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_newDOWN.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_newDOWN.jsp @@ -97,10 +97,8 @@ for(int i = 0 ; i < apprList.size() ; i++){ <%=CommonUtils.checkNull((String)masterInfo.get("TYPE_NAME"))%> >프로젝트번호 <%=CommonUtils.checkNull((String)masterInfo.get("PROJECT_NO"))%> - >장비명 - <%=CommonUtils.checkNull((String)masterInfo.get("EQUIPMENT_NAME"))%> >유닛명 - <%=CommonUtils.checkNull((String)masterInfo.get("UNIT_NAME"))%> + <%=CommonUtils.checkNull((String)masterInfo.get("UNIT_NAME"))%> @@ -158,7 +156,7 @@ for(int i = 0 ; i < apprList.size() ; i++){ colspan="2">E-MAIL - <%=CommonUtils.checkNull((String)masterInfo.get("SALES_MNG_USER_EMAIL"))%> + <%=CommonUtils.checkNull((String)masterInfo.get("SALES_EMAIL"))%> colspan="2">E-MAIL <%=CommonUtils.checkNull((String)masterInfo.get("SUPPLY_USER_EMAIL"))%> @@ -176,16 +174,16 @@ for(int i = 0 ; i < apprList.size() ; i++){ >발주구분 <%=CommonUtils.checkNull((String)masterInfo.get("ORDER_TYPE_CD_NAME"))%> - + <%=CommonUtils.checkNull((String)masterInfo.get("INSPECT_METHOD_NAME"))%> >결제조건 - <%=CommonUtils.checkNull((String)masterInfo.get("PAYMENT_TERMS_NAME"))%> + <%=CommonUtils.checkNull((String)masterInfo.get("PAYMENT_TERMS_NAME"))%> >입고요청일 - <%=CommonUtils.checkNull((String)masterInfo.get("DELIVERY_DATE"))%> - + <%=CommonUtils.checkNull((String)masterInfo.get("DELIVERY_DATE"))%> + > + >발주서 No. @@ -203,13 +201,12 @@ for(int i = 0 ; i < apprList.size() ; i++){ <%-- ====================================================== --%> >NO. + >품명 >품번 - >품명 >규격 - >재질 - <%-- >Maker - >단위 + >단위 + <%-- >설계수량 --%> >수량 @@ -233,14 +230,11 @@ for(int i = 0 ; i < apprList.size() ; i++){ %> <%=(i+1)%> + <%=CommonUtils.checkNull(map.get("PART_NAME" ))%> <%=CommonUtils.checkNull(map.get("PART_NO" ))%> - <%=CommonUtils.checkNull(map.get("PART_NAME" ))%> <%=CommonUtils.checkNull(map.get("SPEC" ))%> - <%=CommonUtils.checkNull(map.get("MATERIAL" ))%> - <%-- <%=CommonUtils.checkNull(map.get("MAKER" ))%> <%=CommonUtils.checkNull(map.get("UNIT_NAME" ))%> - --%> <%=CommonUtils.numberFormat(CommonUtils.checkNull(map.get("ORDER_QTY" )))%> <%=CommonUtils.numberFormat(CommonUtils.checkNull(map.get("PARTNER_PRICE" )))%> <%=CommonUtils.numberFormat(CommonUtils.checkNull(map.get("PRICE1" )))%> diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_newDOWN_back.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_newDOWN_back.jsp index 2f8b9c2..e8130ab 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_newDOWN_back.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_newDOWN_back.jsp @@ -126,7 +126,7 @@ for(int i = 0 ; i < apprList.size() ; i++){ >E-MAIL - ilshin@wsse.co.kr + woosung@wsse.co.kr >E-MAIL <%=CommonUtils.checkNull((String)masterInfo.get("SUPPLY_USER_EMAIL"))%> diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new_back.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new_back.jsp index 6e40ff3..e60636a 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new_back.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new_back.jsp @@ -1106,7 +1106,7 @@ function fn_price_save(){ E-MAIL - ilshin@wsse.co.kr + woosung@wsse.co.kr E-MAIL diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp index b9697bc..c10278e 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderList_new.jsp @@ -75,10 +75,6 @@ $(document).ready(function(){ $("#btnExcel").click(function() { fn_excel(); }); - //프로젝트연결 - $("#btnProjectLink").click(function(){ - fn_projectLink(); - }); //수주활동 복사 팝업 $("#btnCopy").click(function(){ var checkedObj = _tabulGrid.getSelectedData(); @@ -92,12 +88,6 @@ $(document).ready(function(){ fn_formPopUp(objId, "copy"); } }); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_cd").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - // 프로젝트 변경 시 장비명도 초기화 - $("#unit_code").empty(); - }); $("#project_no").change(function(){ //fnc_productUPGNEWList(this.value,"","upg_no", ""); fn_UnitCodeList(this.value, "unit_code", ""); @@ -436,8 +426,8 @@ var columns = [ //{headerHozAlign : 'center', hozAlign : 'center', width : '50', title : '년도', field : "PO_YEAR" }, {headerHozAlign : 'center', hozAlign : 'left' , width : '95', title : '고객사', field : "CUSTOMER_NAME" }, //{headerHozAlign : 'center', hozAlign : 'left' , width : '100', title : '고객사 프로젝트명', field : "CUSTOMER_PROJECT_NAME" }, - {headerHozAlign : 'center', hozAlign : 'left', width : '110', title : '프로젝트번호', field : "PROJECT_NO" }, - {headerHozAlign : 'center', hozAlign : 'left' , width : '120', title : '유닛명', field : "UNIT_NAME" }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '프로젝트번호', field : "PROJECT_NO" }, + {headerHozAlign : 'center', hozAlign : 'left' , width : '140', title : '유닛명', field : "UNIT_NAME" }, {headerHozAlign : 'center', hozAlign : 'center', width : '60', title : '부품', field : "TYPE_NAME" }, @@ -445,8 +435,8 @@ var columns = [ {headerHozAlign : 'center', hozAlign : 'center', width : '50', title : '동시', field : "MULTI_YN" }, //MULTI_YN_MAKED {headerHozAlign : 'center', hozAlign : 'left ', width : '200', title : '발주서제목', field : "TITLE" }, - //{headerHozAlign : 'center', hozAlign : 'center', width : '63', title : '납품장소', field : "DELIVERY_PLACE_NAME" }, - //{headerHozAlign : 'center', hozAlign : 'center', width : '73', title : '검수방법', field : "INSPECT_METHOD_NAME" }, + {headerHozAlign : 'center', hozAlign : 'center', width : '63', title : '납품장소', field : "DELIVERY_PLACE_NAME" }, + {headerHozAlign : 'center', hozAlign : 'center', width : '73', title : '검수방법', field : "INSPECT_METHOD_NAME" }, //{headerHozAlign : 'center', hozAlign : 'center', width : '73', title : '결재조건', field : "PAYMENT_TERMS_NAME" }, {headerHozAlign : 'center', hozAlign : 'center', width : '85', title : '입고요청일', field : "DELIVERY_DATE" }, {headerHozAlign : 'center', hozAlign : 'left' , /*width : '100',*/ title : '공급업체', field : "PARTNER_NAME" }, @@ -892,47 +882,6 @@ function col_custom_fmt_un(cellvalue, options, cell) { return cellvalue; } -/** - * 프로젝트 연결 기능 - * - 프로젝트 없이 생성된 발주서에 프로젝트를 연결한다. - */ -function fn_projectLink() { - var checkedObj = _tabulGrid.getSelectedData(); - - // 선택 검증: 미선택 - if (checkedObj.length == 0) { - Swal.fire("선택된 대상이 없습니다."); - return false; - } - // 선택 검증: 복수 선택 - if (checkedObj.length > 1) { - Swal.fire("한 건만 선택하세요."); - return false; - } - - var objId = fnc_checkNull(checkedObj[0].OBJID); - var contractMgmtObjid = fnc_checkNull(checkedObj[0].CONTRACT_MGMT_OBJID); - var status = fnc_checkNull(checkedObj[0].STATUS); - - // 이미 프로젝트 연결된 경우 - if (contractMgmtObjid != '') { - Swal.fire("이미 프로젝트가 연결된 발주서입니다."); - return false; - } - - // 취소 상태 체크 - if (status == 'cancel') { - Swal.fire("취소된 발주서는 프로젝트 연결이 불가합니다."); - return false; - } - - // 프로젝트 선택 팝업 호출 - var popup_width = 800; - var popup_height = 600; - var url = "/purchaseOrder/projectLinkPopup.do?PURCHASE_ORDER_MASTER_OBJID=" + objId; - fn_centerPopup(popup_width, popup_height, url, "projectLinkPopup"); -} -
@@ -957,7 +906,6 @@ function fn_projectLink() { - @@ -1006,7 +954,7 @@ function fn_projectLink() { --> - - + + + - + + <%-- + --%> + - - - - + + + - - - - - - - - + - - + + + + + + - - + + + + - +
diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderMonthDetailPopup.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderMonthDetailPopup.jsp deleted file mode 100644 index 957a90c..0000000 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderMonthDetailPopup.jsp +++ /dev/null @@ -1,772 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ page import="java.util.*" %> -<%@include file= "/init.jsp" %> -<% - // 서버에서 전달받은 데이터 - List> detailList = (List>)request.getAttribute("detailList"); - Double totalSupplyPrice = (Double)request.getAttribute("totalSupplyPrice"); - Double totalVat = (Double)request.getAttribute("totalVat"); - Double totalAmount = (Double)request.getAttribute("totalAmount"); - String supplyName = (String)request.getAttribute("supplyName"); - String bankName = (String)request.getAttribute("bankName"); - String bankAccount = (String)request.getAttribute("bankAccount"); - String accountHolder = (String)request.getAttribute("accountHolder"); - - if(totalSupplyPrice == null) totalSupplyPrice = 0.0; - if(totalVat == null) totalVat = 0.0; - if(totalAmount == null) totalAmount = 0.0; -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - -
- -
- -
-
지출부서
- - - - - - - - - - - -
담당검토승인
-
- - -
-
관리부서
- - - - - - - - - - - -
담당검토승인
-
-
- - -
지 출 결 의 서
- - -
(입금 지출 현금 신용 대체)
- - -
- -
-
- 일금 원정 -
-
- (₩ ) -
-
- - -
-
(USD )
-
(JPY )
-
(CNY )
-
(EUR )
-
-
- - -
-
-
지출예정일 :
-
- 년 - 월 - 일 -
-
-
- - -
-
-

지출내용

-
- -
-
-
-

출장보고

- - - - - - - - - - - - - - - - - -
출장지
출장기간
출장목적
출장자
-
-
- - -
- - - - - - - - - -
작성일 : - - - " style="border:none; font-weight:bold; width:45px;"/>년 - " style="border:none; font-weight:bold; width:30px;"/>월 - " style="border:none; font-weight:bold; width:30px;"/>일 - -
작성자 : (인)
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
품명공급가세액합계
합 계
- - - - - - - - - - - - - -
은행명계좌번호예금주
" style="width:100%; border:none; padding:5px; font-size:9pt;"/>" style="width:100%; border:none; padding:5px; font-size:9pt;"/>" style="width:100%; border:none; padding:5px; font-size:9pt;"/>
-
- - - - - - - - - diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderPrintPopUp.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderPrintPopUp.jsp index 7e150c3..5a16c40 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderPrintPopUp.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderPrintPopUp.jsp @@ -619,7 +619,7 @@ function fn_getDrawingDownload(){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function num2han(num) { diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderStatusAmountBySupply.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderStatusAmountBySupply.jsp index f09779f..d67f9e2 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderStatusAmountBySupply.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderStatusAmountBySupply.jsp @@ -51,14 +51,6 @@ $(document).ready(function(){ $('.select2').select2(); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_cd").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - // 멀티셀렉트에서 빈 "선택" 옵션 제거 및 선택값 초기화 - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - }); - $("#btnSearch").click(function(){ fn_search(); }); @@ -84,36 +76,6 @@ $(document).ready(function(){ fn_search(); }); -// 월별 금액 셀 클릭 시 팝업 열기 -function openMonthDetailPopup(month, rowData) { - var year = $("#Year").val(); - var partner_objid = rowData.OBJID; - var supply_name = rowData.SUPPLY_NAME; - var project_nos = $("#project_no").val(); - - // 금액이 있는지 확인 - var monthField = 'M' + (month < 10 ? '0' + month : month); - var amount = rowData[monthField]; - - if(!amount || amount == 0 || amount == '0') { - Swal.fire("해당 월에 데이터가 없습니다."); - return; - } - - var url = "/purchaseOrder/purchaseOrderMonthDetailPopup.do"; - url += "?year=" + year; - url += "&month=" + month; - url += "&partner_objid=" + partner_objid; - url += "&supply_name=" + encodeURIComponent(supply_name); - - // project_nos가 null이 아닐 때만 추가 - if(project_nos && project_nos != 'null' && project_nos != '') { - url += "&project_nos=" + project_nos; - } - - window.open(url, "monthDetail", "width=900,height=1000,scrollbars=yes"); -} - var columns = [ {headerHozAlign : 'center', hozAlign : 'left', /* width : '150', */ title : '공급업체명', field : 'SUPPLY_NAME' }, @@ -121,76 +83,40 @@ var columns = [ formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '1월', field : 'M01', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(1, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '2월', field : 'M02', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(2, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '3월', field : 'M03', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(3, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '4월', field : 'M04', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(4, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '5월', field : 'M05', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(5, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '6월', field : 'M06', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(6, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '7월', field : 'M07', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(7, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '8월', field : 'M08', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(8, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '9월', field : 'M09', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(9, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '10월', field : 'M10', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(10, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '11월', field : 'M11', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(11, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } }, {headerHozAlign : 'center', hozAlign : 'right', width : '115', title : '12월', field : 'M12', topCalc:'sum', topCalcFormatter : "money", topCalcFormatterParams : {thousand:",", symbolAfter:"p", precision:false }, - formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }, - cellClick:function(e, cell){ - openMonthDetailPopup(12, cell.getRow().getData()); - } + formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false } } ]; @@ -254,17 +180,10 @@ function fn_excel() { - - - - - @@ -279,6 +198,9 @@ function fn_excel() { + + +
diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderStatusByProject.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderStatusByProject.jsp index 4ed9867..fbd7e90 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderStatusByProject.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderStatusByProject.jsp @@ -63,14 +63,6 @@ $(document).ready(function(){ $('.select2').select2(); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_cd").change(function(){ - fn_projectNameList(this.value, "project_no", ""); - // 멀티셀렉트에서 빈 "선택" 옵션 제거 및 선택값 초기화 - $("#project_no option[value='']").remove(); - $("#project_no").val(null).trigger('change.select2'); - }); - $("#btnSearch").click(function(){ fn_search(); }); @@ -108,7 +100,7 @@ var columns = [ columns:[ /* {headerHozAlign : 'center', hozAlign : 'center', width : '60', title : '년도', field : 'CM_YEAR' }, */ {headerHozAlign : 'center', hozAlign : 'left', width : '105', title : '고객사', field : 'CUSTOMER_NAME' }, - //{headerHozAlign : 'center', hozAlign : 'left', width : '130', title : '프로젝트명', field : 'PROJECT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'left', width : '130', title : '프로젝트명', field : 'PROJECT_NAME' }, {headerHozAlign : 'center', hozAlign : 'left', width : '200', title : '유닛명', field : 'UNIT_PART_NAME' }, {headerHozAlign : 'center', hozAlign : 'left', width : '97', title : '프로젝트번호', field : 'PROJECT_NO' } ], @@ -330,17 +322,10 @@ function fn_excel() { - - - - - diff --git a/WebContent/WEB-INF/view/purchaseOrder/salesBOMPurchaseOrderFormPopUp.jsp b/WebContent/WEB-INF/view/purchaseOrder/salesBOMPurchaseOrderFormPopUp.jsp index 2ba6d04..d7d36ae 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/salesBOMPurchaseOrderFormPopUp.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/salesBOMPurchaseOrderFormPopUp.jsp @@ -486,7 +486,7 @@ function fn_getDrawingDownload(){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); } function num2han(num) { diff --git a/WebContent/WEB-INF/view/releaseMgmt/releaseMgmtList.jsp b/WebContent/WEB-INF/view/releaseMgmt/releaseMgmtList.jsp index 0e01847..95a7669 100644 --- a/WebContent/WEB-INF/view/releaseMgmt/releaseMgmtList.jsp +++ b/WebContent/WEB-INF/view/releaseMgmt/releaseMgmtList.jsp @@ -44,19 +44,6 @@ String connector = person.getUserId(); .select2-container .select2-selection--multiple .select2-selection__rendered { overflow: auto !important; } - /* PM 확정 아이콘 스타일 */ - .pm-lock-icon { - cursor: pointer; - width: 24px; - height: 24px; - } - /* PM 확정된 행 회색 처리 */ - .tabulator-row.pm-confirmed { - background-color: #969595 !important; - } - .tabulator-row.pm-confirmed:hover { - background-color: #969595 !important; - } @@ -489,7 +340,7 @@ function fn_updateRowStyle(row, pmConfirmed){

- 출하/셋업관리_출하/셋업관리 + 영업관리_출고관리

@@ -510,17 +361,10 @@ function fn_updateRowStyle(row, pmConfirmed){ - - - - - @@ -532,7 +376,16 @@ function fn_updateRowStyle(row, pmConfirmed){ ${code_map.category_cd} - + + + + + + + -
-
- - -
- - - - - - - - - - - -
- - - - - -
-
- - -
-
-
- PM 확정 -
-
-
- PM 미확정 -
-
-
- 출하일 -
-
- - -
-
-
-
- - - - diff --git a/WebContent/WEB-INF/view/releaseMgmt/setupInfoDetailPopUp.jsp b/WebContent/WEB-INF/view/releaseMgmt/setupInfoDetailPopUp.jsp deleted file mode 100644 index 45981ea..0000000 --- a/WebContent/WEB-INF/view/releaseMgmt/setupInfoDetailPopUp.jsp +++ /dev/null @@ -1,257 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -String connector = person.getUserId(); -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - - -
- - -
프로젝트 정보
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
프로젝트번호${resultMap.PROJECT_NO}PM 확정 - - - 확정 - - - 미확정 - - -
고객사${resultMap.CUSTOMER_NAME}
제품구분${resultMap.PRODUCT_NAME}장비명${resultMap.EQUIPMENT_NAME}
셋업지${resultMap.SETUP}설비대수${resultMap.FACILITY_QTY}
PM 담당자${resultMap.PM_USER_NAME}요청납기일${resultMap.DUE_DATE}
- - -
셋업 일정
- - - - - - - -
출하일${resultMap.RELEASE_DATE}셋업기간 - - ${resultMap.SETUP_START_DATE} ~ ${resultMap.SETUP_END_DATE} - -
- - -
셋업 인원
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
구분인원 (명)비고
영업담당자${resultMap.SALES_CNT}${resultMap.SALES_REMARK}
설계담당자${resultMap.DESIGN_CNT}${resultMap.DESIGN_REMARK}
생산담당자${resultMap.PRODUCTION_CNT}${resultMap.PRODUCTION_REMARK}
전기담당자${resultMap.ELEC_CNT}${resultMap.ELEC_REMARK}
합계${resultMap.TOTAL_SETUP_CNT}
- - -
요청사항
-
- -
- - -
- - -
-
- - - diff --git a/WebContent/WEB-INF/view/releaseMgmt/setupInfoFormPopUp.jsp b/WebContent/WEB-INF/view/releaseMgmt/setupInfoFormPopUp.jsp deleted file mode 100644 index 7fcd62a..0000000 --- a/WebContent/WEB-INF/view/releaseMgmt/setupInfoFormPopUp.jsp +++ /dev/null @@ -1,270 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.pms.common.utils.*"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@include file= "/init.jsp" %> -<% -PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); -String connector = person.getUserId(); -%> - - - - -<%=Constants.SYSTEM_NAME%> - - - - - - -
- - - - -
셋업 일정
-
- - - - - - - - - - - - - -
출하일
셋업시작일
셋업종료일
-
- - -
유관부서 담당자 및 인원
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
구분인원 (명)담당자명 / 비고
영업담당자
설계담당자
생산담당자
전기담당자
- - -
요청사항
-
- - - - -
-
- - -
-
- - -
-
-
- - diff --git a/WebContent/WEB-INF/view/salesMng/salesBomExcelImportPopUp.jsp b/WebContent/WEB-INF/view/salesMng/salesBomExcelImportPopUp.jsp index 7792fbd..2b6b185 100644 --- a/WebContent/WEB-INF/view/salesMng/salesBomExcelImportPopUp.jsp +++ b/WebContent/WEB-INF/view/salesMng/salesBomExcelImportPopUp.jsp @@ -12,14 +12,11 @@ -
@@ -863,8 +497,8 @@ function fn_reopenBom(){ - - + +
<%-- @@ -921,25 +555,12 @@ function fn_reopenBom(){
- + - + - - - <%-- 마감/마감해제 버튼: 자재부 부서장 또는 관리자만 표시 --%> - - - - - - - - - -
diff --git a/WebContent/WEB-INF/view/salesMng/salesBomReportList.jsp b/WebContent/WEB-INF/view/salesMng/salesBomReportList.jsp index e0301eb..8301bd6 100644 --- a/WebContent/WEB-INF/view/salesMng/salesBomReportList.jsp +++ b/WebContent/WEB-INF/view/salesMng/salesBomReportList.jsp @@ -44,13 +44,11 @@ var columns = [ {title:'SBR_OBJID', field:'SBR_OBJID' ,visible: false}, {title:"프로젝트정보", headerHozAlign:'center', //고객정보 columns:[ - {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '프로젝트번호', field : 'PROJECT_NO' }, - {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '고객사', field : 'CUSTOMER_NAME' }, - {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '장비명', field : 'EQUIPMENT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '요청납기', field : 'DUE_DATE' }, + {headerHozAlign : 'center', hozAlign : 'left', width : '100', title : '프로젝트번호', field : 'PROJECT_NO' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '요청납기', field : 'REQ_DEL_DATE' }, //{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '계약납기', field : 'CONTRACT_DEL_DATE' }, - //{headerHozAlign : 'center', hozAlign : 'center', width : '150', title : '수주회사', field : 'CONTRACT_COMPANY_NAME' }, - {headerHozAlign : 'center', hozAlign : 'center', width : '150', title : '제작공장', field : 'MANUFACTURE_PLANT_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '수주회사', field : 'CONTRACT_COMPANY_NAME' }, + {headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '제작공장', field : 'MANUFACTURE_PLANT_NAME' }, /* {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '수주일', field : 'CONTRACT_DATE' }, {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : 'PO계약 No', field : 'PO_NO' } */ ], diff --git a/WebContent/WEB-INF/view/salesMng/salesPartChgList.jsp b/WebContent/WEB-INF/view/salesMng/salesPartChgList.jsp index d83ac4a..5ce31f8 100644 --- a/WebContent/WEB-INF/view/salesMng/salesPartChgList.jsp +++ b/WebContent/WEB-INF/view/salesMng/salesPartChgList.jsp @@ -41,13 +41,6 @@ $(document).ready(function(){ $('.select2').select2(); fnc_datepick(); - // 고객사 선택 시 해당 고객사의 프로젝트만 표시 - $("#customer_cd").change(function(){ - fn_projectNameList(this.value, "contract_objid", ""); - $("#contract_objid option[value='']").remove(); - $("#contract_objid").val(null).trigger('change.select2'); - }); - //조회 $("#btnSearch").click(function(){ $("#page").val("1"); @@ -131,24 +124,24 @@ $(document).ready(function(){ }); var columns = [ - {title:'OBJID' , field:'OBJID' ,visible: false, frozen: true}, - {title:'SPC_OBJID' , field:'SPC_OBJID' ,visible: false, frozen: true}, - {title:'EO_NO' , field:'EO_NO' ,visible: false, frozen: true}, - {title:'ACT_STATUS' , field:'ACT_STATUS' ,visible: false, frozen: true}, - {title:'PURCHASE_ORDER_MASTER_OBJID', field:'PURCHASE_ORDER_MASTER_OBJID' ,visible: false, frozen: true} + {title:'OBJID' , field:'OBJID' ,visible: false}, + {title:'SPC_OBJID' , field:'SPC_OBJID' ,visible: false}, + {title:'EO_NO' , field:'EO_NO' ,visible: false}, + {title:'ACT_STATUS' , field:'ACT_STATUS' ,visible: false}, + {title:'PURCHASE_ORDER_MASTER_OBJID', field:'PURCHASE_ORDER_MASTER_OBJID' ,visible: false} - ,{headerHozAlign : 'center', hozAlign : 'center', title : "EO NO", field :"EO_NO" , width:80 , frozen: true} + ,{headerHozAlign : 'center', hozAlign : 'center', title : "EO NO", field :"EO_NO" , width:80 } //,{headerHozAlign : 'center', hozAlign : 'center', title : "년도", field :"CM_YEAR" , width:50 } - ,{headerHozAlign : 'center', hozAlign : 'left', title : "프로젝트번호", field :"PROJECT_NO" , width:100 , frozen: true} - //,{headerHozAlign : 'center', hozAlign : 'left', title : "프로젝트명", field :"CUSTOMER_PROJECT_NAME" , width:140 } - ,{headerHozAlign : 'center', hozAlign : 'left', width :'150', title:'모품번', field:'PARENT_PART_INFO' , frozen: true} - ,{headerHozAlign : 'center', hozAlign : 'left', title : "품번", field :"PART_NO" , width:150, frozen: true, + ,{headerHozAlign : 'center', hozAlign : 'left', title : "프로젝트번호", field :"PROJECT_NO" , width:100 } + ,{headerHozAlign : 'center', hozAlign : 'left', title : "프로젝트명", field :"CUSTOMER_PROJECT_NAME" , width:140 } + ,{headerHozAlign : 'center', hozAlign : 'left', width :'125', title:'모품번', field:'PARENT_PART_INFO' } + ,{headerHozAlign : 'center', hozAlign : 'left', title : "품번", field :"PART_NO" , width:120, formatter: fnc_createGridAnchorTag, cellClick : function(e, cell) { fn_partMngHisDetail(cell.getData().OBJID); } } - ,{headerHozAlign : 'center', hozAlign : 'left', title : "품명", field :"PART_NAME" , width:150 , frozen: true} + ,{headerHozAlign : 'center', hozAlign : 'left', title : "품명", field :"PART_NAME" , width:150 } ,{headerHozAlign : 'center', hozAlign : 'center', title : '수량', field :'QTY' , width :50} ,{headerHozAlign : 'center', hozAlign : 'center', title : '변경수량', field :'QTY_TEMP' , width :80} ,{headerHozAlign : 'center', hozAlign : 'left', title : "EO구분", field :"CHANGE_TYPE_NAME", width:90 } @@ -253,17 +246,10 @@ function fn_purchaseOrderPopup(objId){ <%-- --%> - - - - - @@ -279,20 +265,20 @@ function fn_purchaseOrderPopup(objId){ ~ - - <%-- - --%> - - - - + + - - + + + <%-- + --%> + + + - + @@ -301,22 +287,21 @@ function fn_purchaseOrderPopup(objId){ - - - - - + + + ~ - + - - + + +
diff --git a/WebContent/WEB-INF/view/salesMng/salesRequestFormPopUp.jsp b/WebContent/WEB-INF/view/salesMng/salesRequestFormPopUp.jsp index a65a0dc..bdf7a4d 100644 --- a/WebContent/WEB-INF/view/salesMng/salesRequestFormPopUp.jsp +++ b/WebContent/WEB-INF/view/salesMng/salesRequestFormPopUp.jsp @@ -129,11 +129,11 @@ $(function(){ <% if(isModify){ %> //수정가능 -$("#REQUEST_CD,#PROJECT_NO,#CUSTOMER_NAME,#PRODUCT_NAME,#MECHANICAL_TYPE,#EQUIPMENT_NAME,#SETUP,#RELEASE_DATE,#REQUEST_REASONS,#REQUEST_USER_ID,#DELIVERY_REQUEST_DATE,#UNIT_NAME").prop("disabled",""); +$("#REQUEST_CD,#PROJECT_NO,#CUSTOMER_NAME,#PRODUCT_NAME,#MECHANICAL_TYPE,#PROJECT_NAME,#SETUP,#RELEASE_DATE,#REQUEST_REASONS,#REQUEST_USER_ID,#DELIVERY_REQUEST_DATE,#UNIT_NAME").prop("disabled",""); - //프로젝트번호 변경시 유닛명 및 장비명 셋팅 + //프로젝트명 변경시 유닛명 셋팅 $("#PROJECT_NO").change(function(){ - $("#CUSTOMER_NAME, #PRODUCT_NAME, #MECHANICAL_TYPE, #EQUIPMENT_NAME, #SETUP, #RELEASE_DATE, #UNIT_NAME").val(""); + $("#CUSTOMER_NAME, #PRODUCT_NAME, #MECHANICAL_TYPE, #PROJECT_NAME, #SETUP, #RELEASE_DATE, #UNIT_NAME").val(""); if($(this).val()!=""){ //프로젝트번호로 지정된 정보를 가져온다 var list = fnc_getJsonAllDataListBySqlId({"sqlId":"salesMng.purchaseOrderAdminSupplyInfo", "PROJECT_NO":$(this).val()}); @@ -142,7 +142,7 @@ $("#REQUEST_CD,#PROJECT_NO,#CUSTOMER_NAME,#PRODUCT_NAME,#MECHANICAL_TYPE,#EQUIPM $("#CUSTOMER_NAME" ).val( row["CUSTOMER_NAME" ] ); $("#PRODUCT_NAME" ).val( row["PRODUCT_NAME" ] ); $("#MECHANICAL_TYPE" ).val( row["MECHANICAL_TYPE" ] ); - $("#EQUIPMENT_NAME" ).val( row["EQUIPMENT_NAME" ] ); + $("#PROJECT_NAME" ).val( row["PROJECT_NAME" ] ); $("#SETUP" ).val( row["SETUP" ] ); $("#RELEASE" ).val( row["RELEASE_DATE" ] ); } @@ -151,9 +151,10 @@ $("#REQUEST_CD,#PROJECT_NO,#CUSTOMER_NAME,#PRODUCT_NAME,#MECHANICAL_TYPE,#EQUIPM }); - //프로젝트번호, 유닛명 변경시 - 품목 목록 초기화 + //프로젝트번호, 유닛명 변경시 - 구매BOM에서 등록한 PART정보를 가져온다 $("#PROJECT_NO,#UNIT_NAME").change(function(){ $("#partListArea").empty(); + fn_addBomPart(); }); $("#REQUEST_USER_ID").val('<%=connectUserId%>'); @@ -194,9 +195,6 @@ function fn_getSalesRequestTargetPartList(masterObjId,bomObjId){ $("#partListArea").empty(); var requestStatus = $("#STATUS").val(); - var projectNo = $("#PROJECT_NO").val(); - var unitName = $("#UNIT_NAME").val(); - var hasProjectInfo = (fnc_checkNull(projectNo) != '' && fnc_checkNull(unitName) != ''); var appendText = ""; $.ajax({ @@ -211,87 +209,64 @@ function fn_getSalesRequestTargetPartList(masterObjId,bomObjId){ $.each(resultData, function(i){ console.log("resultData["+i+"]:"+resultData[i]); + //var RNUM = fnc_checkNull(resultData[i].RNUM); var rowObjId = fnc_checkNull(resultData[i].OBJID); var PART_OBJID = fnc_checkNull(resultData[i].PART_OBJID); var PART_NO = fnc_checkNull(resultData[i].PART_NO); var PART_NAME = fnc_checkNull(resultData[i].PART_NAME); - var MATERIAL = fnc_checkNull(resultData[i].MATERIAL); - var SPEC = fnc_checkNull(resultData[i].SPEC); + //var SPEC = fnc_checkNull(resultData[i].SPEC); var QTY = fnc_checkNull(resultData[i].QTY); var PARTNER_OBJID = fnc_checkNull(resultData[i].PARTNER_OBJID); - var PART_REMARK = fnc_checkNull(resultData[i].REMARK); - var SALES_REQUEST_MASTER_OBJID = fnc_checkNull(resultData[i].SALES_REQUEST_MASTER_OBJID); - var FILE_CNT = parseInt(fnc_checkNull(resultData[i].FILE_CNT)) || 0; + //var DELIVERY_REQUEST_DATE = fnc_checkNull(resultData[i].DELIVERY_REQUEST_DATE); + //var REMARK = fnc_checkNull(resultData[i].REMARK); - // 파일 개수에 따라 아이콘 클래스 결정 (0:흰색, 1이상:파란색) - var fileIconClass = (FILE_CNT > 0) ? 'file_icon' : 'file_empty_icon'; + var SALES_REQUEST_MASTER_OBJID = fnc_checkNull(resultData[i].SALES_REQUEST_MASTER_OBJID); - // PART_OBJID가 있으면 BOM 연동 데이터, 없으면 직접 입력 데이터 - var isDirectInput = (PART_OBJID == ''); appendText += " "; appendText += " "; appendText += " "; appendText += " "; appendText += " "; - - // 품번: 결재완료/접수 상태이거나 직접입력 데이터인 경우 input, 아니면 select + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; appendText += " "; if(requestStatus == 'approvalComplete' || requestStatus == 'reception'){ - appendText += " "; - appendText += " "; - }else if(isDirectInput){ - // 직접 입력 데이터: input으로 표시 - appendText += " "; - appendText += " "; - }else{ - // BOM 연동 데이터: select로 표시 + appendText += " "; + }else{ appendText += " "; } appendText += " "; - - // 품명: 직접입력 데이터인 경우 수정 가능 + //appendText += " "; appendText += " "; - if(isDirectInput && requestStatus != 'approvalComplete' && requestStatus != 'reception'){ - appendText += " "; - }else{ - appendText += " "; - } + appendText += " "; appendText += " "; - - // 재질 - appendText += " "; - appendText += " "; - appendText += " "; - - // 사양(규격) - appendText += " "; - appendText += " "; - appendText += " "; - - // 수량 + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; appendText += " "; appendText += " "; appendText += " "; - - // 공급업체 + //appendText += " "; appendText += " "; appendText += " "; appendText += " "; - - // 비고 - appendText += " "; - appendText += " "; - appendText += " "; - - // 첨부파일 - appendText += " "; - appendText += " "; - appendText += " "; - appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; appendText += " "; + + + //fnc_getSupplyCodeListAppend("PARTNER_OBJID_"+rowObjId, PARTNER_OBJID); + //fn_addBomPart("PART_OBJID_"+rowObjId, PART_NO); }); $("#partListArea").append(appendText); @@ -299,16 +274,9 @@ function fn_getSalesRequestTargetPartList(masterObjId,bomObjId){ var rowObjId = fnc_checkNull(resultData[i].OBJID); var PART_OBJID = fnc_checkNull(resultData[i].PART_OBJID); var PARTNER_OBJID = fnc_checkNull(resultData[i].PARTNER_OBJID); - var isDirectInput = (PART_OBJID == ''); - - // 공급업체 목록은 항상 로드 fnc_getAdminSupCdListAppend("", "PARTNER_OBJID_"+rowObjId, PARTNER_OBJID); $("#PARTNER_OBJID_"+rowObjId).val(PARTNER_OBJID); - - // BOM 연동 데이터인 경우에만 품번 select 로드 - if(!isDirectInput && requestStatus != 'approvalComplete' && requestStatus != 'reception'){ - fn_addBomPart("PART_OBJID_"+rowObjId, PART_OBJID, "PART_NAME_"+rowObjId,""); - } + fn_addBomPart("PART_OBJID_"+rowObjId, PART_OBJID, "PART_NAME_"+rowObjId,""); }); $(".select2").select2(); }, @@ -316,17 +284,19 @@ function fn_getSalesRequestTargetPartList(masterObjId,bomObjId){ } }); + + //$("#partListArea").append(appendText); + } /* 물품구매요청서 Row 추가 */ function fn_AddRow(){ + if($("#UNIT_NAME").val() == '' || $("#UNIT_NAME").val() == null){ + Swal.fire("유닛명을 먼저 선택해주세요"); + return false; + } var rowObjId = fnc_createObjId(); - var projectNo = $("#PROJECT_NO").val(); - var unitName = $("#UNIT_NAME").val(); - - // 프로젝트/유닛 선택 여부에 따라 입력 방식 결정 - var hasProjectInfo = (fnc_checkNull(projectNo) != '' && fnc_checkNull(unitName) != ''); var appendText = ""; appendText += " "; @@ -335,82 +305,45 @@ function fn_AddRow(){ appendText += " "; appendText += " "; appendText += " "; - - // 품번: 프로젝트 선택 시 select, 미선택 시 input + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; appendText += " "; - if(hasProjectInfo){ - appendText += " "; - }else{ - appendText += " "; - appendText += " "; - } + appendText += " "; appendText += " "; - - // 품명: 프로젝트 선택 시 readonly, 미선택 시 입력 가능 - appendText += " "; - if(hasProjectInfo){ - appendText += " "; - }else{ - appendText += " "; - } + //appendText += " "; + appendText += " "; + appendText += " "; appendText += " "; - - // 재질 - appendText += " "; - if(hasProjectInfo){ - appendText += " "; - }else{ - appendText += " "; - } - appendText += " "; - - // 사양(규격) - appendText += " "; - if(hasProjectInfo){ - appendText += " "; - }else{ - appendText += " "; - } - appendText += " "; - - // 수량 - appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; + appendText += " "; appendText += " "; appendText += " "; - - // 공급업체 + //appendText += " "; appendText += " "; appendText += " "; appendText += " "; - - // 비고 - appendText += " "; - appendText += " "; - appendText += " "; - - // 첨부파일 - appendText += " "; - appendText += " "; - appendText += " "; - appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; + //appendText += " "; appendText += " "; if(0 < $("#partListArea tr:first").lenght || typeof $("#partListArea tr:first").lenght != "undefined") { $("#partListArea tr:first").before(appendText); }else{ $("#partListArea").append(appendText); - } - - // 공급업체 목록은 항상 로드 + } fnc_getAdminSupCdListAppend("", "PARTNER_OBJID_"+rowObjId, ""); - - // 프로젝트/유닛 선택된 경우에만 BOM 품번 목록 로드 - if(hasProjectInfo){ - fn_addBomPart("PART_OBJID_"+rowObjId, "", "PART_NAME_"+rowObjId, "PARTNER_OBJID_"+rowObjId); - } - + fn_addBomPart("PART_OBJID_"+rowObjId, "", "PART_NAME_"+rowObjId, "PARTNER_OBJID_"+rowObjId); fnc_datepick(); $(".select2").select2(); } @@ -509,9 +442,6 @@ function fn_Supply_save(){ //계약제품, 업체명으로 BOM에 등록된 부품정보를 자동 추가 function fn_addBomPart(selectboxId,selectedVal,sql_id,sql_supply){ - // selectboxId가 없으면 종료 - if(!selectboxId || selectboxId == '') return; - $("#BOM_REPORT_OBJID").val(""); //var type = $("#TYPE").val(); //발주부품 @@ -519,9 +449,6 @@ function fn_addBomPart(selectboxId,selectedVal,sql_id,sql_supply){ var unit_code = $("#UNIT_NAME").val(); //유닛명 //var partner_objid = $("#PARTNER_OBJID").val(); //공급업체 - // selectboxId에서 rowObjId 추출 (PART_OBJID_xxx 형태) - var rowObjId = selectboxId.replace("PART_OBJID_", ""); - //console.log('type:'+type + ' contract_mgmt_objid:'+contract_mgmt_objid + ' unit_code:'+unit_code + ' partner_objid:'+partner_objid); //프로젝트명, 유닛명이 선택되어있으면 @@ -537,19 +464,13 @@ function fn_addBomPart(selectboxId,selectedVal,sql_id,sql_supply){ var commonCodeId = resultList[i].PART_OBJID; var commonCodeName = resultList[i].PART_NO; var partName = resultList[i].PART_NAME; - var material = fnc_checkNull(resultList[i].MATERIAL); - var spec = fnc_checkNull(resultList[i].SPEC); var supplyObjid = resultList[i].SUPPLY_OBJID; - $("#"+selectboxId).append(""); + $("#"+selectboxId).append(""); } $("#"+selectboxId).val(selectedVal); $("#"+selectboxId).change(function(){ - var $selected = $(this).find("option:selected"); - $("#"+sql_id).val($selected.attr("data-part_name")); - $("#"+sql_supply).val($selected.attr("data-supplyObjid")); - // 재질, 사양 자동 입력 - $("#MATERIAL_"+rowObjId).val($selected.attr("data-material")); - $("#SPEC_"+rowObjId).val($selected.attr("data-spec")); + $("#"+sql_id).val($(this).find("option:selected").attr("data-part_name")); + $("#"+sql_supply).val($(this).find("option:selected").attr("data-supplyObjid")); }); } } @@ -557,18 +478,6 @@ function fn_addBomPart(selectboxId,selectedVal,sql_id,sql_supply){ $("#"+selectboxId).trigger("change"); } -// 첨부파일 콜백 함수 -function fn_fileCallback(targetObjId, docType, columnField, fileCnt){ - // 파일 개수에 따라 아이콘 변경 (파란색/흰색 폴더) - var $icon = $("#FILE_ICON_"+targetObjId); - $icon.removeClass("file_icon file_empty_icon"); - if(fileCnt > 0){ - $icon.addClass("file_icon"); - }else{ - $icon.addClass("file_empty_icon"); - } -} - function fn_callbackFnc(){ opener.fn_search(); self.close(); @@ -649,36 +558,36 @@ function fn_callbackFnc(){ - + <%-- --%> - ${code_map.request_cd} - + - - + + - + - + - + - + @@ -703,13 +612,13 @@ function fn_callbackFnc(){ ${code_map.request_user_id} - + - @@ -746,26 +655,18 @@ function fn_callbackFnc(){ - - - - - - - - + + + + - - - -
품번 품명재질사양(규격) 수량 공급업체비고파일첨부
@@ -774,14 +675,10 @@ function fn_callbackFnc(){ - - - - - - - - + + + + diff --git a/WebContent/WEB-INF/view/salesMng/salesRequestFormPopUp_toastGrid.jsp b/WebContent/WEB-INF/view/salesMng/salesRequestFormPopUp_toastGrid.jsp index 77fe62a..4ade471 100644 --- a/WebContent/WEB-INF/view/salesMng/salesRequestFormPopUp_toastGrid.jsp +++ b/WebContent/WEB-INF/view/salesMng/salesRequestFormPopUp_toastGrid.jsp @@ -367,7 +367,7 @@ function fn_getDrawingDownload(){ } function fn_openPartPopup(objId){ - window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=800, height=900, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); + window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes"); }