Browse Source

주간보고작성 팝업추가

DESKTOP-HMLPH8S\kim 2 years ago
parent
commit
1aa083f91e

+ 3 - 0
src/main/java/sgc/portal/cw/cw0901/dto/CW09010001USearch.java

@@ -17,4 +17,7 @@ public class CW09010001USearch extends BaseSearchDto {
 	private String atchfileId;
 	private String workMonth1;
 	private String workMonth2;
+	
+	private String searchData1;
+	private String searchData2;
 }

+ 2 - 0
src/main/java/sgc/portal/cw/cw0901/persistence/CW09010001UMapper.java

@@ -35,4 +35,6 @@ public interface CW09010001UMapper {
 	void updateZehrWeekWorkAtchfileId(CW09010001U cW09010001U);
 	
 	int selectZehrWeekWorkAtchfileIdCount(CW09010001U cW09010001U);
+	
+	List<EasyHashMap<String, Object>> selectZehrWeekWorkDeptCdList(CW09010001USearch search);
 }

+ 4 - 0
src/main/java/sgc/portal/cw/cw0901/service/CW09010001UService.java

@@ -131,4 +131,8 @@ public class CW09010001UService {
 		}
 		return result;
     };
+    
+    public List<EasyHashMap<String, Object>> selectZehrWeekWorkDeptCdList(CW09010001USearch search) {
+        return mapper.selectZehrWeekWorkDeptCdList(search);
+    }
 }

+ 5 - 0
src/main/java/sgc/portal/cw/cw0901/web/CW09010001UController.java

@@ -54,4 +54,9 @@ public class CW09010001UController {
     public Map<String, String> updateZehrWeekWorkAtchfileId2(@RequestBody CW09010001U cW09010001U) {
     	return service.updateZehrWeekWorkAtchfileId2(cW09010001U);
     }
+    
+    @PostMapping("/CW09010001U/selectZehrWeekWorkDeptCdList")
+    public List<EasyHashMap<String, Object>> selectZehrWeekWorkDeptCdList(@RequestBody CW09010001USearch search) {
+        return service.selectZehrWeekWorkDeptCdList(search);
+    }
 }

+ 40 - 0
src/main/resources/sqlmap/mappers/cw/cw0901/CW09010001UMapper.xml

@@ -202,5 +202,45 @@
           AND DEPT_CD 					= #{deptCd}
           AND WORK_BASEDATE_FROM 		= #{workBasedateFrom}
     </update>
+    
+    <select id="selectZehrWeekWorkDeptCdList" parameterType="map" resultType="easyHashMap">
+          	/* ComPopupMapper.selectcomDptAllPop */
+		SELECT DEPT_CD,          -- 부서코드            
+		       DEPT_NM,          -- 부서명             
+		       --MANAGER_NO,       -- 부서장 사번          
+		       --HDOF_SITE_GB_CD,      -- 본사현장 구분         
+		       --TAXOFFICE_CD,     -- 세무서코드           
+		       STA_DATE,         -- 시작일             
+		       END_DATE,         -- 종료일             
+		       --WORKKIND_CD1,     -- 공종분류            
+		       --WORKKIND_CD2,     -- 공종코드            
+		       P_DEPT_CD,        -- 상위 부서코드         
+		       DEPT_LEVEL,       -- 부서레벨            
+		       --ORG_YN,           -- 조직도유무           
+		       USE_YN,           -- 사용여부            
+		       --ORDER_COMP,       -- 발주처             
+		       --CONST_SCALE,      -- 공사규모            
+		       PHONE,            -- 전화번호            
+		       FAX,              -- 팩스번호            
+		       POST_CD,          -- 우편번호            
+		       ADDRESS,          -- 주소              
+		       ADDRESS_DETAIL,   -- 상세주소            
+		       COST_DEPT_CD,     -- 소속본부            
+		       DIST_DEPT_CD,     -- 원가배분부서          
+		       DIST_DEPT_NM,     -- 원가배분부서          
+		       SAUP_DEPT_CD,     -- 사업부회계코드         
+		       SAUP_DEPT_NM,     -- 사업부명            
+		       --RATE_DEPT_FLAG,   -- 본사현장구분(급여원가배분구분)
+		       USE_YN,            -- 사용 여부     
+		       HDOF_SITE_GB_CD   --본사현장 구분                
+		  FROM ZEHR_COM_DEPT
+		 WHERE CMPN_CD = #{cmpnCd}
+		   AND (DEPT_CD LIKE '%' || #{searchData1} || '%' OR DEPT_NM LIKE '%' || #{searchData1} || '%')
+           <if test='searchData2 != null and searchData2 != ""'>
+		   AND USE_YN = #{searchData2}
+           </if>
+           AND LENGTH(DEPT_CD) NOT IN ('2')
+         ORDER BY DEPT_CD, DEPT_LEVEL
+     </select>
      
 </mapper>

+ 351 - 0
src/main/webapp/ux/cw/cw0901/CW09010001P.xml

@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="/resources/css/all.css" type="text/css"?>
+<?xml-stylesheet href="/resources/css/contents.css" type="text/css"?>
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:w2="http://www.inswave.com/websquare"
+	xmlns:xf="http://www.w3.org/2002/xforms">
+	<head>
+		<!--
+			**************************************************************************
+			* Program ID:/ux/cw/cw0901/CW09010001P.xml
+			* Program Name:부서정보팝업
+			* Description:부서정보팝업 화면입니다.
+			* Author:김현중
+			* Version:2022-09-28
+			*
+			* ========================================
+			* 변경일자 수정자 내 용
+			* ========================================
+			* 2022-09-28 SDCIT 최초작성
+			**************************************************************************
+		-->
+		<w2:type>DEFAULT</w2:type>
+		<w2:buildDate />
+		<xf:model>
+			<xf:instance>
+				<data xmlns="" />
+			</xf:instance>
+			<w2:dataCollection baseNode="map">
+				<w2:dataList id="dlDpt" baseNode="list" saveRemovedData="false" repeatNode="map" userData1="부서코드">
+					<w2:columnInfo>
+						<w2:column id="deptCd" name="부서코드" dataType="text"></w2:column>
+						<w2:column id="deptNm" name="부서명" dataType="text"></w2:column>
+						<w2:column id="managerNo" name="부서장 사번" dataType="text"></w2:column>
+						<w2:column id="fieldClass" name="본사현장 구분" dataType="text"></w2:column>
+						<w2:column id="taxofficeCd" name="세무서코드" dataType="text"></w2:column>
+						<w2:column id="staDate" name="시작일" dataType="text"></w2:column>
+						<w2:column id="endDate" name="종료일" dataType="text"></w2:column>
+						<w2:column id="workkindCd1" name="공종분류" dataType="text"></w2:column>
+						<w2:column id="workkindCd2" name="공종코드" dataType="text"></w2:column>
+						<w2:column id="pDeptCd" name="상위 부서코드" dataType="text"></w2:column>
+						<w2:column id="deptLevel" name="부서레벨" dataType="text"></w2:column>
+						<w2:column id="orgYn" name="조직도유무" dataType="text"></w2:column>
+						<w2:column id="useYn" name="사용여부" dataType="text"></w2:column>
+						<w2:column id="orderComp" name="발주처" dataType="text"></w2:column>
+						<w2:column id="constScale" name="공사규모" dataType="text"></w2:column>
+						<w2:column id="phone" name="전화번호" dataType="text"></w2:column>
+						<w2:column id="fax" name="팩스번호" dataType="text"></w2:column>
+						<w2:column id="postCd" name="우편번호" dataType="text"></w2:column>
+						<w2:column id="address" name="주소" dataType="text"></w2:column>
+						<w2:column id="addressDetail" name="상세주소" dataType="text"></w2:column>
+						<w2:column id="costDeptCd" name="소속본부" dataType="text"></w2:column>
+						<w2:column id="distDeptCd" name="원가배분부서" dataType="text"></w2:column>
+						<w2:column id="distDeptNm" name="원가배분부서" dataType="text"></w2:column>
+						<w2:column id="saupDeptCd" name="사업부회계코드" dataType="text"></w2:column>
+						<w2:column id="saupDeptNm" name="사업부명" dataType="text"></w2:column>
+						<w2:column id="rateDeptFlag" name="본사현장구분(급여원가배분구분)" dataType="text"></w2:column>
+						<w2:column id="hdofSiteGbCd" name="본사현장구분" dataType="text"></w2:column>
+					</w2:columnInfo>
+					<w2:data use="false"></w2:data>
+				</w2:dataList>
+			</w2:dataCollection>
+			<w2:workflowCollection></w2:workflowCollection>
+		</xf:model>
+		<script type="text/javascript"><![CDATA[
+    /**************************************************************************
+     * [1] 초기화
+     **************************************************************************/
+
+    /***************************************************************************
+     * 함수명:scwin.initScreen
+     * 기능:공통코드,각종 필요 코드조회, 권한 등 세팅
+     ***************************************************************************/
+    scwin.initScreen = function() {
+        var popParam = popupLib.getPopupParam();
+        scwin.param = JSON.parse(strLib.serialize(popParam));
+        txtDept.setValue(scwin.param.searchData1);
+        if(scwin.param.searchData1) {
+	        scwin.grdSearch();
+        }
+    };
+
+    /**************************************************************************
+     * [2] 전역변수 선언
+     **************************************************************************/
+
+    scwin.obj = popupLib.getScwinObj();                             //부모창 scwin 객체 필수
+    scwin.user = WebSquare.session.getAttribute( "user" );          //사용자 정보 객체 필수
+    scwin.cmpnCd  = scwin.user.cmpnCd;                              //회사코드 필수
+    scwin.userId  = scwin.user.userId;                              //사용자ID 필수
+    scwin.prgId = scwin.obj.prgId;                                  //프로그램ID 필수
+    scwin.sysCd = scwin.obj.sysCd;                                  //시스템코드 필수
+    scwin.sysAuth = WebSquare.session.getAttribute( scwin.sysCd );  //시스템권한 필수
+    scwin.prgAuth = scwin.obj.prgAuth;                              //프로그램권한 필수
+    scwin.param;
+
+    /**************************************************************************
+     * [3] Event 정의
+     * 조회 추가 저장 엑셀 출력 도움말 즐겨찾기 등 버튼목록
+     * scwin.btnSearch_onclick - 조회 버튼 클릭 이벤트
+     * scwin.btnClose_onclick - 닫기 버튼 클릭 이벤트
+     **************************************************************************/
+
+    /**************************************************************************
+     * Event:scwin.btnSearch_onclick
+     * 기능:조회 버튼 클릭
+     **************************************************************************/
+    scwin.btnSearch_onclick = function(e) {
+        scwin.grdSearch();
+    };
+
+    /**************************************************************************
+     * Event:scwin.btnClose_onclick
+     * 기능:닫기 버튼 클릭
+     **************************************************************************/
+    scwin.btnClose_onclick = function(e) {
+        popupLib.closePopup();
+    };
+
+    /**************************************************************************
+     * [4] Callback
+     **************************************************************************/
+
+    /**************************************************************************
+     * [5] 사용자정의 함수
+     **************************************************************************/
+
+    /***************************************************************************
+     * 함수명:scwin.txtDept_onkeypress
+     * 기능:부서명 입력박스 키 입력 시 처리
+     * param:e
+     ***************************************************************************/
+    scwin.txtDept_onkeypress = function(e) {
+        if(e.key=="Enter"){
+            scwin.grdSearch();
+        }
+    };
+
+    /***************************************************************************
+     * 함수명:scwin.grdSearch
+     * 기능:조회
+     ***************************************************************************/
+    scwin.grdSearch = function(){
+        var dept = txtDept.getValue();
+        var useYn = rdoUseYn.getValue();
+        ajaxLib.ajax("cw/cw0901/CW09010001U/selectZehrWeekWorkDeptCdList", {
+            method: "POST",
+            processMsg:"yes",
+            requestData : {
+               cmpnCd : scwin.cmpnCd,
+                searchData1 : dept,
+                searchData2 : useYn
+            },
+            callback: function(result, e) {
+                dlDpt.setJSON(result);
+                grdData.setFocusedCell( 0 , "deptCd" , false );
+            }
+        });
+    };
+
+    /***************************************************************************
+     * 함수명:scwin.grdData_oncellclick
+     * 기능:그리드 선택 시 처리
+     * param:row,col
+     ***************************************************************************/
+    scwin.grdData_oncellclick = function(row,col) {
+        txtDept.setValue( dlDpt.getCellData( grdData.getFocusedRowIndex() , "dptNm" ) );
+
+    };
+
+    /***************************************************************************
+     * 함수명:scwin.grdData_oncelldblclick
+     * 기능:그리드 더블클릭 시 처리
+     * param:row,col
+     ***************************************************************************/
+	scwin.grdData_oncelldblclick = function(row,col) {
+        popupLib.closePopup(dlDpt.getRowJSON( row ));
+	};
+
+    /***************************************************************************
+     * 함수명:scwin.grdData_onkeydown
+     * 기능:그리드 키 다운 시 처리
+     * param:e
+     ***************************************************************************/
+	scwin.grdData_onkeydown = function(e) {
+        if(e.key == "Enter"){
+            scwin.grdData_oncelldblclick(grdData.getFocusedRowIndex(),0);
+        }
+	};
+	]]></script>
+	</head>
+	<body style="overflow: hidden;">
+		<xf:group id="group" style="padding: 15px;" class="wrap_pop fixed_cont">
+			<xf:group id="pgtbox" style="" class="pgtbox">
+				<w2:textbox id="" class="pgt_tit" label="부서정보 "></w2:textbox>
+				<xf:group id="" style="" class="fr">
+					<w2:anchor id="btnSearch" class="btn_cm btn_search" outerDiv="true" ev:onclick="scwin.btnSearch_onclick">
+						<xf:label><![CDATA[조회]]></xf:label>
+					</w2:anchor>
+					<w2:anchor class="btn_cm btn_close" id="btnClose" outerDiv="true" style="" ev:onclick="scwin.btnClose_onclick">
+						<xf:label><![CDATA[닫기]]></xf:label>
+					</w2:anchor>
+				</xf:group>
+			</xf:group>
+			<xf:group id="shbox" style="" class="shbox">
+				<xf:group tagname="table" style="position: relative ;width:100%;" id="" class="w2tb tb">
+					<w2:attributes>
+						<w2:summary></w2:summary>
+					</w2:attributes>
+					<xf:group tagname="caption"></xf:group>
+					<xf:group tagname="colgroup">
+						<xf:group tagname="col" style="width:15%;"></xf:group>
+						<xf:group tagname="col" style="width:25%;"></xf:group>
+						<xf:group tagname="col" style="width:15%;"></xf:group>
+						<xf:group tagname="col" style="width:*;"></xf:group>
+					</xf:group>
+					<xf:group tagname="tr" style="">
+						<xf:group tagname="th" style="" class="w2tb_th">부서명</xf:group>
+						<xf:group tagname="td" style="" class="w2tb_td">
+							<xf:input dataType="text" ev:onkeypress="scwin.txtDept_onkeypress" id="txtDept" style="width: 95%;"></xf:input>
+						</xf:group>
+						<xf:group tagname="th" style="" class="w2tb_th">사용여부</xf:group>
+						<xf:group tagname="td" style="" class="w2tb_td">
+							<xf:select1 appearance="full" cols="" id="rdoUseYn" rows="1" selectedIndex="0"
+								style="position: relative;width: 120px;height: 20px;">
+								<xf:choices>
+									<xf:item>
+										<xf:label><![CDATA[사용]]></xf:label>
+										<xf:value><![CDATA[Y]]></xf:value>
+									</xf:item>
+									<xf:item>
+										<xf:label><![CDATA[미사용]]></xf:label>
+										<xf:value><![CDATA[N]]></xf:value>
+									</xf:item>
+								</xf:choices>
+							</xf:select1>
+						</xf:group>
+					</xf:group>
+				</xf:group>
+			</xf:group>
+			<xf:group class="gvwbox" id="" style="">
+				<w2:gridView adaptive="crosstab" adaptiveThreshold="600" autoFit="allColumn" class="wq_gvw" dataList="dlDpt"
+					fixedColumnWithHidden="false" id="grdData" ignoreCellClick="false" ignoreToggleOnDisabled="false" rowNumHeaderValue="순번"
+					rowNumStatusResize="false" rowNumVisible="true" rowNumWidth="30" rowStatusHeaderValue="" rowStatusVisible="false" rowStatusWidth=""
+					scrollByColumn="false" scrollByColumnAdaptive="false" style="height:382px;" summaryAuto="false" useShiftKey="true" visibleRowNum=""
+					readOnly="true" ev:oncellclick="scwin.grdData_oncellclick" ev:oncelldblclick="scwin.grdData_oncelldblclick" autoFitMinWidth=""
+					ev:onkeydown="scwin.grdData_onkeydown">
+					<w2:caption style="" id="caption1" value="this is a grid caption.">
+					</w2:caption>
+					<w2:header style="" id="header1">
+						<w2:row style="" id="row1">
+							<w2:column width="70" inputType="text" style="height:20px;" id="column33" blockSelect="false" displayMode="label"
+								value="사업장 코드" hidden="true">
+							</w2:column>
+							<w2:column width="120" inputType="text" style="height:20px;" id="column35" blockSelect="false" displayMode="label"
+								value="부서 코드">
+							</w2:column>
+							<w2:column width="300" inputType="text" style="height:20px;" id="column31" blockSelect="false" displayMode="label"
+								value="부서 명">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column29" blockSelect="false" displayMode="label"
+								value="부서 구분코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column27" blockSelect="false" displayMode="label"
+								value="확정전표 차수" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column25" blockSelect="false" displayMode="label"
+								value="통합 집계 부서 코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column23" blockSelect="false" displayMode="label"
+								value="예산 통제 대비 부서" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column21" blockSelect="false" displayMode="label"
+								value="예산 편성 승인 부서" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column19" blockSelect="false" displayMode="label"
+								value="부서 종류 구분코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column17" blockSelect="false" displayMode="label"
+								value="대사업부 구분코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column15" blockSelect="false" displayMode="label"
+								value="원가종류 구분코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column13" blockSelect="false" displayMode="label"
+								value="원가지원 구분코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column11" blockSelect="false" displayMode="label"
+								value="원가배분 사업장 코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column9" blockSelect="false" displayMode="label"
+								value="업장 구분코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column7" blockSelect="false" displayMode="label"
+								value="세무신고 사업장 코드" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column5" blockSelect="false" displayMode="label"
+								value="영업 여부" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column3" blockSelect="false" displayMode="label"
+								value="업장 공통 여부" hidden="true">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px;" id="column1" blockSelect="false" displayMode="label"
+								value="사용 여부" hidden="true">
+							</w2:column>
+						</w2:row>
+					</w2:header>
+					<w2:gBody style="" id="gBody1">
+						<w2:row style="" id="row2">
+							<w2:column width="70" inputType="text" style="height:20px" id="bsuCd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="120" inputType="text" style="height:20px" id="deptCd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="300" inputType="text" style="height:20px" id="deptNm" blockSelect="false" displayMode="label"
+								textAlign="left">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="deptDcd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="cslpDgr" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="itgrTtalDeptCd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="bdgtCtlCmpsDept" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="bdgtFrmtApvlDept" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="deptKindDcd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="gtthbsnssbDcd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="prcokindDcd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="prcosuprDcd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="prcodvsnBsuCd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="bsiteDcd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="txbsdeclBsuCd" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="slYn" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="bsiteCommYn" blockSelect="false" displayMode="label">
+							</w2:column>
+							<w2:column width="70" inputType="text" style="height:20px" id="useYn" blockSelect="false" displayMode="label">
+							</w2:column>
+						</w2:row>
+					</w2:gBody>
+				</w2:gridView>
+			</xf:group>
+		</xf:group>
+	</body>
+</html>

+ 2 - 2
src/main/webapp/ux/cw/cw0901/CW09010001U.xml

@@ -480,7 +480,7 @@
 		
 		var dptNm = inputDeptCd.getValue();
 		
-		popupLib.open("comDptAllPop", "/ux/com/pop/comDptAllPop.xml", {
+		popupLib.open("CW09010001P", "/ux/cw/cw0901/CW09010001P.xml", {
 			title: "소속 정보",
 			useLayer: true,     //레어어팝업여부
 			modal: true,        //모달팝업
@@ -501,7 +501,7 @@
 	
 		var dptNm = inputDeptCd.getValue();
 		
-		popupLib.open("comDptAllPop", "/ux/com/pop/comDptAllPop.xml", {
+		popupLib.open("CW09010001P", "/ux/cw/cw0901/CW09010001P.xml", {
 			title: "소속 정보",
 			useLayer: true,     //레어어팝업여부
 			modal: true,        //모달팝업