Files
wace_plm/src/com/pms/mapper/common.xml

3320 lines
96 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="common">
<!-- //파일 정보 DB저장 -->
<insert id="insertUploadFileInfo" parameterType="map">
INSERT INTO ATTACH_FILE_INFO(
OBJID
, TARGET_OBJID
, PARENT_TARGET_OBJID
, SAVED_FILE_NAME
, REAL_FILE_NAME
, DOC_TYPE
, DOC_TYPE_NAME
, FILE_SIZE
, FILE_EXT
, FILE_PATH
, WRITER
, REGDATE
, STATUS
) VALUES (
${objId}::integer
, #{targetObjId}
, #{parentTargetObjId}
, #{savedFileName}
, #{realFileName}
, #{docType}
, #{docTypeName}
, ${fileSize}
, #{fileExt}
, #{filePath}
, #{writer}
, now()
, 'Active'
)
</insert>
<!-- //파일목록 조회 -->
<select id="getObjIdFileList" resultType="map" parameterType="map">
SELECT OBJID
, TARGET_OBJID
, PARENT_TARGET_OBJID
, SAVED_FILE_NAME
, REAL_FILE_NAME
, DOC_TYPE
, DOC_TYPE_NAME
, FILE_SIZE
, FILE_EXT
, UPPER(FILE_EXT) UPPER_FILE_EXT
, REPLACE(FILE_PATH, '\', '\\') AS FILE_PATH
, WRITER
, (SELECT USER_NAME FROM USER_INFO USER_INFO_T WHERE USER_INFO_T.USER_ID = WRITER) AS USER_NAME
, (SELECT DEPT_NAME FROM USER_INFO USER_INFO_T WHERE USER_INFO_T.USER_ID = WRITER) AS DEPT_NAME
, TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE
, REGDATE AS REGDATE_ORG
, STATUS
FROM ATTACH_FILE_INFO
WHERE 1=1
AND OBJID = ${ObjId}
<if test="docType != null and !''.equals(docType)">
AND DOC_TYPE = #{docType}
</if>
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY REGDATE_ORG DESC
</select>
<!-- //사용자 간편 목록 조회 -->
<select id="getPostUseUserInfo" resultType="map" parameterType="map">
SELECT * FROM USER_INFO WHERE 1=1 AND USER_ID = #{writer}
</select>
<!-- //파일목록 조회 -->
<select id="getFileList" resultType="map" parameterType="map">
SELECT OBJID
, TARGET_OBJID
, PARENT_TARGET_OBJID
, SAVED_FILE_NAME
, REAL_FILE_NAME
, DOC_TYPE
, DOC_TYPE_NAME
, FILE_SIZE
, FILE_EXT
, UPPER(FILE_EXT) UPPER_FILE_EXT
, REPLACE(FILE_PATH, '\', '\\') AS FILE_PATH
, WRITER
, (SELECT USER_NAME FROM USER_INFO USER_INFO_T WHERE USER_INFO_T.USER_ID = WRITER) AS USER_NAME
, (SELECT DEPT_NAME FROM USER_INFO USER_INFO_T WHERE USER_INFO_T.USER_ID = WRITER) AS DEPT_NAME
, TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE
, REGDATE AS REGDATE_ORG
, STATUS
FROM ATTACH_FILE_INFO
WHERE 1=1
<if test="(targetObjId == null or ''.equals(targetObjId)) and (parentTargetObjId == null or ''.equals(parentTargetObjId))">
AND 1=2
</if>
<if test="targetObjId != null and !''.equals(targetObjId)">
AND TARGET_OBJID = #{targetObjId}
</if>
<if test="parentTargetObjId != null and !''.equals(parentTargetObjId)">
AND PARENT_TARGET_OBJID = #{parentTargetObjId}
</if>
<if test="docType != null and !''.equals(docType)">
AND DOC_TYPE = #{docType}
</if>
<!-- 일괄다운로드시 여러 DOC_TYPE 조회 시 사용 -->
<if test="docTypeList != null and docTypeList.size != 0">
AND DOC_TYPE IN
<foreach collection="docTypeList" item="docType" index="index" separator="," open="(" close=")">
#{docType}
</foreach>
</if>
<!-- //date search -->
<if test="search_fromDate != null and !''.equals(search_fromDate)">
AND REGDATE <![CDATA[ >= ]]> TO_DATE(#{search_fromDate}, 'YYYY-MM-DD')
</if>
<if test="search_toDate != null and !''.equals(search_toDate)">
AND REGDATE <![CDATA[ <= ]]> last_day(TO_DATE(#{search_toDate}, 'YYYY-MM-DD'))
</if>
<!-- //금형이관 인수인계서는 파일명이 part no로 되어있음 -->
<if test="partNo != null and !''.equals(partNo)">
AND UPPER(REAL_FILE_NAME) LIKE UPPER('%${partNo}%')
</if>
<if test="fileSizeNot0 != null and !''.equals(fileSizeNot0)">
AND FILE_SIZE > 0
</if>
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY REGDATE_ORG DESC
</select>
<!-- //파일목록 조회 -->
<select id="getApprovalLine" resultType="map" parameterType="map">
select
USER_NAME(T1.WRITER) as WRITER,
to_char(T1.REGDATE, 'YYYY-MM-DD') as REGDATE,
USER_NAME(T2.TARGET_USER_ID) TARGET_USER_NAME,
to_char(T2.PROC_DATE, 'YYYY-MM-DD') as PROC_DATE,
T1.STATUS,
T2.STATUS
from
APPROVAL T,
ROUTE T1,
<!-- 반려 or 결재완료 조회 처리 240307 -->
( SELECT T1.*
FROM ( SELECT TARGET_OBJID
,MAX(T.ROUTE_SEQ) AS ROUTE_SEQ
FROM ROUTE T
WHERE T.TARGET_OBJID = #{objId}::INTEGER
GROUP BY T.TARGET_OBJID
) T
,ROUTE T1
WHERE T.TARGET_OBJID = T1.TARGET_OBJID
AND T.ROUTE_SEQ = T1.ROUTE_SEQ
) B,
INBOXTASK T2
where T.OBJID = B.APPROVAL_OBJID
AND T.OBJID = T1.APPROVAL_OBJID
<!--
and T.TARGET_OBJID = #{objId}::integer
240201 동시발주 동시결재 때문에 위 조건에서 아래로 변경
-->
and ( T.TARGET_OBJID = #{objId}::INTEGER
OR T.OBJID IN (SELECT APPROVAL_OBJID FROM APPROVAL_TARGET AT WHERE AT.TARGET_OBJID = #{objId}::INTEGER)
)
and T1.OBJID = T2.ROUTE_OBJID
order by
T1.REGDATE,
T2.SEQ asc
</select>
<!-- <select id="getApprovalLine" resultType="map" parameterType="map">
SELECT
USER_NAME(T1.WRITER) AS WRITER
,TO_CHAR(T1.REGDATE,'YYYY-MM-DD') AS REGDATE
,USER_NAME(T2.TARGET_USER_ID) TARGET_USER_NAME
,TO_CHAR(T2.PROC_DATE,'YYYY-MM-DD') AS PROC_DATE
FROM APPROVAL T,ROUTE T1 ,INBOXTASK T2
WHERE T.OBJID = T1.APPROVAL_OBJID
AND T.TARGET_OBJID=#{objId}
AND T1.STATUS!='reject'
AND T1.OBJID = T2.ROUTE_OBJID
ORDER BY T1.REGDATE,T2.SEQ ASC
</select> -->
<!-- //파일목록 조회 -->
<select id="getFilesList" resultType="map" parameterType="map">
SELECT OBJID
, TARGET_OBJID
, SAVED_FILE_NAME
, REAL_FILE_NAME
, DOC_TYPE
, DOC_TYPE_NAME
, FILE_SIZE
, FILE_EXT
, UPPER(FILE_EXT) UPPER_FILE_EXT
, REPLACE(FILE_PATH, '\', '\\') AS FILE_PATH
, WRITER
, (SELECT USER_NAME FROM USER_INFO USER_INFO_T WHERE USER_INFO_T.USER_ID = WRITER) AS USER_NAME
, (SELECT DEPT_NAME FROM USER_INFO USER_INFO_T WHERE USER_INFO_T.USER_ID = WRITER) AS DEPT_NAME
, TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE
, REGDATE AS REGDATE_ORG
, STATUS
FROM ATTACH_FILE_INFO
WHERE 1=1
AND TARGET_OBJID IN
<foreach collection="objIdsarr" item="objkey" index="index" separator="," open="(" close=")">
#{objkey}
</foreach>
<if test="docType != null and !''.equals(docType)">
AND DOC_TYPE = #{docType}
</if>
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY REGDATE_ORG DESC
</select>
<select id="getSupCdList" resultType="map" parameterType="map">
SELECT
OBJID AS CODE_ID
,SUPPLY_CODE
,SUPPLY_NAME AS CODE_NAME
,REG_NO
,SUPPLY_ADDRESS
,SUPPLY_BUSNAME
,SUPPLY_STOCKNAME
,SUPPLY_TEL_NO
,SUPPLY_FAX_NO
,CHARGE_USER_NAME
,PAYMENT_METHOD
,REG_ID
,REG_DATE
,STATUS
FROM SUPPLY_MNG T
WHERE SUPPLY_CODE = #{codeId}
ORDER BY T.SUPPLY_CODE
</select>
<!-- //코드목록조회 -->
<select id="getCodeList" resultType="map" parameterType="map">
SELECT
OBJID
,CODE_ID
,PARENT_CODE_ID
,CODE_NAME
,ID
,CODE_CD
,EXT_VAL
,WRITER
,(
SELECT
CASE
WHEN USER_NAME = NULL THEN '정보없음'
ELSE USER_NAME
END
FROM
USER_INFO
WHERE USER_ID = T.WRITER
) USER_NAME
,TO_CHAR(REGDATE,'YYYY-MM-DD') REGDATE
,REGDATE
,CASE STATUS
WHEN 'active' THEN '활성화'
ELSE '비활성화'
END AS STATUS
FROM COMM_CODE T
WHERE 1=1
AND PARENT_CODE_ID = #{codeId}
</select>
<select id="getCodeList2" resultType="map" parameterType="map">
SELECT
OBJID
,CODE_ID
,PARENT_CODE_ID
,CODE_NAME
,ID
,CODE_CD
,EXT_VAL
,WRITER
,(SELECT CASE WHEN USER_NAME = NULL THEN '정보없음' ELSE USER_NAME END FROM USER_INFO WHERE USER_ID = T.WRITER) USER_NAME
,TO_CHAR(REGDATE,'YYYY-MM-DD') REGDATE
,REGDATE
<!-- ,DECODE(STATUS,'active','활성화','비활성화') as STATUS -->
,CASE STATUS
WHEN 'active' THEN '활성화'
ELSE '비활성화'
END STATUS
FROM COMM_CODE T
WHERE 1=1
<if test="parentCodeId !=null and parentCodeId != '' ">
AND PARENT_CODE_ID = #{parentCodeId}
</if>
<if test="id !=null and id != '' ">
AND ID = #{id}
</if>
<if test="codeCd !=null and codeCd != '' ">
AND CODE_CD = #{codeCd}
</if>
<if test="extVal !=null and extVal != '' ">
AND EXT_VAL = #{extVal}
</if>
<if test="connectByParentCodeId !=null and connectByParentCodeId != '' ">
START WITH PARENT_CODE_ID = #{connectByParentCodeId}
CONNECT BY PRIOR CODE_ID = PARENT_CODE_ID
ORDER SIBLINGS BY CODE_ID
</if>
</select>
<!-- //파일목록 조회(변환용) -->
<select id="getFileListForConvert" resultType="map" parameterType="map">
SELECT OBJID
, TARGET_OBJID
, SAVED_FILE_NAME
, REAL_FILE_NAME
, DOC_TYPE
, DOC_TYPE_NAME
, FILE_SIZE
, FILE_EXT
, UPPER(FILE_EXT) UPPER_FILE_EXT
, REPLACE(FILE_PATH, '\', '\\') AS FILE_PATH
, FILE_PATH AS FILE_PATH_ORG
, WRITER
, TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE
, REGDATE AS REGDATE_ORG
, STATUS
FROM ATTACH_FILE_INFO
WHERE 1=1
AND TARGET_OBJID = #{targetObjId}
<if test="docType != null and !''.equals(docType)">
AND DOC_TYPE = #{docType}
</if>
<!-- 일괄다운로드시 여러 DOC_TYPE 조회 시 사용 -->
<if test="docTypeList != null and docTypeList.size != 0">
AND DOC_TYPE IN
<foreach collection="docTypeList" item="docType" index="index" separator="," open="(" close=")">
#{docType}
</foreach>
</if>
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY REGDATE_ORG DESC
</select>
<!-- //파일삭제 (논리적삭제, status : Deleted) -->
<update id="deleteFileInfo_logical" parameterType="map">
UPDATE ATTACH_FILE_INFO SET STATUS = 'Deleted' WHERE 1=1
<if test="(objId == null or ''.equals(objId)) and (targetObjId == null or ''.equals(targetObjId))">
AND 1=2
</if>
<if test="objId != null and !''.equals(objId)">
AND OBJID = ${objId}
</if>
<if test="targetObjId != null and !''.equals(targetObjId)">
AND TARGET_OBJID = #{targetObjId}
</if>
<if test="docType != null and !''.equals(docType)">
AND DOC_TYPE = #{docType}
</if>
</update>
<!-- //파일삭제 (물리적삭제) -->
<update id="deleteFileInfo_physical" parameterType="map">
DELETE FROM ATTACH_FILE_INFO WHERE 1=1
<if test="objId != null and !''.equals(objId)">
AND OBJID = ${objId}
</if>
<if test="targetObjId != null and !''.equals(targetObjId)">
AND TARGET_OBJID = #{targetObjId}
</if>
<if test="docType != null and !''.equals(docType)">
AND DOC_TYPE = #{docType}
</if>
</update>
<!-- //파일 정보 조회 -->
<select id="getFileInfo" parameterType="map" resultType="map">
SELECT OBJID
, TARGET_OBJID
, SAVED_FILE_NAME
, REAL_FILE_NAME
, DOC_TYPE
, DOC_TYPE_NAME
, FILE_SIZE
, FILE_EXT
, replace(FILE_PATH, '\', '\\') as file_path
, WRITER
, TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE
, REGDATE AS REGDATE_ORG
, STATUS
FROM ATTACH_FILE_INFO
WHERE 1=1
AND OBJID = ${objId}
</select>
<!-- //OEM정보 조회(콤보박스용) -->
<select id="getOEMList" parameterType="map" resultType="map">
SELECT OBJID
, OEM_CODE
, OEM_NAME
FROM OEM_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
<if test="search_oemCode != null and !''.equals(search_oemCode)">
AND OEM_CODE = #{search_oemCode}
</if>
<if test="search_oemName != null and !''.equals(search_oemName)">
AND OEM_NAME = #{search_oemName}
</if>
ORDER BY OEM_NAME
</select>
<!-- Part 정보조회(ajax, 콤보박스용) -->
<select id="getPartMngList" parameterType="map" resultType="map">
SELECT
T.*,
ROW_NUMBER() OVER(ORDER BY REG_DATE DESC) RNUM
FROM(
SELECT
T.*
,(SELECT O.CODE_NAME FROM COMM_CODE O WHERE O.CODE_ID = T.PRODUCT_GROUP AND O.PARENT_CODE_ID = #{PRODUCT_GROUP_CODE}) AS PRODUCT_GROUP_TITLE
,(SELECT O.CODE_NAME FROM COMM_CODE O WHERE O.CODE_ID = T.PRODUCT AND O.PARENT_CODE_ID = T.PRODUCT_GROUP) AS PRODUCT_TITLE
,(SELECT O.CODE_NAME FROM COMM_CODE O WHERE O.CODE_ID = T.MATERIAL AND O.PARENT_CODE_ID = #{MATERIAL_CODE}) AS MATERIAL_TITLE
,(SELECT O.CODE_NAME FROM COMM_CODE O WHERE O.CODE_ID = T.SPEC_NO AND O.PARENT_CODE_ID = #{SPEC_NO_CODE}) AS SPEC_NO_TITLE
,(SELECT O.CODE_NAME FROM COMM_CODE O WHERE O.CODE_ID = T.DESIGN_APPLY_POINT AND O.PARENT_CODE_ID = #{DESIGN_APPLY_POINT_CODE}) AS DESIGN_APPLY_POINT_TITLE
,(SELECT OEM_CODE FROM OEM_MNG WHERE OBJID = COALESCE(T.CUSTOMER,'0')::NUMERIC) AS CUSTOMER_TITLE
,(SELECT CAR_CODE||'{'||CAR_NAME||'}' FROM CAR_MNG WHERE OBJID = COALESCE(T.CAR_TYPE,'0')::NUMERIC) AS CAR_TYPE_TITLE
FROM
<include refid="partMng.partMngBase"/> T
) T
where 1=1
<if test="search_customer != null and search_customer != ''">
AND CUSTOMER = #{search_customer}
</if>
<if test="search_material != null and search_material != ''">
AND MATERIAL = #{search_material}
</if>
<!-- EO 기능 말들고 추가 필요 -->
<if test="search_eo != null and search_eo != ''">
AND UPPER(EO_NO) LIKE UPPER('%${search_eo}%')
</if>
<if test="search_except_eo != null and search_except_eo != ''">
AND EO != #{search_except_eo}
AND (EO IS NULL OR EO = '' OR EO = '0')
</if>
<if test="search_eo_date_from != null and search_eo_date_from != ''">
AND EO_DATE <![CDATA[ >= ]]> #{search_eo_date_from}::TIMESTAMP
</if>
<if test="search_eo_date_to != null and search_eo_date_to != ''">
AND EO_DATE <![CDATA[ <= ]]> #{search_eo_date_to}::TIMESTAMP
</if>
<if test="search_car_type != null and search_car_type != ''">
AND CAR_TYPE = #{search_car_type}
</if>
<if test="search_product_group != null and search_product_group != ''">
AND PRODUCT_GROUP = #{search_product_group}
</if>
<if test="search_product != null and search_product != ''">
AND PRODUCT = #{search_product}
</if>
<if test="search_part_no != null and search_part_no != ''">
AND UPPER(PART_NO) LIKE UPPER('%${search_part_no}%')
</if>
<if test="search_exist_part_no != null and search_exist_part_no != ''">
AND PART_NO = #{search_exist_part_no}
</if>
<if test="search_not_exist_part_no != null and search_not_exist_part_no != ''">
AND PART_NO != #{search_not_exist_part_no}
</if>
<if test="search_part_name != null and search_part_name != ''">
AND UPPER(PART_NAME) LIKE UPPER('%${search_part_name}%')
</if>
<if test="search_mold_dev != null and search_mold_dev != ''">
AND UPPER(search_mold_dev) LIKE UPPER('%${search_mold_dev}%')
</if>
<if test="search_surface_treatment != null and search_surface_treatment != ''">
AND UPPER(search_surface_treatment) LIKE UPPER('%${search_surface_treatment}%')
</if>
<if test="search_writer != null and search_writer != ''">
AND WRITER = #{search_writer}
</if>
<if test="IS_LAST != null and IS_LAST != ''">
AND IS_LAST = #{IS_LAST}
</if>
<if test="STATUS != null and STATUS != ''">
AND STATUS = #{STATUS}
</if>
</select>
<!-- //차종정보 조회(콤보박스용) -->
<select id="getCarTypeList" parameterType="map" resultType="map">
SELECT OBJID
, (SELECT OEM_CODE FROM OEM_MNG WHERE OBJID = CAR_MNG.OEM_OBJID) AS OEM_CODE
<!-- , (SELECT GRADE_NAME FROM CAR_GRADE_MNG WHERE OBJID = CAR_MNG.GRADE_OBJID) AS GRADE_NAME -->
, CAR_CODE
, MODEL_CODE
, CAR_NAME
, DESCRIPTION
, OEM_OBJID
FROM CAR_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
<if test="search_oemCode != null and !''.equals(search_oemCode)">
AND OEM_OBJID = (SELECT OBJID FROM OEM_MNG WHERE OEM_CODE = #{search_oemCode} AND UPPER(STATUS) = 'ACTIVE')
</if>
<if test="search_oemName != null and !''.equals(search_oemName)">
AND OEM_OBJID = (SELECT OBJID FROM OEM_MNG WHERE OEM_NAME = #{search_oemName} AND UPPER(STATUS) = 'ACTIVE')
</if>
<if test="search_oemObjId != null and !''.equals(search_oemObjId)">
AND OEM_OBJID = ${search_oemObjId}
</if>
<if test="search_carCode != null and !''.equals(search_carCode)">
AND CAR_CODE = #{search_carCode}
</if>
<if test="search_carName != null and !''.equals(search_carName)">
AND CAR_NAME = #{search_carName}
</if>
ORDER BY CAR_NAME, CAR_CODE
</select>
<!-- 프로젝트 기준 차종정보 조회(ajax, 콤보박스용) -->
<select id="getProjectBaseCarTypeList" parameterType="map" resultType="map">
SELECT OBJID
, (SELECT OEM_CODE FROM OEM_MNG WHERE OBJID = CAR.OEM_OBJID) AS OEM_CODE
, (SELECT GRADE_NAME FROM CAR_GRADE_MNG WHERE OBJID = CAR.GRADE_OBJID) AS GRADE_NAME
, CAR_CODE
, MODEL_CODE
, CAR_NAME
, DESCRIPTION
, OEM_OBJID
FROM CAR_MNG CAR
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
AND EXISTS(
SELECT * FROM PMS_PJT_INFO PJT WHERE UPPER(STATUS) = 'CONFIRM' AND CAR.OBJID = PJT.CAR_OBJID
)
<if test="search_oemCode != null and !''.equals(search_oemCode)">
AND OEM_OBJID = (SELECT OBJID FROM OEM_MNG WHERE OEM_CODE = #{search_oemCode} AND UPPER(STATUS) = 'ACTIVE')
</if>
<if test="search_oemName != null and !''.equals(search_oemName)">
AND OEM_OBJID = (SELECT OBJID FROM OEM_MNG WHERE OEM_NAME = #{search_oemName} AND UPPER(STATUS) = 'ACTIVE')
</if>
<if test="search_oemObjId != null and !''.equals(search_oemObjId)">
AND OEM_OBJID = ${search_oemObjId}
</if>
<if test="search_carCode != null and !''.equals(search_carCode)">
AND CAR_CODE = #{search_carCode}
</if>
<if test="search_carName != null and !''.equals(search_carName)">
AND CAR_NAME = #{search_carName}
</if>
ORDER BY CAR_NAME, CAR_CODE
</select>
<!-- //제품군 조회(콤보박스용) -->
<select id="getProductGroupList" parameterType="map" resultType="map">
SELECT OBJID
, CODE_NAME PRODUCT_GROUP_NAME
, '' DESCRIPTION
FROM COMM_CODE
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
AND PARENT_CODE_ID = '0005116'
ORDER BY PRODUCT_GROUP_NAME
</select>
<!-- //제품 조회(콤보박스용) -->
<select id="getProductList" parameterType="map" resultType="map">
SELECT COMM_CODE.OBJID
, COMM_GROUP.OBJID PRODUCT_GROUP_OBJID
, COMM_CODE.CODE_ID PRODUCT_CODE
, COMM_CODE.CODE_NAME PRODUCT_NAME
, '' PRODUCT_DESC
FROM COMM_CODE
INNER JOIN (
SELECT OBJID
, CODE_ID
FROM COMM_CODE
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
AND PARENT_CODE_ID = '0005116'
<if test="search_productGroupObjId != null and !''.equals(search_productGroupObjId) and search_productGroupObjId != 'undefined'">
AND OBJID = ${search_productGroupObjId}
</if>
<if test="search_productGroupName != null and !''.equals(search_productGroupName) and search_productGroupName != 'undefined'">
AND CODE_NAME = #{search_productGroupName}
</if>
) COMM_GROUP ON PARENT_CODE_ID = COMM_GROUP.CODE_ID
ORDER BY PRODUCT_NAME
</select>
<!-- //지역사양 조회(콤보박스용) -->
<select id="getRegionList" parameterType="map" resultType="map">
SELECT OBJID
, REGION_NAME
, DESCRIPTION
FROM REGION_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY REGION_NAME
</select>
<!-- //사원 목록 조회 -->
<select id="getUserList" parameterType="map" resultType="map">
SELECT
SABUN
, USER_ID
, USER_ID AS CODE
, USER_NAME
, USER_NAME AS NAME
, USER_NAME_ENG
, USER_NAME_CN
, DEPT_CODE
, DEPT_NAME
, POSITION_CODE
, POSITION_NAME
, RANK
, EMAIL
, TEL
, CELL_PHONE
, USER_TYPE
, USER_TYPE_NAME
, DATA_TYPE
, FAX_NO
FROM USER_INFO
WHERE 1=1
AND STATUS = 'active'
<choose>
<when test='search_user_type == null or "".equals(search_user_type) '>
AND NVL(partner_objid, '') = ''
</when>
<when test='search_user_type != null and "A".equals(search_user_type) '>
</when>
<when test='search_user_type != null and "U".equals(search_user_type) '>
AND NVL(partner_objid, '') = ''
</when>
<when test='search_user_type != null and "P".equals(search_user_type) '>
AND NVL(partner_objid, '') != ''
</when>
<otherwise>
</otherwise>
</choose>
<if test="search_userId != null and !''.equals(search_userId)">
AND UPPER(USER_ID) LIKE UPPER('%${search_userId}%')
</if>
<if test="search_userName != null and !''.equals(search_userName)">
AND UPPER(USER_NAME) LIKE UPPER('%${search_userName}%')
</if>
<if test="search_userNameEng != null and !''.equals(search_userNameEng)">
AND UPPER(USER_NAME_ENG) LIKE UPPER('%${search_userNameEng}%')
</if>
<if test="search_userNameCn != null and !''.equals(search_userNameCn)">
AND UPPER(USER_NAME_CN) LIKE UPPER('%${search_userNameCn}%')
</if>
<if test="search_deptCode != null and !''.equals(search_deptCode)">
AND UPPER(DEPT_CODE) LIKE UPPER('%${search_deptCode}%')
</if>
<if test="search_deptName != null and !''.equals(search_deptName)">
AND UPPER(DEPT_NAME) LIKE UPPER('%${search_deptName}%')
</if>
<if test="search_positionCode != null and !''.equals(search_positionCode)">
AND UPPER(POSITION_CODE) LIKE UPPER('%${search_positionCode}%')
</if>
<if test="search_positionName != null and !''.equals(search_positionName)">
AND UPPER(POSITION_NAME) LIKE UPPER('%${search_positionName}%')
</if>
<if test="search_email != null and !''.equals(search_email)">
AND UPPER(EMAIL) LIKE UPPER('%${search_email}%')
</if>
<if test="search_tel != null and !''.equals(search_tel)">
AND UPPER(TEL) LIKE UPPER('%${search_tel}%')
</if>
<if test="search_cellPhone != null and !''.equals(search_cellPhone)">
AND UPPER(CELL_PHONE) LIKE UPPER('%${search_cellPhone}%')
</if>
<if test="search_userTypeName != null and !''.equals(search_userTypeName)">
AND UPPER(USER_TYPE_NAME) LIKE UPPER('%${search_userTypeName}%')
</if>
<if test="search_dataType != null and !''.equals(search_dataType)">
AND UPPER(DATA_TYPE) LIKE UPPER('%${search_dataType}%')
</if>
ORDER BY DEPT_NAME ASC, USER_TYPE_NAME ASC, USER_NAME ASC, DEPT_CODE ASC
</select>
<!-- //재질 조회(콤보박스용) -->
<select id="getMaterialList" parameterType="map" resultType="map">
SELECT OBJID,
MATERIAL_NAME,
WRITER,
REGDATE,
STATUS
FROM MATERIAL_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY MATERIAL_NAME
</select>
<!-- //생산공장 조회(콤보박스용) -->
<select id="getFactoryList" parameterType="map" resultType="map">
select
(ROW_NUMBER() OVER()) RNUM,
OBJID,
CODE_NAME FACTORY_NAME,
WRITER,
REGDATE,
STATUS
from
comm_code
where
1 = 1
and UPPER(STATUS) = 'ACTIVE'
and parent_code_id = 'SPE90000'
order by
RNUM
</select>
<!-- //라인설치장소 조회(콤보박스용) -->
<select id="getLineAreaList" parameterType="map" resultType="map">
SELECT (ROW_NUMBER() OVER()) RNUM,
OBJID,
CODE_NAME AREA_NAME,
WRITER,
REGDATE,
STATUS
FROM comm_code
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
and parent_code_id='0005150'
ORDER BY RNUM
</select>
<!-- //GRADE 조회(콤보박스용) -->
<select id="getCarGrade" parameterType="map" resultType="map">
SELECT
OBJID::varchar
,'' AS DESCRIPTION
,CODE_ID AS GRADE_CODE
,CODE_NAME AS GRADE_NAME
,REGDATE
,STATUS
,WRITER
FROM COMM_CODE
WHERE UPPER(STATUS) = 'ACTIVE'
AND PARENT_CODE_ID='0005132'
ORDER BY GRADE_NAME
</select>
<!-- //자재유형 조회(콤보박스용) -->
<select id="getMaterialTypeList" parameterType="map" resultType="map">
SELECT OBJID,
MATERIAL_TYPE_NAME,
WRITER,
REGDATE,
STATUS
FROM MATERIAL_TYPE_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY MATERIAL_TYPE_NAME
</select>
<!-- //사양(option) 조회(콤보박스용) -->
<select id="getOptionSpecList" parameterType="map" resultType="map">
SELECT OBJID,
OPTION_NAME,
DESCRIPTION,
WRITER,
REGDATE,
STATUS
FROM OPTION_SPEC_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY OPTION_NAME
</select>
<!--MS SPEC 조회(콤보박스용) -->
<select id="getSPECList" parameterType="map" resultType="map">
SELECT OBJID,
CATEGORY_OBJID,
(SELECT CATEGORY_NAME FROM STANDARD_DOC_CATEGORY WHERE OBJID = CATEGORY_OBJID) AS CATEGORY_NAME,
DOC_NO,
DOC_NAME,
PRODUCT_GROUP_OBJID,
PRODUCT_OBJID,
CAR_OBJID,
COMPATITION_CAR_NAME,
STANDARD_NAME,
DESCRIPTION,
CHANGE_HISTORY,
STEP,
REV,
ESTABLISH_DATE,
REVISION_DATE,
IS_LAST,
WRITER,
REGDATE,
STATUS,
GRADE_OBJID,
COMPANY_OBJID,
SPEC_NO,
COMPETE_COMPANY_OBJID,
OEM_OBJID
FROM STANDARD_DOC_INFO
WHERE CATEGORY_OBJID IN(
SELECT OBJID
FROM STANDARD_DOC_CATEGORY T
WHERE PARENT_OBJID = (SELECT OBJID FROM STANDARD_DOC_CATEGORY WHERE UPPER(CATEGORY_NAME) = 'SPEC')
<if test="search_categoryName != null and !''.equals(search_categoryName)">
AND UPPER(CATEGORY_NAME) LIKE UPPER('%${search_categoryName}%')
</if>
AND UPPER(STATUS) = 'ACTIVE'
)
AND IS_LAST = '1'
ORDER BY REGDATE DESC
</select>
<!-- 설계적용시점 조회(콤보박스용) -->
<select id="getApplyPointList" parameterType="map" resultType="map">
SELECT OBJID,
APPLY_POINT_NAME,
DESCRIPTION,
WRITER,
REGDATE,
STATUS
FROM APPLY_POINT_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY APPLY_POINT_NAME
</select>
<!-- //file download log -->
<insert id="insertFileDownloadLog" parameterType="map">
INSERT INTO FILE_DOWN_LOG(
OBJID
, LOG_TIME
, SYSTEM_NAME
, USER_ID
, FILE_OBJID
, REMOTE_ADDR
) VALUES (
#{objId}::integer
, now()
, #{systemName}
, #{userId}
, #{fileObjId}::integer
, #{remoteAddr}
)
</insert>
<!-- //메뉴 path -->
<select id="getMenuPath" resultType="map" parameterType="map">
SELECT OBJID, REPLACE(SYS_CONNECT_BY_PATH(MENU_NAME_KOR, ' > '), '> 사용자 > ', '') AS PATH
FROM MENU_INFO
WHERE 1=1
AND OBJID = #{menuObjId}
START WITH PARENT_OBJ_ID = 0
CONNECT BY PRIOR OBJID = PARENT_OBJ_ID
ORDER SIBLINGS BY SEQ
</select>
<!-- //변환된 CadFile에 대한 정보를 입력 혹은 수정한다. -->
<update id="mergeTranslateCadFileInfo" parameterType="map">
MERGE INTO ATTACH_FILE_INFO
USING DUAL
ON (TARGET_OBJID = #{targetObjId} AND DOC_TYPE = #{docType})
WHEN MATCHED THEN
UPDATE SET REGDATE = SYSDATE, WRITER = #{writer}
WHEN NOT MATCHED THEN
INSERT (OBJID, TARGET_OBJID, SAVED_FILE_NAME, REAL_FILE_NAME, DOC_TYPE, DOC_TYPE_NAME, FILE_EXT, FILE_PATH, WRITER, REGDATE, STATUS) VALUES (
#{objId}
, #{targetObjId}
, #{savedFileName}
, #{realFileName}
, #{docType}
, #{docTypeName}
, #{fileExt}
, #{filePath}
, #{writer}
, SYSDATE
, 'Active'
)
</update>
<!-- //milestone 목록 조회 -->
<select id="getMilestoneList" parameterType="map" resultType="map">
SELECT OBJID
, SEQ
, OEM_OBJID
, MILESTONE_NAME
, STATUS
FROM OEM_MILESTONE_MNG
WHERE 1=1
<if test="search_oemObjId != null and !''.equals(search_oemObjId)">
AND OEM_OBJID = ${search_oemObjId}
</if>
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY SEQ
</select>
<select id="getTestTypeList" parameterType="map" resultType="map">
SELECT OBJID
, TEST_TYPE_NAME
FROM TEST_TYPE_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY REGDATE ASC
</select>
<!-- //Part 목록 조회 -->
<select id="getPartList" parameterType="map" resultType="map">
SELECT A.OBJID
, A.PART_NO
, A.PART_NAME
FROM PART_INFO A
WHERE 1=1
AND UPPER(A.STATUS) = 'COMPLETE'
AND A.IS_LAST = 1
<if test="search_partNo != null and !''.equals(search_partNo)">
AND UPPER(A.PART_NO) LIKE UPPER('%${search_partNo}%')
</if>
<if test="search_partName != null and !''.equals(search_partName)">
AND UPPER(A.PART_NAME) LIKE UPPER('%${search_partName}%')
</if>
</select>
<!-- //사업장 목록 조회 -->
<select id="getLocationList" parameterType="map" resultType="map">
SELECT DISTINCT USER_TYPE_NAME
FROM USER_INFO
WHERE 1=1
AND USER_TYPE_NAME IS NOT NULL
ORDER BY USER_TYPE_NAME
</select>
<!-- //설계체크리스트 대분류 조회(콤보박스용) -->
<select id="getDesignCheckListGroupList" parameterType="map" resultType="map">
SELECT OBJID
, TARGET_OBJID
, (SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = TARGET_OBJID) AS PROD_NAME
, GROUP_NAME
, SEQ
FROM DESIGN_CHECK_LIST_GROUP
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
<if test="search_productObjId != null and !''.equals(search_productObjId)">
AND TARGET_OBJID = ${search_productObjId}
</if>
<if test="search_categoryObjId != null and !''.equals(search_categoryObjId)">
AND OBJID = (SELECT GROUP_OBJID FROM DESIGN_CHECK_LIST_CATEGORY WHERE OBJID = #{search_categoryObjId})
</if>
<if test="search_productName != null and !''.equals(search_productName)">
AND TARGET_OBJID = (SELECT OBJID FROM PRODUCT_MNG WHERE PRODUCT_NAME = #{search_productName})
</if>
ORDER BY SEQ ASC
</select>
<!-- //설계체크리스트 중분류 조회(콤보박스용) -->
<select id="getDesignCheckListCategoryList" parameterType="map" resultType="map">
SELECT
OBJID,
PRODUCT_OBJID,
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = PRODUCT_OBJID) AS PROD_NAME,
GROUP_OBJID,
CATEGORY_NAME,
SEQ,
WRITER,
REGDATE,
STATUS
FROM DESIGN_CHECK_LIST_CATEGORY
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
<if test="search_productObjId != null and !''.equals(search_productObjId)">
AND PRODUCT_OBJID = ${search_productObjId}
</if>
<if test="search_productName != null and !''.equals(search_productName)">
AND PRODUCT_OBJID = (SELECT OBJID FROM PRODUCT_MNG WHERE PRODUCT_NAME = #{search_productName})
</if>
<if test="search_groupObjId != null and !''.equals(search_groupObjId)">
AND GROUP_OBJID = #{search_groupObjId}
</if>
ORDER BY SEQ ASC
</select>
<!-- //설계체크리스트 소분류 조회(콤보박스용) -->
<select id="getDesignCheckListAttributeList" parameterType="map" resultType="map">
SELECT
OBJID,
PRODUCT_OBJID,
(SELECT PRODUCT_NAME FROM PRODUCT_MNG WHERE OBJID = PRODUCT_OBJID) AS PROD_NAME,
CATEGORY_OBJID,
ATTRIBUTE_NAME,
REPLACE(CHECK_OPTION,chr(13)||chr(10), '\n') AS CHECK_OPTION,
REPLACE(CHECK_BASE,chr(13)||chr(10), '\n') AS CHECK_BASE,
SEQ,
WRITER,
REGDATE,
STATUS
FROM DESIGN_CHECK_LIST_ATTRIBUTE
WHERE 1=1
<if test="search_productObjId != null and !''.equals(search_productObjId)">
AND PRODUCT_OBJID = ${search_productObjId}
</if>
<if test="search_productName != null and !''.equals(search_productName)">
AND PRODUCT_OBJID = (SELECT OBJID FROM PRODUCT_MNG WHERE PRODUCT_NAME = #{search_productName})
</if>
<if test="search_categoryObjId != null and !''.equals(search_categoryObjId)">
AND CATEGORY_OBJID = #{search_categoryObjId}
</if>
ORDER BY SEQ ASC
</select>
<!-- //SOP일자가 가장 먼 고객사의 코드와 차종의 코드를 조회한다. -->
<select id="getCarInfoFarthestSOP" parameterType="map" resultType="map">
SELECT OBJID AS CAR_OBJID
, OEM_OBJID AS OEM_OBJID
FROM CAR_MNG
WHERE 1=1
AND OBJID = (
SELECT CAR_OBJID
FROM (
SELECT *
FROM CAR_MILESTONE_MNG
WHERE MILESTONE_OBJID = (SELECT OBJID FROM OEM_MILESTONE_MNG WHERE UPPER(MILESTONE_NAME) = 'SOP' AND ROWNUM = 1)
ORDER BY MILESTONE_DATE DESC NULLS LAST
)
WHERE ROWNUM = 1
)
</select>
<!-- //이름 순으로 가장 앞에 해당하는 제품군의 정보를 가져온다. -->
<select id="getProductGroupInfoOrderByName" parameterType="map" resultType="map">
SELECT OBJID FROM(
SELECT
OBJID,
PRODUCT_GROUP_NAME,
DESCRIPTION,
WRITER,
REGDATE,
STATUS
FROM PRODUCT_GROUP_MNG
WHERE UPPER(STATUS) = 'ACTIVE'
AND PRODUCT_GROUP_NAME NOT IN ('-')
ORDER BY PRODUCT_GROUP_NAME ASC
)WHERE ROWNUM = 1
</select>
<!-- //차종 object id를 통해 sop날짜를 구한다. -->
<select id="getSOPDate_byCarObjId" parameterType="map" resultType="map">
SELECT TO_CHAR(MILESTONE_DATE, 'YYYY-MM-DD') AS SOP
FROM CAR_MILESTONE_MNG A,
(
SELECT OBJID
FROM OEM_MILESTONE_MNG
WHERE UPPER(MILESTONE_NAME) = 'SOP'
) B
WHERE 1=1
AND A.CAR_OBJID = #{carObjId}
AND A.MILESTONE_OBJID = B.OBJID
</select>
<!-- 부서 정보를 조회한다. -->
<select id="searchDeptList" parameterType="map" resultType="map">
SELECT
DEPT_CODE
, DEPT_CODE AS CODE
, PARENT_DEPT_CODE
, DEPT_NAME
, DEPT_NAME AS NAME
, MASTER_SABUN
, MASTER_USER_ID
, LOCATION
, LOCATION_NAME
, TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE
, REGDATE AS REGDATE_ORG
FROM DEPT_INFO
WHERE 1=1
<if test="search_locationName != null and !''.equals(search_locationName)">
AND UPPER(LOCATION_NAME) LIKE UPPER('%${search_locationName}%')
</if>
<if test="search_deptName != null and !''.equals(search_deptName)">
AND UPPER(DEPT_NAME) LIKE UPPER('%${search_deptName}%')
</if>
ORDER BY LOCATION_NAME ASC, DEPT_NAME ASC
</select>
<!-- //OEM정보 조회(콤보박스용) -->
<select id="getOEMList_combo" parameterType="map" resultType="map">
SELECT OBJID
, OEM_CODE
, OEM_NAME
FROM OEM_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
<if test="search_oemCode != null and !''.equals(search_oemCode)">
AND OEM_CODE = #{search_oemCode}
</if>
<if test="search_oemName != null and !''.equals(search_oemName)">
AND OEM_NAME = #{search_oemName}
</if>
ORDER BY OEM_NAME DESC
</select>
<!-- //차종정보 조회(콤보박스용) -->
<select id="getCarTypeList_combo" parameterType="map" resultType="map">
SELECT OBJID
, (SELECT OEM_CODE FROM OEM_MNG WHERE OBJID = CAR_MNG.OEM_OBJID) AS OEM_CODE
, (SELECT GRADE_NAME FROM CAR_GRADE_MNG WHERE OBJID = CAR_MNG.GRADE_OBJID) AS GRADE_NAME
, CAR_CODE
, MODEL_CODE
, CAR_NAME
, DESCRIPTION
, OEM_OBJID
FROM CAR_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
<if test="search_oemCode != null and !''.equals(search_oemCode)">
AND OEM_OBJID = (SELECT OBJID FROM OEM_MNG WHERE OEM_CODE = #{search_oemCode} AND UPPER(STATUS) = 'ACTIVE')
</if>
<if test="search_oemName != null and !''.equals(search_oemName)">
AND OEM_OBJID = (SELECT OBJID FROM OEM_MNG WHERE OEM_NAME = #{search_oemName} AND UPPER(STATUS) = 'ACTIVE')
</if>
<if test="search_oemObjId != null and !''.equals(search_oemObjId)">
AND OEM_OBJID = ${search_oemObjId}
</if>
<if test="search_carCode != null and !''.equals(search_carCode)">
AND CAR_CODE = #{search_carCode}
</if>
<if test="search_carName != null and !''.equals(search_carName)">
AND CAR_NAME = #{search_carName}
</if>
ORDER BY CAR_NAME, CAR_CODE
</select>
<!-- //제품군 조회(콤보박스용) -->
<!-- <select id="getProductGroupList_combo" parameterType="map" resultType="map">
SELECT OBJID
, CODE_NAME PRODUCT_GROUP_NAME
, '' DESCRIPTION
FROM PRODUCT_GROUP_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
AND PARENT_CODE_ID = '0005116'
ORDER BY PRODUCT_GROUP_NAME
SELECT OBJID
, CODE_NAME PRODUCT_GROUP_NAME
, '' DESCRIPTION
FROM PRODUCT_GROUP_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
AND PARENT_CODE_ID = '0005116'
ORDER BY PRODUCT_GROUP_NAME
</select> -->
<select id="getProductGroupList_combo" parameterType="map" resultType="map">
SELECT
OBJID
,CODE_ID
,PARENT_CODE_ID
,CODE_NAME AS PRODUCT_GROUP_NAME
,'' AS DESCRIPTION
,ID
,CODE_CD
,EXT_VAL
,WRITER
,(
SELECT
CASE
WHEN USER_NAME = NULL THEN '정보없음'
ELSE USER_NAME
END
FROM
USER_INFO
WHERE USER_ID = T.WRITER
) USER_NAME
,TO_CHAR(REGDATE,'YYYY-MM-DD') REGDATE
,REGDATE
,CASE STATUS
WHEN 'active' THEN '활성화'
ELSE '비활성화'
END AS STATUS
FROM COMM_CODE T
WHERE 1=1
AND PARENT_CODE_ID = #{PRODUCT_GROUP_CODE}
</select>
<!-- //제품 조회(콤보박스용) -->
<select id="getProductList_combo" parameterType="map" resultType="map">
SELECT OBJID
, PRODUCT_GROUP_OBJID
, PRODUCT_CODE
, PRODUCT_NAME
, PRODUCT_DESC
FROM PRODUCT_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
<if test="search_productGroupObjId != null and !''.equals(search_productGroupObjId)">
AND PRODUCT_GROUP_OBJID = ${search_productGroupObjId}
</if>
<if test="search_productGroupName != null and !''.equals(search_productGroupName)">
AND PRODUCT_GROUP_OBJID = (SELECT OBJID FROM PRODUCT_GROUP_MNG WHERE PRODUCT_GROUP_NAME = #{search_productGroupName})
</if>
ORDER BY PRODUCT_NAME
</select>
<!-- //재질 조회(콤보박스용) -->
<select id="getMaterialList_combo" parameterType="map" resultType="map">
SELECT OBJID,
MATERIAL_NAME,
WRITER,
REGDATE,
STATUS
FROM MATERIAL_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY MATERIAL_NAME
</select>
<!-- //자재유형 조회(콤보박스용) -->
<select id="getMaterialTypeList_combo" parameterType="map" resultType="map">
SELECT OBJID,
MATERIAL_TYPE_NAME,
WRITER,
REGDATE,
STATUS
FROM MATERIAL_TYPE_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY MATERIAL_TYPE_NAME
</select>
<!-- //사양(option) 조회(콤보박스용) -->
<select id="getOptionSpecList_combo" parameterType="map" resultType="map">
SELECT OBJID,
OPTION_NAME,
DESCRIPTION,
WRITER,
REGDATE,
STATUS
FROM OPTION_SPEC_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY OPTION_NAME
</select>
<!-- 설계적용시점 조회(콤보박스용) -->
<select id="getApplyPointList_combo" parameterType="map" resultType="map">
SELECT OBJID,
APPLY_POINT_NAME,
DESCRIPTION,
WRITER,
REGDATE,
STATUS
FROM APPLY_POINT_MNG
WHERE 1=1
AND UPPER(STATUS) = 'ACTIVE'
ORDER BY APPLY_POINT_NAME
</select>
<!--MS SPEC 조회(콤보박스용) -->
<select id="getSPECList_combo" parameterType="map" resultType="map">
SELECT OBJID,
CATEGORY_OBJID,
(SELECT CATEGORY_NAME FROM STANDARD_DOC_CATEGORY WHERE OBJID = CATEGORY_OBJID) AS CATEGORY_NAME,
DOC_NO,
DOC_NAME,
PRODUCT_GROUP_OBJID,
PRODUCT_OBJID,
CAR_OBJID,
COMPATITION_CAR_NAME,
STANDARD_NAME,
DESCRIPTION,
CHANGE_HISTORY,
STEP,
REV,
ESTABLISH_DATE,
REVISION_DATE,
IS_LAST,
WRITER,
REGDATE,
STATUS,
GRADE_OBJID,
COMPANY_OBJID,
SPEC_NO,
COMPETE_COMPANY_OBJID,
OEM_OBJID
FROM STANDARD_DOC_INFO
WHERE CATEGORY_OBJID IN(
SELECT OBJID
FROM STANDARD_DOC_CATEGORY T
WHERE PARENT_OBJID = (SELECT OBJID FROM STANDARD_DOC_CATEGORY WHERE UPPER(CATEGORY_NAME) = 'SPEC')
<if test="search_categoryName != null and !''.equals(search_categoryName)">
AND UPPER(CATEGORY_NAME) LIKE UPPER('%${search_categoryName}%')
</if>
AND UPPER(STATUS) = 'ACTIVE'
)
AND IS_LAST = '1'
ORDER BY REGDATE DESC
</select>
<!-- //지역사양 조회(콤보박스용) -->
<select id="getRegionList_combo" parameterType="map" resultType="map">
SELECT
OBJID
,CODE_ID
,PARENT_CODE_ID
,CODE_NAME AS REGION_NAME
,'' AS DESCRIPTION
,ID
,CODE_CD
,EXT_VAL
,WRITER
,(
SELECT
CASE
WHEN USER_NAME = NULL THEN '정보없음'
ELSE USER_NAME
END
FROM
USER_INFO
WHERE USER_ID = T.WRITER
) USER_NAME
,TO_CHAR(REGDATE,'YYYY-MM-DD') REGDATE
,REGDATE
,CASE STATUS
WHEN 'active' THEN '활성화'
ELSE '비활성화'
END AS STATUS
FROM COMM_CODE T
WHERE 1=1
AND PARENT_CODE_ID = #{REGION_CODE}
</select>
<!-- 코드 조회-->
<select id="getCodeselect" parameterType="map" resultType="map">
SELECT
CODE_ID AS CODE,
CODE_NAME AS NAME,
CODE_CD,
STATUS,
ID,
EXT_VAL,
'COL_'||CODE_ID AS COL_NAME
FROM
COMM_CODE T
WHERE 1 = 1
AND UPPER(T.STATUS)= 'ACTIVE'
<choose>
<when test="code != null and !''.equals(code)">
AND PARENT_CODE_ID = #{code}
</when>
<otherwise>
AND PARENT_CODE_ID IS NULL
</otherwise>
</choose>
</select>
<!-- 코드 조회-->
<select id="getAdminCodeselect" parameterType="map" resultType="map">
WITH RECURSIVE V_CODE(
OBJID,
CODE_ID,
PARENT_CODE_ID,
CODE_NAME,
ID,
CODE_CD,
EXT_VAL,
WRITER,
REGDATE,
STATUS,
LEV,
PATH
) AS (
SELECT
CODE.*,
1,
ARRAY [CODE.CODE_ID]
FROM
COMM_CODE CODE
WHERE 1=1
<choose>
<when test="code != null and !''.equals(code)">
AND CODE.PARENT_CODE_ID = #{code}
</when>
<otherwise>
AND (CODE.PARENT_CODE_ID IS NULL OR CODE.PARENT_CODE_ID = '')
</otherwise>
</choose>
UNION ALL
SELECT
ORG_CODE.*,
LEV + 1,
PATH
FROM
COMM_CODE ORG_CODE
JOIN
V_CODE
ON
ORG_CODE.PARENT_CODE_ID = V_CODE.CODE_ID
WHERE 1=1
)
SELECT
OBJID,
CODE_ID AS CODE,
PARENT_CODE_ID,
CODE_NAME AS NAME,
ID,
CODE_CD,
EXT_VAL,
WRITER,
REGDATE,
STATUS,
LEV,
PATH
FROM
V_CODE V
WHERE 1=1
AND LEV='1'
ORDER BY
PATH,
LEV,
CODE_ID,
STATUS
</select>
<!-- <select id="getAdminCodeselect" parameterType="map" resultType="map">
SELECT
LEV
,CODE
,NAME
,CODE_CD
,STATUS
,ID
,EXT_VAL
FROM(
SELECT LEVEL AS LEV,
CODE_ID AS CODE,
CODE_NAME AS NAME,
CODE_CD,
STATUS,
ID,
EXT_VAL
FROM COMM_CODE A
<choose>
<when test="code != null and !''.equals(code)">
START WITH PARENT_CODE_ID = #{code}
</when>
<otherwise>
START WITH PARENT_CODE_ID IS NULL
</otherwise>
</choose>
CONNECT BY PRIOR CODE_ID = PARENT_CODE_ID
ORDER SIBLINGS BY CODE_ID
) T
WHERE T.LEV='1'
</select> -->
<select id="getDeptselect" parameterType="map" resultType="map">
SELECT DEPT_CODE AS CODE,
DEPT_NAME AS NAME,
DEPT_CODE AS CODE_CD,
'' AS STATUS,
'' AS ID,
'' AS EXT_VAL
FROM DEPT_INFO T
WHERE 1 = 1
</select>
<select id="getProjectNoselect" parameterType="map" resultType="map">
SELECT
T.ORDER_MGMT_OBJID::varchar AS CODE
,T1.PROJECT_NO AS NAME
,T1.PROJECT_NO AS CODE_CD
,'' AS STATUS
,'' AS ID
,'' AS EXT_VAL
FROM PROJECT_MGMT T,ORDER_MGMT T1
WHERE T.ORDER_MGMT_OBJID = T1.ORDER_MGMT_OBJID
<if test="code != null and !''.equals(code)">
AND T.ORDER_MGMT_OBJID != #{code}
</if>
ORDER BY PROJECT_NO DESC
</select>
<select id="getProjectNoselect2" parameterType="map" resultType="map">
select
T.OBJID as CODE_ID,
T.PROJECT_NO as CODE_NAME
from
PROJECT_MGMT T
where
T.RESULT_CD = '0001111'
order by
T.PROJECT_NO desc,
CODE_NAME
<!-- select
T.ORDER_MGMT_OBJID as CODE_ID,
T1.PROJECT_NO as CODE_NAME
from
PROJECT_MGMT T,
ORDER_MGMT T1
where
T.ORDER_MGMT_OBJID = T1.ORDER_MGMT_OBJID
and T1.RESULT_CD = 'RES00300'
order by
T1.PROJECT_NO desc,
CODE_NAME -->
</select>
<!-- <select id="getProjectNoselect2" parameterType="map" resultType="map">
SELECT
TO_CHAR(T.ORDER_MGMT_OBJID) AS CODE_ID
,TO_CHAR(T1.PROJECT_NO) AS CODE_NAME
FROM PROJECT_MGMT T,ORDER_MGMT T1
WHERE T.ORDER_MGMT_OBJID = T1.ORDER_MGMT_OBJID
AND T1.RESULT_CD = 'RES00300'
ORDER BY T1.PROJECT_NO DESC, CODE_NAME
</select> -->
<select id="getsupplyselect" parameterType="map" resultType="map">
SELECT * FROM (
<!-- 기존 SUPPLY_MNG 데이터 -->
SELECT
OBJID::VARCHAR AS CODE
,SUPPLY_NAME AS NAME
,SUPPLY_CODE AS CODE_ID
,SUPPLY_NAME AS CODE_NAME
,SUPPLY_CODE AS CODE_CD
,REG_NO
,CHARGE_USER_NAME
,SUPPLY_TEL_NO
,SUPPLY_FAX_NO
,PAYMENT_METHOD
,STATUS AS STATUS
,'' AS ID
,'' AS EXT_VAL
,'SUPPLY' AS DATA_SOURCE
FROM SUPPLY_MNG
WHERE 1=1
AND SUPPLY_CODE != '0000269'
<if test="SUPPLY_OBJID != null and !''.equals(SUPPLY_OBJID)">
AND OBJID::VARCHAR = #{SUPPLY_OBJID}::VARCHAR
</if>
<if test="CHARGER_TYPE != null and !''.equals(CHARGER_TYPE)">
AND CHARGER_TYPE = #{CHARGER_TYPE}
</if>
UNION ALL
<!-- CLIENT_MNG (일반거래처) 데이터 -->
SELECT
'C_' || OBJID::VARCHAR AS CODE
,CLIENT_NM AS NAME
,CLIENT_CD AS CODE_ID
,CLIENT_NM AS CODE_NAME
,CLIENT_CD AS CODE_CD
,BUS_REG_NO AS REG_NO
,CEO_NM AS CHARGE_USER_NAME
,TEL_NO AS SUPPLY_TEL_NO
,FAX_NO AS SUPPLY_FAX_NO
,PAYMENT_TERM AS PAYMENT_METHOD
,USE_YN AS STATUS
,'' AS ID
,'' AS EXT_VAL
,'CLIENT' AS DATA_SOURCE
FROM CLIENT_MNG
WHERE 1=1
<if test="SUPPLY_OBJID != null and !''.equals(SUPPLY_OBJID)">
AND ('C_' || OBJID::VARCHAR) = #{SUPPLY_OBJID}::VARCHAR
</if>
) AS COMBINED
ORDER BY NAME
</select>
<select id="getsupplyselect2" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE_ID
,SUPPLY_NAME AS CODE_NAME
,SUPPLY_CODE
,SUPPLY_NAME
,SUPPLY_CODE AS CODE_CD
,REG_NO
,CHARGE_USER_NAME
,SUPPLY_TEL_NO
,SUPPLY_FAX_NO
,PAYMENT_METHOD
,STATUS AS STATUS
,'' AS ID
,'' AS EXT_VAL
FROM SUPPLY_MNG
WHERE 1=1
<!-- AND SUPPLY_CODE != '0000269' -->
<if test="SUPPLY_OBJID != null and !''.equals(SUPPLY_OBJID)">
AND OBJID::VARCHAR = #{SUPPLY_OBJID}::VARCHAR
</if>
<if test="CHARGER_TYPE != null and !''.equals(CHARGER_TYPE)">
AND CHARGER_TYPE = #{CHARGER_TYPE}
</if>
ORDER BY CODE_NAME
</select>
<select id="getOrderNoList" parameterType="map" resultType="map">
SELECT
T.ORDER_NO AS CODE
,T.ORDER_NO AS NAME
,'' AS ID
FROM MATERIAL_MASTER_MGMT T
WHERE T.DEL_YN='N'
ORDER BY T.ORDER_NO DESC
</select>
<select id="getUserselect" parameterType="map" resultType="map">
SELECT USER_ID AS CODE,
<!-- (SELECT '[' ||O.DEPT_NAME|| ']' FROM DEPT_INFO O WHERE O.DEPT_CODE = T.DEPT_CODE) || --> USER_NAME AS NAME,
SABUN AS CODE_CD,
'' AS STATUS,
'' AS ID,
'' AS EXT_VAL
,CELL_PHONE
,DEPT_CODE
,DEPT_NAME
,POSITION_CODE
,POSITION_NAME
,RANK
,EMAIL
FROM USER_INFO T
WHERE 1 = 1
<choose>
<when test='search_user_type == null or "".equals(search_user_type) '>
AND NVL(partner_objid, '') = ''
</when>
<when test='search_user_type != null and "A".equals(search_user_type) '>
</when>
<when test='search_user_type != null and "U".equals(search_user_type) '>
AND NVL(partner_objid, '') = ''
</when>
<when test='search_user_type != null and "P".equals(search_user_type) '>
AND NVL(partner_objid, '') != ''
</when>
<otherwise>
</otherwise>
</choose>
<if test="code != null and !''.equals(code)">
AND DEPT_CODE = #{code}
</if>
AND STATUS = 'active'
ORDER BY NAME
</select>
<select id="getYear" parameterType="map" resultType="map">
<![CDATA[
SELECT TO_CHAR(TO_CHAR(SYSDATE, 'YYYY') - LEVEL + 1) AS CODE,
TO_CHAR(TO_CHAR(SYSDATE, 'YYYY') - LEVEL + 1) AS NAME,
TO_CHAR(TO_CHAR(SYSDATE, 'YYYY') - LEVEL + 1) AS CODE_CD,
'' AS STATUS,
'' AS ID,
'' AS EXT_VAL
FROM DUAL
CONNECT BY LEVEL <= ((TO_CHAR(SYSDATE, 'YYYY') + 1) - 2017)
]]>
</select>
<select id="getDeptselect2" parameterType="map" resultType="map">
SELECT
DEPT_CODE AS CODE_ID
,DEPT_NAME AS CODE_NAME
FROM DEPT_INFO
</select>
<select id="getUserselect2" parameterType="map" resultType="map">
SELECT USER_ID AS CODE_ID,
(SELECT '[' ||O.DEPT_NAME|| ']' FROM DEPT_INFO O WHERE O.DEPT_CODE = T.DEPT_CODE) || USER_NAME AS CODE_NAME,
SABUN AS CODE_CD,
T.DEPT_CODE AS DEPT_CODE_ID,
'' AS STATUS,
'' AS ID,
'' AS EXT_VAL
FROM USER_INFO T
WHERE 1 = 1
<if test="code != null and !''.equals(code)">
AND DEPT_CODE = #{code}
</if>
</select>
<select id="getUserselect3" parameterType="map" resultType="map">
SELECT USER_ID AS CODE_ID,
USER_NAME AS CODE_NAME,
SABUN AS CODE_CD,
T.DEPT_CODE AS DEPT_CODE_ID,
'' AS STATUS,
'' AS ID,
'' AS EXT_VAL
FROM USER_INFO T
WHERE 1 = 1
AND DEPT_CODE = 'FT'
ORDER BY CODE_NAME
</select>
<select id="getUserselect4" parameterType="map" resultType="map">
SELECT USER_ID AS CODE_ID,
USER_NAME AS CODE_NAME,
SABUN AS CODE_CD,
T.DEPT_CODE AS DEPT_CODE_ID,
'' AS STATUS,
'' AS ID,
'' AS EXT_VAL
FROM USER_INFO T
WHERE 1 = 1
AND DEPT_CODE IN ('MM','MF')
ORDER BY CODE_NAME
</select>
<select id="getUserselect5" parameterType="map" resultType="map">
SELECT USER_ID AS CODE_ID,
USER_NAME AS CODE_NAME,
SABUN AS CODE_CD,
T.DEPT_CODE AS DEPT_CODE_ID,
'' AS STATUS,
'' AS ID,
'' AS EXT_VAL
FROM USER_INFO T
WHERE 1 = 1
AND DEPT_CODE in('MD','EC')
ORDER BY CODE_NAME
</select>
<select id="getUserselect6" parameterType="map" resultType="map">
SELECT USER_ID AS CODE_ID,
USER_NAME AS CODE_NAME,
SABUN AS CODE_CD,
T.DEPT_CODE AS DEPT_CODE_ID,
'' AS STATUS,
'' AS ID,
'' AS EXT_VAL
FROM USER_INFO T
WHERE 1 = 1
<if test="code != null and !''.equals(code)">
AND DEPT_CODE = #{code}
</if>
ORDER BY CODE_NAME
</select>
<select id="getResult" parameterType="map" resultType="map">
SELECT
OBJID
,CODE_ID
,PARENT_CODE_ID
,CODE_NAME
,ID
,CODE_CD
,EXT_VAL
,WRITER
,TO_CHAR(REGDATE,'YYYY-MM-DD') REGDATE
,REGDATE
FROM COMM_CODE T
WHERE PARENT_CODE_ID = 'RCR10000'
</select>
<select id="selectUserViewMenuList" parameterType="map" resultType="map">
WITH RECURSIVE v_menu(
LEVEL,
MENU_TYPE,
OBJID,
PARENT_OBJ_ID,
MENU_NAME_KOR,
MENU_URL,
MENU_DESC,
SEQ,
WRITER,
REGDATE,
STATUS,
PATH,
CYCLE
) AS (
SELECT
1 AS LEVEL,
MENU_TYPE,
OBJID::numeric,
PARENT_OBJ_ID,
MENU_NAME_KOR,
MENU_URL,
MENU_DESC,
SEQ,
WRITER,
REGDATE,
STATUS,
ARRAY [MENU.OBJID],
FALSE
FROM MENU_INFO MENU
WHERE PARENT_OBJ_ID=0
AND MENU_TYPE=1
UNION ALL
SELECT
V_MENU.LEVEL+1,
MENU_SUB.MENU_TYPE,
MENU_SUB.OBJID,
MENU_SUB.PARENT_OBJ_ID,
MENU_SUB.MENU_NAME_KOR,
MENU_SUB.MENU_URL,
MENU_SUB.MENU_DESC,
MENU_SUB.SEQ,
MENU_SUB.WRITER,
MENU_SUB.REGDATE,
MENU_SUB.STATUS,
PATH||MENU_SUB.SEQ::numeric,
MENU_SUB.OBJID = ANY(PATH)
FROM MENU_INFO MENU_SUB
JOIN
V_MENU
ON
MENU_SUB.PARENT_OBJ_ID = V_MENU.OBJID
WHERE 1=1
AND UPPER(MENU_SUB.STATUS) = 'ACTIVE'
)
SELECT
LEVEL AS LEV,
case MENU_TYPE
when '0' then 'admin'
when '1' then 'user'
else ''
END AS MENU_TYPE,
OBJID,
PARENT_OBJ_ID,
MENU_NAME_KOR,
LPAD(' ', 3*(LEVEL-1))||MENU_NAME_KOR LPAD_MENU_NAME_KOR,
MENU_URL,
MENU_DESC,
SEQ,
WRITER,
TO_CHAR(REGDATE,'YYYY-MM-DD') REGDATE,
STATUS,
case UPPER(STATUS)
when 'ACTIVE' then '활성화'
when 'INACTIVE' then '비활성화'
else ''
END AS STATUS_TITLE,
B.CREATE_AUTH_CNT,
B.READ_AUTH_CNT,
B.UPDATE_AUTH_CNT,
B.DELETE_AUTH_CNT
FROM
v_menu A,
(
SELECT
B.MENU_OBJID,
SUM(CASE B.CREATE_YN WHEN 'Y' THEN 1 ELSE 0 END) CREATE_AUTH_CNT,
SUM(CASE B.READ_YN WHEN 'Y' THEN 1 ELSE 0 END) READ_AUTH_CNT,
SUM(CASE B.UPDATE_YN WHEN 'Y' THEN 1 ELSE 0 END) UPDATE_AUTH_CNT,
SUM(CASE B.DELETE_YN WHEN 'Y' THEN 1 ELSE 0 END) DELETE_AUTH_CNT
FROM
REL_MENU_AUTH B,
AUTHORITY_MASTER C
WHERE
1 = 1
AND B.AUTH_OBJID = C.OBJID
AND C.OBJID IN (
SELECT
MASTER_OBJID
FROM
AUTHORITY_SUB_USER
WHERE
USER_ID = #{userId}
)
GROUP BY
B.MENU_OBJID
) B
WHERE 1=1
AND a.objid = b.menu_objid
AND A.seq > 99
<if test="menuObjId != null and !''.equals(menuObjId)">
AND A.OBJID = #{menuObjId}::numeric
</if>
ORDER BY PATH,SEQ
</select>
<select id="getProjectNoList" parameterType="map" resultType="map">
SELECT
PMS_PJT_CONCEPT_INFO.*,
PMS_PJT_WBS_INFO.WBS_TASK_RATIO
FROM(
SELECT
A.OBJID AS CONCEPT_OBJID
, A.OBJID AS CODE_ID
, A.FOREIGN_TYPE AS FOREIGN_TYPE_ORG
, case A.FOREIGN_TYPE when 'D' then '국내'
when 'F' then '해외'
else A.FOREIGN_TYPE
end FOREIGN_TYPE
, A.OEM_OBJID
, (SELECT OEM_CODE FROM OEM_MNG WHERE OBJID = A.OEM_OBJID) AS OEM_CODE
, (SELECT OEM_NAME FROM OEM_MNG WHERE OBJID = A.OEM_OBJID) AS OEM_NAME
, A.CAR_OBJID
, (SELECT CAR_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_CODE
, (SELECT CAR_NAME FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_NAME
, (SELECT MODEL_CODE FROM CAR_MNG WHERE OBJID = A.CAR_OBJID) AS CAR_MODEL_CODE
, A.PJT_TYPE AS PJT_TYPE_ORG
, case A.PJT_TYPE when 'new' then '신차'
when 'derivative' then '파생차'
when 'sample' then '시작차'
else A.PJT_TYPE
end PJT_TYPE
, A.OEM_FACTORY
, A.IS_DEL AS CONCEPT_IS_DEL_ORG
, case A.IS_DEL || '' when '0' then '삭제됨'
when '1' then '활성화'
else A.IS_DEL || ''
end CONCEPT_IS_DEL
, A.WRITER AS CONCEPT_WRITER_USER_ID
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS CONCEPT_WRITER_DEPT_NAME
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS CONCEPT_WRITER_USER_NAME
, count(B.TARGET_OBJID) AS CONCEPT_PROD_CNT
, ( select code_name from comm_code c where c.code_id = B.PARENT_CODE_ID) as PRODUCT_GROUP_NAME
, ( select code_id from comm_code c where c.code_id = B.PARENT_CODE_ID) as PRODUCT_GROUP_OBJID
, B.ESTIMATE_NO
, B.ESTIMATE_NO AS CODE_NAME
, A.ESTIMATE_REQ_DATE AS ESTIMATE_REQ_DATE_ORG
, TO_CHAR(A.ESTIMATE_REQ_DATE, 'YYYY-MM-DD') AS ESTIMATE_REQ_DATE
, A.ESTIMATE_SUBMIT_DATE AS ESTIMATE_SUBMIT_DATE_ORG
, TO_CHAR(A.ESTIMATE_SUBMIT_DATE, 'YYYY-MM-DD') AS ESTIMATE_SUBMIT_DATE
, A.WRITER AS ESTIMATE_PIC_USER_ID
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS ESTIMATE_PIC_DEPT_NAME
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = A.WRITER) AS ESTIMATE_PIC_USER_NAME
, A.YEARLY_AVG_PRODUCTION_CNT
, A.TOTAL_PRODUCTION_CNT
, (select CODE_NAME FROM COMM_CODE WHERE PARENT_CODE_ID = '0005154' AND UPPER(STATUS) = 'ACTIVE' and objid = A.STATUS) as BIDDING_RESULT
, B.IS_DEL AS CONCEPT_PROD_IS_DEL_ORG
, case B.IS_DEL || '' when '0' then '삭제됨'
when '1' then '활성화'
else B.IS_DEL || ''
end CONCEPT_PROD_IS_DEL
, B.WRITER AS CONCEPT_PROD_WRITER_USER_ID
, (SELECT DEPT_NAME FROM USER_INFO WHERE USER_ID = B.WRITER) AS CONCEPT_PROD_WRITER_DEPT_NAME
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = B.WRITER) AS CONCEPT_PROD_WRITER_USER_NAME
, case B.STATUS when 'create' then '진행중'
when 'complete' then '완료'
else B.STATUS
end STATUS
, B.STATUS AS STATUS_ORG
, (SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = A.OBJID AND DOC_TYPE='PJT_CONCEPT_ESTIMATE_ATTACH' AND UPPER(STATUS) = 'ACTIVE') AS ESTIMATE_FILE_CNT
, (SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = A.OBJID AND DOC_TYPE='PJT_CONCEPT_SR_ATTACH' AND UPPER(STATUS) = 'ACTIVE') AS SR_FILE_CNT
, (SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = A.OBJID AND DOC_TYPE='PJT_CONCEPT_DATA_ATTACH' AND UPPER(STATUS) = 'ACTIVE') AS DATA_FILE_CNT
, (SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = A.OBJID AND DOC_TYPE='PJT_CONCEPT_COOPERATION_ATTACH' AND UPPER(STATUS) = 'ACTIVE') AS COOPERATION_FILE_CNT
, (SELECT COUNT(1) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = A.OBJID AND DOC_TYPE='PJT_CONCEPT_FINAL_ATTACH' AND UPPER(STATUS) = 'ACTIVE') AS FINAL_FILE_CNT
, (select milestone_date from PMS_REL_PJT_CONCEPT_MILESTONE where target_objid = A.OBJID and milestone_objid in (select objid from OEM_MILESTONE_MNG where milestone_name = '양산')) as MILESTONE_DATE
, (select USER_NAME || position_name from user_info where user_id = A.PM_ID) AS PM_INFO
, (select CODE_NAME from comm_code where parent_code_id = '0005150' and objid = A.OEM_FACTORY) AS OEM_FACTORY_NAME
, (select count(*) from pms_invest_cost_mng where target_objid = A.OBJID) AS invest_cnt
, (SELECT round( SUM(amount)/10000000, 2) FROM PMS_INVEST_COST_MNG WHERE TARGET_OBJID = A.OBJID) AS invest_amoumt
, (SELECT ROUND(100.0 * SUM(TASK.OK_CNT) / SUM(TASK.TASK_CNT))|| '%' as WBS_TASK_RATIO from ( select PWTI.TARGET_OBJID, case when PWTI.PM_CONFIRM_STATUS = 'ok' then 1 else 0 end OK_CNT, 1 TASK_CNT from PMS_WBS_TASK_INFO PWTI where PWTI.target_objid = '1551736239' ) TASK group by TASK.TARGET_OBJID ) AS WBS_TASK_RATIO
FROM
PMS_PJT_CONCEPT_INFO A,
(select P.*, C.PARENT_CODE_ID from PMS_REL_PJT_CONCEPT_PROD P inner join comm_code c on P.PROD_OBJID = C.objid) B
WHERE 1=1
AND A.OBJID = B.TARGET_OBJID
AND A.IS_DEL = 1
AND B.IS_DEL = 1
AND A.STATUS = (select objid from comm_code where parent_code_id = '0005154' and code_name = '수주')
group by A.OBJID, A.FOREIGN_TYPE, A.OEM_OBJID,A.car_objid , A.PJT_TYPE, A.OEM_FACTORY, A.IS_DEL, A.WRITER, B.PARENT_CODE_ID,B.ESTIMATE_NO ,
A.ESTIMATE_REQ_DATE, A.ESTIMATE_SUBMIT_DATE, B.ESTIMATE_PIC, A.YEARLY_AVG_PRODUCTION_CNT ,A.TOTAL_PRODUCTION_CNT , A.STATUS, B.IS_DEL,
B.WRITER, B.status, A.PM_ID
) PMS_PJT_CONCEPT_INFO
LEFT OUTER JOIN(
select
A.TARGET_OBJID,
ROUND(100.0 * SUM(A.OK_CNT) / SUM(A.TASK_CNT))||'%' AS WBS_TASK_RATIO
FROM(
SELECT
PWTI.TARGET_OBJID,
CASE
WHEN PWTI.PM_CONFIRM_STATUS = 'ok' THEN 1
ELSE 0
END OK_CNT,
1 TASK_CNT
FROM PMS_WBS_TASK_INFO PWTI
) A
GROUP BY TARGET_OBJID
) PMS_PJT_WBS_INFO
ON PMS_PJT_CONCEPT_INFO.CONCEPT_OBJID = PMS_PJT_WBS_INFO.TARGET_OBJID::INTEGER
</select>
<select id="getresourceList" resultType="map" parameterType="map">
SELECT
DISTINCT
T.PRODUCT_TITLE AS CODE_ID
,T1.CODE_NAME
FROM
RESOURCE_MNG T,COMM_CODE T1
WHERE T.PRODUCT_TITLE = T1.CODE_ID
AND T.RESOURCE_TITLE = T1.PARENT_CODE_ID
</select>
<select id="getStandList" resultType="map" parameterType="map">
SELECT
T.OBJID::varchar AS CODE_ID
,T.STANDARD AS CODE_NAME
,T.PRODUCT_TITLE AS PARENT_CODE_ID
,T.UNIT
,T.UNIT_TITLE
FROM RESOURCE_MNG T
</select>
<select id="resourcePrice" resultType="map" parameterType="map">
SELECT
T.UNIT_PRICE::float * T1.WEIGHT::FLOAT AS UNIT_PRICE
FROM RESOURCE_PRICE T,RESOURCE_MNG T1
WHERE T.PARENT_OBJID = T1.OBJID
AND T.PARENT_OBJID =#{objId}::integer
ORDER BY T.REGDATE DESC
LIMIT 1
</select>
<!-- //지역사양 조회(콤보박스용) -->
<select id="getConceptStatus" parameterType="map" resultType="map">
SELECT OBJID
, CODE_ID
, CODE_NAME
FROM COMM_CODE
WHERE PARENT_CODE_ID = '0005154' AND UPPER(STATUS) = 'ACTIVE'
ORDER BY CODE_ID
</select>
<!-- //PM팀 조회(콤보박스용) -->
<select id="getPmList" parameterType="map" resultType="map">
select
SABUN ,
USER_ID ,
USER_NAME
from
USER_INFO
where
DEPT_CODE = 'DEPT06' AND UPPER(STATUS)= 'ACTIVE'
</select>
<!-- 코드 조회-->
<select id="getCodeselectList" parameterType="map" resultType="map">
SELECT CODE_ID AS CODE,
CODE_NAME AS NAME,
CODE_CD,
STATUS,
ID,
EXT_VAL
FROM COMM_CODE T
WHERE 1 = 1
AND UPPER(T.STATUS)= 'ACTIVE'
AND PARENT_CODE_ID = #{code}
</select>
<select id="getProductCodeselect" parameterType="map" resultType="map">
SELECT
objid::varchar AS code
,product_code AS NAME
,product_code AS CODE_CD
,'' AS STATUS
,'' AS ID
FROM product_mgmt
ORDER BY product_code
</select>
<select id="getAsProductCodeselect" parameterType="map" resultType="map">
SELECT
product_code AS code
,product_code AS NAME
,product_code AS CODE_CD
,'' AS STATUS
,'' AS ID
FROM product_mgmt
ORDER BY product_code
</select>
<select id="getPartNoselect" parameterType="map" resultType="map">
SELECT
objid::varchar AS code
<!-- ,part_no ||'-'|| revision AS NAME -->
,CASE WHEN revision IS NULL OR revision = ''
THEN part_no
WHEN revision IS NOT NULL OR revision != ''
THEN part_no || revision
END AS name
,part_no AS CODE_CD
,'' AS STATUS
,'' AS ID
FROM part_mng
ORDER BY part_no
</select>
<select id="getProductUPGselect" parameterType="map" resultType="map">
SELECT
P.*,
(UPG_CODE ||'-'|| PRODUCT_CODE ||'-'|| VC) AS UPG_NO
FROM(
SELECT
PMUD.OBJID AS DETAIL_OBJID,
PMUD.OBJID::VARCHAR AS CODE,
PMUD.TARGET_OBJID AS MASTER_OBJID,
PMUD.UPG_NAME,
PMUD.UPG_CODE,
PMUD.UPG_NAME AS NAME,
PMUD.UPG_CODE AS CODE_CD,
PMUD.VC,
PMUD.NOTE,
PMUD.PRODUCT_OBJID,
(SELECT PRODUCT_CODE FROM PRODUCT_MGMT PM WHERE 1=1 AND PM.OBJID = PMUD.PRODUCT_OBJID) AS PRODUCT_CODE
FROM
PRODUCT_MGMT_UPG_DETAIL PMUD
WHERE VC !=''
<if test="PRODUCT_MGMT_OBJID != null and !''.equals(PRODUCT_MGMT_OBJID)">
AND PMUD.PRODUCT_OBJID = #{PRODUCT_MGMT_OBJID}::INTEGER
</if>
<if test="PRODUCT_MGMT_SPEC != null and !''.equals(PRODUCT_MGMT_SPEC)">
AND PMUD.TARGET_OBJID = #{PRODUCT_MGMT_SPEC}::INTEGER
</if>
<if test="UPG_MASTER_OBJID != null and !''.equals(UPG_MASTER_OBJID)">
AND PMUD.TARGET_OBJID = #{UPG_MASTER_OBJID}::INTEGER
</if>
<if test="UPG_DETAIL_OBJID != null and !''.equals(UPG_DETAIL_OBJID)">
AND PMUD.OBJID = #{UPG_DETAIL_OBJID}::INTEGER
</if>
) P
</select>
<select id="getProductUPGNEWselect" parameterType="map" resultType="map">
SELECT
DISTINCT
UPG_CODE ||'-'|| (SELECT PRODUCT_CODE FROM PRODUCT_MGMT PM WHERE 1=1 AND PM.OBJID = PMUD.PRODUCT_OBJID) ||'-'|| VC AS CODE
,(SELECT code_name FROM comm_code AS CC WHERE CC.EXT_VAL = PMUD.UPG_CODE) AS NAME
FROM
PRODUCT_MGMT_UPG_DETAIL PMUD
WHERE VC !=''
<if test="PRODUCT_MGMT_OBJID != null and !''.equals(PRODUCT_MGMT_OBJID)">
AND PMUD.PRODUCT_OBJID = #{PRODUCT_MGMT_OBJID}::INTEGER
</if>
<if test="PRODUCT_MGMT_SPEC != null and !''.equals(PRODUCT_MGMT_SPEC)">
AND PMUD.TARGET_OBJID = #{PRODUCT_MGMT_SPEC}::INTEGER
</if>
<if test="UPG_MASTER_OBJID != null and !''.equals(UPG_MASTER_OBJID)">
AND PMUD.TARGET_OBJID = #{UPG_MASTER_OBJID}::INTEGER
</if>
<if test="UPG_DETAIL_OBJID != null and !''.equals(UPG_DETAIL_OBJID)">
AND PMUD.OBJID = #{UPG_DETAIL_OBJID}::INTEGER
</if>
</select>
<select id="getProductUPGPARTselect" parameterType="map" resultType="map">
SELECT
OBJID::varchar
,UPG_NO
,PART_NO
,PART_NAME
,UNIT
,QTY
,SPEC
,MATERIAL
,WEIGHT
,PART_TYPE
,REMARK
FROM PART_MNG AS T
<!-- WHERE T.UPG_NO = #{UPG_OBJID} -->
</select>
<select id="getProductSPECSelect" parameterType="map" resultType="map">
SELECT
PMUM.OBJID,
PMUM.TARGET_OBJID AS PRODUCT_MGMT_OBJID,
PMUM.SPEC_NAME
FROM
PRODUCT_MGMT_UPG_MASTER PMUM
WHERE 1=1
<if test="TARGET_OBJID != null and !''.equals(TARGET_OBJID)">
AND PMUM.TARGET_OBJID = #{TARGET_OBJID}::INTEGER
</if>
</select>
<select id="getProductRELDataSelect" parameterType="map" resultType="map">
SELECT
PMUM.OBJID,
PMUM.TARGET_OBJID AS PRODUCT_MGMT_OBJID,
PMUM.SPEC_NAME,
PMUD.OBJID AS DETAIL_OBJID,
PMUD.TARGET_OBJID AS MASTER_OBJID,
PMUD.UPG_NAME,
PMUD.UPG_CODE,
PMUD.VC,
PMUD.NOTE
FROM
PRODUCT_MGMT_UPG_MASTER PMUM
WHERE 1=1
<if test="TARGET_OBJID != null and !''.equals(TARGET_OBJID)">
AND PMUM.TARGET_OBJID = #{TARGET_OBJID}
</if>
</select>
<select id="getProductUpgMasterselect" parameterType="map" resultType="map">
SELECT
COALESCE(t1.objid,t.objid)::varchar AS code
,CASE WHEN t1.spec_name IS null
THEN product_code
ELSE product_code
END AS NAME
,product_code AS CODE_CD
,'' AS STATUS
,t1.spec_name AS ID
,t.objid::varchar
FROM product_mgmt AS t
left outer join product_mgmt_upg_master AS t1
ON t.objid = t1.target_objid
ORDER BY product_code
</select>
<select id="getProductMasterselect" parameterType="map" resultType="map">
SELECT
t.objid::varchar AS code
,t.product_code AS NAME
,t.product_code AS CODE_CD
,'' AS STATUS
,'' AS ID
FROM product_mgmt AS t
ORDER BY product_code
</select>
<select id="getEcrCodeselect" parameterType="map" resultType="map">
SELECT
objid::varchar AS code
,ecr_no AS NAME
,ecr_no AS CODE_CD
,'' AS STATUS
,'' AS ID
FROM ecr_mng
where 1=1
<if test="code != null and !''.equals(code)">
AND OBJID = #{code}::numeric
</if>
ORDER BY ecr_no
</select>
<select id="getCodeselectUser" parameterType="map" resultType="map">
select
user_id as code,
user_name || '(' || dept_name || ')' as name
from
user_info
</select>
<select id="gettemplate_code_detailList" parameterType="map" resultType="map">
SELECT CODE_ID AS CODE,
CODE_NAME AS NAME,
CODE_CD,
STATUS,
ID,
EXT_VAL
FROM COMM_CODE T
WHERE 1 = 1
AND UPPER(T.STATUS)= 'ACTIVE'
<choose>
<when test="detailCd != null and !''.equals(detailCd)">
AND PARENT_CODE_ID = #{detailCd}
</when>
<otherwise>
AND PARENT_CODE_ID IS NULL
</otherwise>
</choose>
</select>
<select id="getCustomerCodeselect" parameterType="map" resultType="map">
SELECT
T.OBJID::VARCHAR AS CODE
,T.SUPPLY_NAME AS NAME
,T.SUPPLY_NAME AS CODE_CD
,'' AS STATUS
,'' AS ID
<!--
,T1.OBJID
-->
FROM SUPPLY_MNG AS T
<!--
,(SELECT T1.CUSTOMER_OBJID,T1.OBJID
FROM CONTRACT_MGMT T1, RELEASE_MGMT T2
WHERE T1.OBJID = T2.PARENT_OBJID::NUMERIC
) AS T1
WHERE T1.CUSTOMER_OBJID NOT LIKE 'C_%' AND T.OBJID::VARCHAR = T1.CUSTOMER_OBJID::VARCHAR
-->
</select>
<select id="getAsProductList" parameterType="map" resultType="map">
SELECT * FROM(
SELECT
T.PRODUCT AS CODE
,(SELECT PRODUCT_CODE FROM PRODUCT_MGMT AS O WHERE O.OBJID::VARCHAR = T.PRODUCT)||'('||T1.RELEASE_CAR_NO||')' AS NAME
,COALESCE(T1.RELEASE_CAR_NO , '') AS PSHELLNO
<!--
,T.WARRANTY AS GOODSGUARANTEE
-->
,T1.RELEASE_DATE AS INOUTDATE
FROM CONTRACT_MGMT AS T,RELEASE_MGMT AS T1
WHERE T.OBJID = T1.PARENT_OBJID
AND T.CUSTOMER_OBJID = #{CUSTCD}
<!--
AND SUBSTR(CONTRACT_DATE,1,4) =#{YEAR}
-->
<!--
UNION ALL
SELECT
T.PRODUCT1 AS CODE
,(SELECT PRODUCT_CODE FROM PRODUCT_MGMT AS O WHERE O.OBJID::VARCHAR = T.PRODUCT1)||'('||T1.RELEASE_CAR_NO||')' AS NAME
,COALESCE(T1.RELEASE_CAR_NO , '') AS PSHELLNO
,T.WARRANTY1 AS GOODSGUARANTEE
,T1.RELEASE_DATE AS INOUTDATE
FROM CONTRACT_MGMT AS T,RELEASE_MGMT AS T1
WHERE T.OBJID = T1.PARENT_OBJID::NUMERIC
AND T.CUSTOMER_OBJID = #{CUSTCD}
AND SUBSTR(CONTRACT_DATE,1,4) =#{YEAR}
UNION ALL
SELECT
T.PRODUCT2 AS CODE
,(SELECT PRODUCT_CODE FROM PRODUCT_MGMT AS O WHERE O.OBJID::VARCHAR = T.PRODUCT2)||'('||T1.RELEASE_CAR_NO||')' AS NAME
,COALESCE(T1.RELEASE_CAR_NO , '') AS PSHELLNO
,T.WARRANTY2 AS GOODSGUARANTEE
,T1.RELEASE_DATE AS INOUTDATE
FROM CONTRACT_MGMT AS T,RELEASE_MGMT AS T1
WHERE T.OBJID = T1.PARENT_OBJID::NUMERIC
AND T.CUSTOMER_OBJID = #{CUSTCD}
AND SUBSTR(CONTRACT_DATE,1,4) =#{YEAR}
-->
) AS T
WHERE T.CODE !=''
<!-- SELECT T2.GOODSCD AS CODE
,(SELECT O.GOODSNM FROM swsb110a_tbl AS O WHERE O.goodscd = T2.goodscd)||'('||T1.PSHELLNO||')' AS NAME
,T1.INOUTNO AS ID
,COALESCE(T1.PSHELLNO , '') AS PSHELLNO
,T2.goodsguarantee
,T1.inoutdate
FROM SWSF010A_TBL AS T1, SWSC110A_TBL AS T2
WHERE DELIVERYTYPE = '11' /* 입고구분 */
AND T1.GOODSCD = T2.GOODSCD
AND T2.CUSTCD = #{CUSTCD}
AND SUBSTRING(T2.FINISHDATE,1,4) = #{YEAR} -->
</select>
<select id="getmaintenanceselect" parameterType="map" resultType="map">
SELECT CONCAT(areaA, areaB, areaC, areaD) AS code
, areaName AS name
FROM SWJA050A_TBL A
ORDER BY areaName asc
</select>
<select id="getCustomerInfo" parameterType="map" resultType="map">
SELECT
CODE_NAME(AREA_CD) AS AREA_CD
,SUPPLY_NAME
,CODE_NAME(SUPPLY_CODE) AS SUPPLY_CODE
,CHARGE_USER_NAME
,REG_ID
,BUS_REG_NO
,REG_NO
,SUPPLY_BUSNAME
,SUPPLY_STOCKNAME
,SUPPLY_ADDRESS
,SUPPLY_TEL_NO
,EMAIL
,OFFICE_NO
,SUPPLY_FAX_NO
FROM SUPPLY_MNG
WHERE OBJID= #{OBJID}::NUMERIC
</select>
<select id="getoptionList" parameterType="map" resultType="map">
SELECT OBJID::VARCHAR AS CODE
,OPTION_NAME AS NAME
FROM OPTION_MNG
WHERE UPPER(STATUS)= 'ACTIVE'
</select>
<select id="getContractList" parameterType="map" resultType="map">
SELECT OBJID::VARCHAR AS CODE
,CONTRACT_NO ||'/'|| PRODUCT_CODE AS NAME
FROM CONTRACT_MGMT
</select>
<select id="getContractOptionList" parameterType="map" resultType="map">
SELECT option_objid::VARCHAR AS CODE
FROM CONTRACT_MGMT_OPTION
WHERE CONTRACT_OBJID= #{objId}::NUMERIC
</select>
<select id="getContractcodeList" parameterType="map" resultType="map">
SELECT
CODE_ID AS CODE
,CODE_NAME AS NAME
FROM COMM_CODE
WHERE PARENT_CODE_ID = #{OBJID}
ORDER BY NAME ASC
</select>
<select id="getContractProductList" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
,PRODUCT_NAME AS NAME
FROM PRODUCT_MGMT
WHERE PRODUCT_TYPE = #{OBJID}
ORDER BY NAME ASC
</select>
<select id="getOptionHighselect" parameterType="map" resultType="map">
SELECT
OBJID::varchar AS CODE
,OPTION_NAME AS NAME
,OPTION_NO AS CODE_ID
,'' AS ID
,'' AS EXT_VAL
FROM OPTION_MNG
WHERE CATEGORY='high'
</select>
<select id="getOptionChildList" parameterType="map" resultType="map">
SELECT
OBJID::varchar AS CODE
,OPTION_NAME AS NAME
,OPTION_NO AS CODE_ID
,'' AS ID
,'' AS EXT_VAL
FROM OPTION_MNG
WHERE PARENT_OBJID = #{OBJID}
AND CATEGORY=#{CATEGORY}
</select>
<select id="getOptionLastPrice" parameterType="map" resultType="map">
SELECT
OBJID::varchar
,PRICE::VARCHAR
,REG_DATE
FROM OPTION_PRICE_HISTORY
WHERE OPTION_OBJID::NUMERIC = #{OBJID}::NUMERIC
ORDER BY REG_DATE DESC
LIMIT 1
</select>
<select id="getOptionGridCodeList" resultType="map" parameterType="map">
SELECT
OBJID AS CODE_ID
,OPTION_NAME AS CODE_NAME
FROM OPTION_MNG T
WHERE 1=1
<if test="parentCodeId !=null and parentCodeId != '' ">
AND CATEGORY = #{parentCodeId}
</if>
</select>
<select id="getOptionMidList" parameterType="map" resultType="map">
SELECT
OBJID::varchar AS CODE
,OPTION_NAME AS NAME
,OPTION_NO AS CODE_ID
,'' AS ID
,'' AS EXT_VAL
FROM OPTION_MNG
WHERE PARENT_OBJID = #{code}
AND CATEGORY='mid'
</select>
<select id="getOptionLowList" parameterType="map" resultType="map">
SELECT
OBJID::varchar AS CODE
,OPTION_NAME AS NAME
,OPTION_NO AS CODE_ID
,'' AS ID
,'' AS EXT_VAL
FROM OPTION_MNG
WHERE PARENT_OBJID = #{code}
AND CATEGORY='low'
</select>
<select id="getAsContractYearList" parameterType="map" resultType="map">
SELECT DISTINCT
SUBSTR(CONTRACT_DATE,1,4) AS YY_DATE
FROM CONTRACT_MGMT AS T,RELEASE_MGMT AS T1
WHERE T.OBJID = T1.PARENT_OBJID::NUMERIC
AND T.CUSTOMER_OBJID = #{CUSTCD}
</select>
<select id="getPartCodeList" parameterType="map" resultType="map">
SELECT
OBJID::varchar AS CODE
,PART_NO AS NAME
,PART_NAME AS CODE_ID
,'' AS ID
,'' AS EXT_VAL
FROM PART_MNG
WHERE status='release'
</select>
<select id="getPartInfo" parameterType="map" resultType="map">
SELECT
PART_NO
,PART_NAME
,(SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = UNIT) AS UNIT
,SPEC
,MATERIAL
,WEIGHT
,THICKNESS
,WIDTH
,HEIGHT
,OUT_DIAMETER
,IN_DIAMETER
,LENGTH
FROM PART_MNG
WHERE OBJID= #{OBJID}::NUMERIC
</select>
<select id="getSpecNameList" resultType="map" parameterType="map">
SELECT
SPEC_NAME AS CODE_ID,
SPEC_NAME AS CODE_NAME
FROM
PART_BOM_REPORT
WHERE 1=1
AND PRODUCT_MGMT_OBJID::VARCHAR = #{codeId}::VARCHAR
</select>
<select id="getRevNoselect" parameterType="map" resultType="map">
SELECT
T.OBJID::varchar AS CODE
,COALESCE(T.REVISION, '1.0') AS NAME
,T1.PRODUCT_CODE AS CODE_CD
,'' AS STATUS
,T.spec_name AS ID
,'' AS EXT_VAL
FROM PART_BOM_REPORT T,PRODUCT_MGMT T1
WHERE T.PRODUCT_MGMT_OBJID = T1.OBJID
AND T1.OBJID = #{code}::numeric
ORDER BY COALESCE(T.REVISION, '1.0')
</select>
<select id="getProductNoselect" parameterType="map" resultType="map">
SELECT
T1.OBJID::varchar AS CODE
,T1.PRODUCT_CODE AS NAME
,T1.PRODUCT_CODE AS CODE_CD
,'' AS STATUS
,'' AS ID
,'' AS EXT_VAL
FROM PRODUCT_MGMT T1
</select>
<select id="getAdminSupCdList" resultType="map" parameterType="map">
select * from(
SELECT
OBJID AS CODE_ID
,SUPPLY_CODE
,SUPPLY_NAME AS CODE_NAME
,REPLACE(REPLACE(SUPPLY_NAME, '(주)', ''),' ','') AS ORDER_SUPPLY_NAME
,REG_NO
,SUPPLY_ADDRESS
,SUPPLY_BUSNAME
,SUPPLY_STOCKNAME
,SUPPLY_TEL_NO
,SUPPLY_FAX_NO
,CHARGE_USER_NAME
,PAYMENT_METHOD
,REG_ID
,REG_DATE
,STATUS
FROM ADMIN_SUPPLY_MNG T
) S
WHERE 1=1
<if test="codeId != null and !''.equals(codeId)">
AND SUPPLY_CODE = #{codeId}
</if>
ORDER BY S.ORDER_SUPPLY_NAME
</select>
<select id="getAdminSupplyCodeList" resultType="map" parameterType="map">
SELECT
T.OBJID AS CODE
,T.SUPPLY_CODE
,T.SUPPLY_NAME AS CODE_NAME
,T.REG_NO
,T.SUPPLY_ADDRESS
,T.SUPPLY_BUSNAME
,T.SUPPLY_STOCKNAME
,T.SUPPLY_TEL_NO
,T.SUPPLY_FAX_NO
,T.CHARGE_USER_NAME
,T.PAYMENT_METHOD
,T.REG_ID
,T.REG_DATE
,T.STATUS
,SCM.CHARGER_NAME
,SCM.PHONE
,SCM.TEL
,SCM.FAX
,SCM.EMAIL
FROM
ADMIN_SUPPLY_MNG T
LEFT OUTER JOIN (
SELECT
*,
ROW_NUMBER() OVER( PARTITION BY CHARGER_NAME ORDER BY REGDATE ) AS ROW_NUM
FROM SUPPLY_CHARGER_MNG
WHERE 1=1
<if test="CHARGER_TYPE != null and !''.equals(CHARGER_TYPE)">
AND CHARGER_TYPE = #{CHARGER_TYPE}
</if>
) SCM
ON T.OBJID::VARCHAR = SCM.SUPPLY_OBJID::VARCHAR
AND ROW_NUM = 1
WHERE 1=1
AND T.SUPPLY_CODE != '0000269'
<if test="SUPPLY_OBJID != null and !''.equals(SUPPLY_OBJID)">
AND T.OBJID::VARCHAR = #{SUPPLY_OBJID}::VARCHAR
</if>
ORDER BY T.SUPPLY_NAME
</select>
<select id="getAjaxProductMgmtList" parameterType="map" resultType="map">
SELECT
OBJID,
OBJID AS CODE,
PRODUCT_CATEGORY,
PRODUCT_TYPE,
PRODUCT_GRADE,
PRODUCT_TON,
PRODUCT_BOOM,
PRODUCT_VEHICLE,
PRODUCT_CODE,
PRODUCT_CODE AS CODE_NAME,
PRODUCT_CODE AS NAME,
PRODUCTION_FLAG,
REGDATE,
WRITER,
CONTENTS
FROM
PRODUCT_MGMT
WHERE 1=1
<if test="PRODUCT_CATEGORY != null and !''.equals(PRODUCT_CATEGORY)">
AND PRODUCT_CATEGORY = #{PRODUCT_CATEGORY}
</if>
<if test="PRODUCT_TYPE != null and !''.equals(PRODUCT_TYPE)">
AND PRODUCT_TYPE = #{PRODUCT_TYPE}
</if>
</select>
<!-- //라인설치장소 조회(콤보박스용) -->
<select id="getCodeDataList" parameterType="map" resultType="map">
SELECT
*
FROM COMM_CODE
WHERE 1=1
<if test="code_name != null and !''.equals(code_name)">
AND CODE_NAME = #{code_name}
</if>
<if test="parent_code_id != null and !''.equals(parent_code_id)">
AND PARENT_CODE_ID = #{parent_code_id}
</if>
</select>
<select id="getAddress2List" parameterType="map" resultType="map">
SELECT CODE_ID AS CODE,
CODE_NAME AS NAME,
CODE_CD,
STATUS,
ID,
EXT_VAL
FROM COMM_CODE T
WHERE PARENT_CODE_ID = #{CODE}
</select>
<select id="getproductcode" parameterType="map" resultType="map">
SELECT
PRODUCT_CODE AS CODE
FROM PRODUCT_MGMT
WHERE OBJID::numeric = #{OBJID}::numeric
</select>
<!-- 공급업체 목록 조회 (ADMIN_SUPPLY_MNG 테이블) -->
<select id="getmatersupplyselect" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
,SUPPLY_NAME AS NAME
,OBJID::VARCHAR AS CODE_ID
,SUPPLY_NAME AS CODE_NAME
,SUPPLY_CODE AS CODE_CD
,REG_NO
,CHARGE_USER_NAME
,SUPPLY_TEL_NO
,SUPPLY_FAX_NO
,PAYMENT_METHOD
,STATUS AS STATUS
,'' AS ID
,'' AS EXT_VAL
FROM ADMIN_SUPPLY_MNG
ORDER BY SUPPLY_NAME
</select>
<!-- 일반거래처 목록 조회 (CLIENT_MNG 테이블) - 발주서용 -->
<select id="getClientMngSupplySelect" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
,CLIENT_NM AS NAME
,OBJID::VARCHAR AS CODE_ID
,CLIENT_NM AS CODE_NAME
,CLIENT_CD AS CODE_CD
,BUS_REG_NO AS REG_NO
,CEO_NM AS CHARGE_USER_NAME
,TEL_NO AS SUPPLY_TEL_NO
,FAX_NO AS SUPPLY_FAX_NO
,EMAIL AS SUPPLY_EMAIL
,PAYMENT_TERM AS PAYMENT_METHOD
,USE_YN AS STATUS
,'' AS ID
,'' AS EXT_VAL
FROM CLIENT_MNG
WHERE 1=1
--AND USE_YN = 'Y'
ORDER BY CLIENT_NM
</select>
<select id="getsupCode" parameterType="map" resultType="map">
SELECT OBJID::VARCHAR SUPPLY_CODE
FROM ADMIN_SUPPLY_MNG T
WHERE SUPPLY_NAME = #{SUPNAME}
</select>
<select id="getProjectNameList" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
<!-- ,PROJECT_NO||'('||PROJECT_NAME||')' AS NAME -->
,PROJECT_NO AS NAME
FROM PROJECT_MGMT
<if test="customer_objid != null and !''.equals(customer_objid)">
WHERE CUSTOMER_OBJID = #{customer_objid}
</if>
<if test="contract_objid != null and !''.equals(contract_objid)">
WHERE CONTRACT_OBJID = (SELECT CONTRACT_OBJID FROM PROJECT_MGMT WHERE OBJID = #{contract_objid})
</if>
ORDER BY SUBSTRING(PROJECT_NO,POSITION('-' IN PROJECT_NO)+1) DESC
<!--
ORDER BY PROJECT_NO
-->
</select>
<select id="getCodeselectAllLevel" parameterType="map" resultType="map">
WITH RECURSIVE V_CODE AS (
SELECT CODE_ID
, PARENT_CODE_ID
, CODE_ID AS ROOT
, 1 AS LEV
, ARRAY [CODE_ID::TEXT] AS PATH
, FALSE AS CYCLE
FROM COMM_CODE
WHERE 1=1
AND PARENT_CODE_ID = #{parent_code_id}
UNION ALL
SELECT A.CODE_ID
, A.PARENT_CODE_ID
, V.ROOT
, V.LEV + 1 AS LEV
, V.PATH||A.CODE_ID::TEXT AS PATH
, A.PARENT_CODE_ID = ANY(V.PATH) AS CYCLE
FROM COMM_CODE A, V_CODE V
WHERE 1=1
AND V.CODE_ID = A.PARENT_CODE_ID
<if test="status !=null and status != '' ">
AND A.STATUS = #{status}
</if>
)
SELECT *
FROM (
SELECT T1.ROOT, T1.PARENT_CODE_ID, T1.CODE_ID, REPLACE(REPLACE(T1.PATH::VARCHAR,'{',''),'}','') AS PATH, T1.LEV, T1.CYCLE
,T2.CODE_NAME, T2.ID, T2.CODE_CD, T2.EXT_VAL
FROM V_CODE AS T1
LEFT OUTER JOIN COMM_CODE AS T2
ON T1.CODE_ID = T2.CODE_ID
) AS TT
WHERE 1=1
<if test="path !=null and path != '' ">
AND PATH LIKE '%#{path}%'
</if>
<if test="id !=null and id != '' ">
AND ID = #{id}
</if>
<if test="codeCd !=null and codeCd != '' ">
AND CODE_CD = #{codeCd}
</if>
<if test="extVal !=null and extVal != '' ">
AND EXT_VAL = #{extVal}
</if>
</select>
<!-- COMM_CODE 버젼 -->
<select id="getUnitCodeList_old" parameterType="map" resultType="map">
SELECT
CODE_ID AS CODE,
CODE_NAME AS NAME
FROM COMM_CODE
<choose>
<when test="customer_objid !=null and customer_objid != '' ">
WHERE PARENT_CODE_ID =
(SELECT PRODUCT FROM PROJECT_MGMT
WHERE OBJID=#{customer_objid})
</when>
<otherwise>
WHERE PARENT_CODE_ID in
(SELECT PRODUCT FROM PROJECT_MGMT)
</otherwise>
</choose>
</select>
<select id="getUnitCodeList_old2" parameterType="map" resultType="map">
SELECT
TS.OBJID AS CODE,
TASK_NAME AS NAME
FROM PMS_WBS_TASK_STANDARD TS
,PMS_WBS_TEMPLATE T
WHERE T.OBJID = TS.PARENT_OBJID
<if test="unitCode !=null and unitCode != '' ">
AND TS.OBJID = #{unitCode}
</if>
<choose>
<when test="project_objid !=null and project_objid != '' ">
<!--
AND (SELECT PROJECT_NO FROM PROJECT_MGMT WHERE OBJID=#{customer_objid}) LIKE T.TITLE||'%'
AND T.PRODUCT_OBJID =
-->
AND EXISTS
(SELECT PRODUCT FROM PROJECT_MGMT
WHERE OBJID = #{project_objid}
<if test="customer_objid !=null and customer_objid != '' ">
CUSTOMER_OBJID=#{customer_objid}
</if>
AND PROJECT_NO LIKE T.TITLE||'%'
)
</when>
<otherwise>
AND T.PRODUCT_OBJID IN
(SELECT PRODUCT FROM PROJECT_MGMT)
</otherwise>
</choose>
ORDER BY TS.UNIT_NO ASC
</select>
<!-- 20240202 new 프로젝트의 유닛으로 변경(이전까지는 위 getUnitCodeList_old2 표준유닛 사용) -->
<select id="getUnitCodeList" parameterType="map" resultType="map">
SELECT
T.OBJID AS CODE,
<!--
,T.UNIT_NO || '-' || T.TASK_NAME AS NAME
-->
CASE WHEN NVL(UNIT_NO, '') = '' THEN TASK_NAME
WHEN LENGTH(UNIT_NO) > 0 AND UNIT_NO = SUBSTR(TASK_NAME, 0, LENGTH(UNIT_NO)+1) THEN TASK_NAME
ELSE T.UNIT_NO || '-' || T.TASK_NAME
END AS NAME
,T.TASK_NAME
<!-- TASK_NAME AS NAME -->
FROM PMS_WBS_TASK T
WHERE 1=1
<if test="unitCode !=null and unitCode != '' ">
AND T.OBJID = #{unitCode}
</if>
<if test="unitName !=null and unitName != '' ">
AND ( TRIM(UPPER(T.TASK_NAME)) = TRIM(UPPER(#{unitName}))
OR TRIM(UPPER(T.UNIT_NO || '-' || T.TASK_NAME)) = TRIM(UPPER(#{unitName})) )
</if>
<choose>
<when test="project_objid !=null and project_objid != '' ">
<!--
AND (SELECT PROJECT_NO FROM PROJECT_MGMT WHERE OBJID=#{customer_objid}) LIKE T.TITLE||'%'
AND T.PRODUCT_OBJID =
-->
AND CONTRACT_OBJID = #{project_objid}
</when>
<otherwise>
AND T.CONTRACT_OBJID IN
(SELECT OBJID FROM PROJECT_MGMT)
</otherwise>
</choose>
ORDER BY T.UNIT_NO ASC
</select>
<select id="getProjectListByUnit" parameterType="map" resultType="map">
SELECT *
FROM PROJECT_MGMT P
WHERE 1=1
AND EXISTS
(SELECT
TS.OBJID AS CODE,
TASK_NAME AS NAME
FROM PMS_WBS_TASK_STANDARD TS
,PMS_WBS_TEMPLATE T
WHERE T.OBJID = TS.PARENT_OBJID
AND TS.OBJID = #{unitCode}
AND P.PROJECT_NO LIKE T.TITLE||'%'
)
ORDER BY P.PROJECT_NO
</select>
<select id="getProjectUnitCodeList" parameterType="map" resultType="map">
SELECT
T.OBJID AS CODE,
TASK_NAME AS NAME
FROM PMS_WBS_TASK T
WHERE 1=1
<if test="unitCode !=null and unitCode != '' ">
AND T.OBJID = #{unitCode}
</if>
<if test="project_objid !=null and project_objid != '' ">
AND CONTRACT_OBJID=#{project_objid}
</if>
ORDER BY T.UNIT_NO ASC
</select>
<select id="getBomCodeList" resultType="map" parameterType="map">
<!-- COMM_CODE 버젼
SELECT
CODE_ID AS CODE,
CODE_NAME AS NAME,
'' AS ID
FROM COMM_CODE T
-->
<!-- 유닛 표준 버전
SELECT
TS.OBJID AS CODE,
TASK_NAME AS NAME
FROM PMS_WBS_TASK_STANDARD TS
,PMS_WBS_TEMPLATE T
WHERE T.OBJID = TS.PARENT_OBJID
AND TS.OBJID = #{code}
240207 아래 프로젝트의 유닛으로 변경
-->
SELECT
T.OBJID AS CODE,
T.TASK_NAME AS NAME
FROM PMS_WBS_TASK T
WHERE T.OBJID = #{code}
</select>
<select id="getPurchaseOrderCdList" resultType="map" parameterType="map">
SELECT
POM.OBJID AS CODE_ID
,POM.PURCHASE_ORDER_NO AS CODE_NAME
FROM
PURCHASE_ORDER_MASTER POM
LEFT OUTER JOIN PURCHASE_ORDER_PART POP
ON POM.OBJID = POP.PURCHASE_ORDER_MASTER_OBJID
WHERE 1=1
<if test="part_objid != null and part_objid != '' ">
AND POP.PART_OBJID = #{part_objid}
</if>
<if test="partnerObjid != null and partnerObjid != '' ">
AND POM.PARTNER_OBJID = #{partnerObjid}
</if>
GROUP BY POM.OBJID, POM.PURCHASE_ORDER_NO
ORDER BY SPLIT_PART( PURCHASE_ORDER_NO, '-', 3)::NUMERIC DESC
<!--
ORDER BY POM.PURCHASE_ORDER_NO DESC
-->
</select>
<select id="getContractNoList" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
,CONTRACT_NO || '(' || CUSTOMER_PROJECT_NAME || ')' AS NAME
FROM CONTRACT_MGMT
WHERE 1=1
<if test="result_cd != null and result_cd != '' ">
AND result_cd = #{result_cd}
</if>
ORDER BY CONTRACT_NO
</select>
<select id="getCusProjectNoList" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
,PROJECT_NO AS NAME
FROM PROJECT_MGMT
ORDER BY PROJECT_NO
</select>
<select id="getProgressProjectNoList" parameterType="map" resultType="map">
SELECT
P.OBJID::VARCHAR AS CODE_ID
,P.PROJECT_NO AS CODE_NAME
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG SM WHERE SM.OBJID::VARCHAR = P.CUSTOMER_OBJID) || ' ' || P.PROJECT_NO || ' ' || C.PROJECT_NAME AS PROJ_INFO
,P.REQ_DEL_DATE
FROM PROJECT_MGMT P
INNER JOIN CONTRACT_MGMT C
ON C.OBJID = P.CONTRACT_OBJID
LEFT OUTER JOIN (
SELECT
T.CONTRACT_OBJID,
CASE
WHEN COUNT(CASE WHEN PARENT_OBJID IS NOT NULL AND PARENT_OBJID != '' THEN 1 END) = 0 THEN 0
ELSE ROUND((
COUNT(CASE WHEN SETUP_ACT_END != '' AND SETUP_ACT_END IS NOT NULL AND PARENT_OBJID IS NOT NULL AND PARENT_OBJID != '' THEN 1 END)::FLOAT
/
COUNT(CASE WHEN PARENT_OBJID IS NOT NULL AND PARENT_OBJID != '' THEN 1 END)
* 100
)::numeric, 1)
END AS SETUP_RATETOTAL
FROM
SETUP_WBS_TASK T
GROUP BY
T.CONTRACT_OBJID
) ST ON ST.CONTRACT_OBJID = P.OBJID
LEFT OUTER JOIN (
SELECT
CONTRACT_OBJID,
COUNT(CASE WHEN DESIGN_act_start IS NOT NULL AND DESIGN_act_start!='' THEN 1 END) AS DESIGN_START_COUNT
FROM
PMS_WBS_TASK
GROUP BY
CONTRACT_OBJID
) WT ON WT.CONTRACT_OBJID = P.OBJID
WHERE C.CONTRACT_RESULT = '0000964'
<if test="SEARCH_PROJECT_YEAR != null and SEARCH_PROJECT_YEAR !=''">
<!--
AND TO_CHAR(TO_DATE(C.CONTRACT_DATE, 'YYYY'), 'YYYY') = #{SEARCH_PROJECT_YEAR}
-->
AND #{SEARCH_PROJECT_YEAR} BETWEEN
(SELECT <!-- COALESCE( -->
LEAST(
MIN(TO_CHAR(TO_DATE(NULLIF(PURCHASE_PLAN_START, ''), 'YYYY'), 'YYYY')),
MIN(TO_CHAR(TO_DATE(NULLIF(PRODUCE_PLAN_START , ''), 'YYYY'), 'YYYY')),
MIN(TO_CHAR(TO_DATE(NULLIF(DESIGN_PLAN_START , ''), 'YYYY'), 'YYYY')),
MIN(TO_CHAR(TO_DATE(NULLIF(SETUP_PLAN_START , ''), 'YYYY'), 'YYYY'))
)<!-- , TO_CHAR(TO_DATE(C.CONTRACT_DATE, 'YYYY'), 'YYYY')) -->
FROM PMS_WBS_TASK O
WHERE O.CONTRACT_OBJID=P.OBJID)
AND (SELECT <!-- COALESCE( -->
GREATEST(
MAX(TO_CHAR(TO_DATE(NULLIF(PURCHASE_PLAN_END, ''), 'YYYY'), 'YYYY')),
MAX(TO_CHAR(TO_DATE(NULLIF(PRODUCE_PLAN_END , ''), 'YYYY'), 'YYYY')),
MAX(TO_CHAR(TO_DATE(NULLIF(DESIGN_PLAN_END , ''), 'YYYY'), 'YYYY')),
MAX(TO_CHAR(TO_DATE(NULLIF(SETUP_PLAN_END , ''), 'YYYY'), 'YYYY'))
)<!-- , TO_CHAR(TO_DATE(T.DUE_DATE, 'YYYY'), 'YYYY')) -->
FROM PMS_WBS_TASK O
WHERE O.CONTRACT_OBJID=P.OBJID)
</if>
<!--
AND SETUP_RATETOTAL != '100'
AND WT.DESIGN_START_COUNT > 0
-->
ORDER BY SUBSTRING(P.PROJECT_NO,POSITION('-' IN P.PROJECT_NO)+1) DESC
</select>
<!-- //유저 ID 조회 -->
<select id="getUserInfo" resultType="map" parameterType="map">
SELECT
SABUN
,USER_ID
,USER_NAME
FROM USER_INFO T
WHERE 1=1
AND USER_NAME = #{USER_NAME}
</select>
<select id="getPartBomProjectNameList" parameterType="map" resultType="map">
SELECT DISTINCT
CONTRACT_OBJID::VARCHAR AS CODE
,(SELECT PROJECT_NO FROM PROJECT_MGMT AS O WHERE O.OBJID = PMR.CONTRACT_OBJID)||'('||(SELECT PROJECT_NAME FROM PROJECT_MGMT AS O WHERE O.OBJID = PMR.CONTRACT_OBJID)||')' AS NAME
FROM PART_BOM_REPORT PMR
</select>
<select id="getPartBomProjectNameList2" parameterType="map" resultType="map">
SELECT DISTINCT
CONTRACT_OBJID::VARCHAR AS CODE
,(SELECT PROJECT_NO FROM PROJECT_MGMT AS O WHERE O.OBJID = PMR.CONTRACT_OBJID) AS NAME
FROM PART_BOM_REPORT PMR
</select>
<select id="getBomUnitCodeList" parameterType="map" resultType="map">
SELECT
UNIT_CODE AS CODE
,( SELECT
CASE WHEN NVL(UNIT_NO, '') = '' THEN TASK_NAME
WHEN LENGTH(UNIT_NO) > 0 AND UNIT_NO = SUBSTR(TASK_NAME, 0, LENGTH(UNIT_NO)+1) THEN TASK_NAME
ELSE T.UNIT_NO || '-' || T.TASK_NAME END AS NAME
FROM PMS_WBS_TASK T WHERE T.OBJID = PMR.UNIT_CODE) AS NAME
<!-- ,(SELECT CODE_NAME FROM COMM_CODE AS O WHERE O.CODE_ID = PMR.UNIT_CODE) AS NAME -->
FROM PART_BOM_REPORT PMR
WHERE CONTRACT_OBJID = #{OBJID}
</select>
<select id="getBomPartList" parameterType="map" resultType="map">
SELECT
BPQ.PART_NO::VARCHAR AS CODE
,(SELECT PART_NO FROM PART_MNG AS O WHERE O.OBJID::VARCHAR = BPQ.PART_NO) AS NAME
,(SELECT PART_NAME FROM PART_MNG AS O WHERE O.OBJID::VARCHAR = BPQ.PART_NO) AS PART_NAME
,(SELECT SPEC FROM PART_MNG AS O WHERE O.OBJID::VARCHAR = BPQ.PART_NO) AS SPEC
,(SELECT MAKER FROM PART_MNG AS O WHERE O.OBJID::VARCHAR = BPQ.PART_NO) AS MAKER
,(SELECT MATERIAL FROM PART_MNG AS O WHERE O.OBJID::VARCHAR = BPQ.PART_NO) AS MATERIAL
,(SELECT code_name(PART_TYPE) FROM PART_MNG AS O WHERE O.OBJID::VARCHAR = BPQ.PART_NO) AS PART_TYPE
FROM PART_BOM_REPORT PMR , BOM_PART_QTY BPQ
WHERE PMR.OBJID = BPQ.BOM_REPORT_OBJID::VARCHAR
AND PMR.CONTRACT_OBJID=#{OBJID}
AND PMR.UNIT_CODE = #{UNIT_CODE}
</select>
<select id="getBomPartLastList" parameterType="map" resultType="map">
SELECT
P.OBJID AS CODE
, P.PART_NO AS NAME
, P.OBJID
, P.PART_NO
, P.PART_NAME
, P.SPEC
, P.MAKER
FROM PART_MNG P
WHERE 1=1
AND P.IS_LAST = '1'
AND P.OBJID IN (
SELECT LAST_PART_OBJID
<!--
(SELECT PM1.OBJID
FROM PART_MNG PM1
, PART_MNG PM2
WHERE PM1.IS_LAST = '1'
AND PM2.OBJID = BPQ.PART_NO
AND PM1.PART_NO = PM2.PART_NO)
-->
FROM PART_BOM_REPORT PMR
, BOM_PART_QTY BPQ
WHERE PMR.OBJID = BPQ.BOM_REPORT_OBJID::VARCHAR
AND PMR.CONTRACT_OBJID = #{OBJID}
AND PMR.UNIT_CODE = #{UNIT_CODE}
AND BPQ.STATUS IN ('editing', 'deleting', 'deploy', 'beforeEdit')
)
ORDER BY PART_NO
<!--
SELECT
BPQ.PART_NO::VARCHAR AS CODE
,P.PART_NO NAME
,P.PART_NAME
,P.SPEC
,P.MAKER
FROM PART_BOM_REPORT PMR
,BOM_PART_QTY BPQ
,PART_MNG P
WHERE PMR.OBJID = BPQ.BOM_REPORT_OBJID::VARCHAR
AND PMR.CONTRACT_OBJID=#{OBJID}
AND PMR.UNIT_CODE = #{UNIT_CODE}
AND BPQ.STATUS IN ('editing','deleting', 'deploy')
AND P.IS_LAST = '1'
AND P.OBJID = ( SELECT PM1.OBJID
FROM PART_MNG PM1
,PART_MNG PM2
WHERE PM1.IS_LAST = '1'
AND PM2.OBJID = BPQ.PART_NO
AND PM1.PART_NO = PM2.PART_NO
)
-->
</select>
<select id="getUnitTitleCodeList" parameterType="map" resultType="map">
SELECT
TITLE AS CODE
,TITLE AS NAME
FROM PMS_WBS_TEMPLATE
WHERE PRODUCT_OBJID = #{OBJID}
ORDER BY TITLE
</select>
<select id="getworkmailList" parameterType="map" resultType="map">
SELECT
(SELECT EMAIL FROM USER_INFO AS O WHERE O.USER_ID = T.USER_ID ) AS EMAIL
FROM WORK_MAIL_LIST AS T
WHERE T.MAILTYPE = #{MAILTYPE}
</select>
<select id="getMechanicalTypeList" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE,
TITLE as NAME,
PRODUCT_OBJID
FROM
PMS_WBS_TEMPLATE
WHERE 1=1
</select>
<select id="getStdCodeNameList" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
,CODE_NAME AS NAME
,CODE_ID
FROM PROCUREMENT_STANDARD
<if test="search_category != null and !''.equals(search_category)">
WHERE CATEGORY = #{search_category}
</if>
ORDER BY CODE_NAME
</select>
<select id="getStdCodeIDList" parameterType="map" resultType="map">
SELECT
OBJID::VARCHAR AS CODE
,CODE_ID AS NAME
FROM PROCUREMENT_STANDARD
<if test="search_category != null and !''.equals(search_category)">
WHERE CATEGORY = #{search_category}
</if>
ORDER BY CODE_ID
</select>
<!-- 사용자 권한 체크 -->
<select id="checkUserAuthority" parameterType="map" resultType="int">
SELECT COUNT(*)
FROM AUTHORITY_SUB_USER
WHERE USER_ID = #{userId}
AND MASTER_OBJID::varchar = #{masterObjid}
</select>
<!-- 고객사 정보 조회 (공급업체 + 일반거래처 통합) -->
<select id="getSupplyInfo" parameterType="map" resultType="map">
<choose>
<!-- 일반거래처인 경우 (C_로 시작) -->
<when test="objId != null and objId.startsWith('C_')">
SELECT
C.OBJID,
C.CLIENT_CD AS SUPPLY_CODE,
C.CLIENT_NM AS SUPPLY_NAME,
C.BUS_REG_NO AS REG_NO,
C.ADDR1 AS SUPPLY_ADDRESS,
C.BUS_TYPE AS SUPPLY_BUSNAME,
C.BUS_ITEM AS SUPPLY_STOCKNAME,
C.TEL_NO AS SUPPLY_TEL_NO,
C.FAX_NO AS SUPPLY_FAX_NO,
C.CEO_NM AS CHARGE_USER_NAME,
C.PAYMENT_TERM AS PAYMENT_METHOD,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 0) AS MANAGER1_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 0) AS MANAGER1_EMAIL,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 1) AS MANAGER2_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 1) AS MANAGER2_EMAIL,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 2) AS MANAGER3_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 2) AS MANAGER3_EMAIL,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 3) AS MANAGER4_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 3) AS MANAGER4_EMAIL,
(SELECT CHARGER_NAME FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 4) AS MANAGER5_NAME,
(SELECT EMAIL FROM SUPPLY_CHARGER_MNG WHERE SUPPLY_OBJID::VARCHAR = C.OBJID::VARCHAR ORDER BY REGDATE LIMIT 1 OFFSET 4) AS MANAGER5_EMAIL
FROM CLIENT_MNG C
WHERE C.OBJID::VARCHAR = REPLACE(#{objId}, 'C_', '')
</when>
<!-- 공급업체인 경우 -->
<otherwise>
SELECT
OBJID,
SUPPLY_CODE,
SUPPLY_NAME,
REG_NO,
SUPPLY_ADDRESS,
SUPPLY_BUSNAME,
SUPPLY_STOCKNAME,
SUPPLY_TEL_NO,
SUPPLY_FAX_NO,
CHARGE_USER_NAME,
PAYMENT_METHOD,
MANAGER1_NAME,
MANAGER1_EMAIL,
MANAGER2_NAME,
MANAGER2_EMAIL,
MANAGER3_NAME,
MANAGER3_EMAIL,
MANAGER4_NAME,
MANAGER4_EMAIL,
MANAGER5_NAME,
MANAGER5_EMAIL
FROM SUPPLY_MNG
WHERE OBJID = #{objId}::numeric
</otherwise>
</choose>
</select>
</mapper>