구매요청서
This commit is contained in:
@@ -585,55 +585,73 @@
|
||||
</select>
|
||||
|
||||
<update id="mergeSalesRequestMasterInfo" parameterType="map">
|
||||
INSERT INTO SALES_REQUEST_MASTER
|
||||
(
|
||||
OBJID,
|
||||
REQUEST_MNG_NO,
|
||||
REQUEST_CD,
|
||||
PROJECT_NO,
|
||||
RELEASE_DATE,
|
||||
REQUEST_REASONS,
|
||||
REQUEST_USER_ID,
|
||||
DELIVERY_REQUEST_DATE,
|
||||
UNIT_NAME,
|
||||
STATUS,
|
||||
RECEIPT_USER_ID,
|
||||
RECEIPT_DATE,
|
||||
WRITER,
|
||||
REMARK,
|
||||
REGDATE
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{SALES_REQUEST_MASTER_OBJID },
|
||||
(SELECT 'R'||TO_CHAR(NOW(),'YYYYMMDD')||'-'||LPAD((COALESCE(MAX(SUBSTR(REQUEST_MNG_NO,11,13)),'0')::INTEGER+1)::TEXT,3,'0') FROM SALES_REQUEST_MASTER),
|
||||
#{REQUEST_CD },
|
||||
#{PROJECT_NO },
|
||||
#{RELEASE },
|
||||
#{REQUEST_REASONS },
|
||||
#{REQUEST_USER_ID },
|
||||
#{DELIVERY_REQUEST_DATE },
|
||||
#{UNIT_NAME },
|
||||
#{STATUS },
|
||||
#{RECEIPT_USER_ID },
|
||||
#{RECEIPT_DATE },
|
||||
#{WRITER },
|
||||
#{REMARK },
|
||||
NOW()
|
||||
) ON CONFLICT (OBJID) DO
|
||||
UPDATE
|
||||
SET
|
||||
REQUEST_CD = #{REQUEST_CD },
|
||||
PROJECT_NO = #{PROJECT_NO },
|
||||
RELEASE_DATE = #{RELEASE },
|
||||
REQUEST_REASONS = #{REQUEST_REASONS },
|
||||
REQUEST_USER_ID = #{REQUEST_USER_ID },
|
||||
DELIVERY_REQUEST_DATE = #{DELIVERY_REQUEST_DATE },
|
||||
UNIT_NAME = #{UNIT_NAME },
|
||||
STATUS = #{STATUS },
|
||||
RECEIPT_USER_ID = #{RECEIPT_USER_ID },
|
||||
RECEIPT_DATE = #{RECEIPT_DATE },
|
||||
REMARK = #{REMARK }
|
||||
INSERT INTO SALES_REQUEST_MASTER
|
||||
(
|
||||
OBJID,
|
||||
REQUEST_MNG_NO,
|
||||
REQUEST_CD,
|
||||
PROJECT_NO,
|
||||
RELEASE_DATE,
|
||||
REQUEST_REASONS,
|
||||
REQUEST_USER_ID,
|
||||
DELIVERY_REQUEST_DATE,
|
||||
UNIT_NAME,
|
||||
STATUS,
|
||||
RECEIPT_USER_ID,
|
||||
RECEIPT_DATE,
|
||||
WRITER,
|
||||
REMARK,
|
||||
REGDATE,
|
||||
PURCHASE_TYPE,
|
||||
ORDER_TYPE,
|
||||
PRODUCT_NAME,
|
||||
AREA_CD,
|
||||
CUSTOMER_OBJID,
|
||||
PAID_TYPE
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{SALES_REQUEST_MASTER_OBJID },
|
||||
(SELECT 'R'||TO_CHAR(NOW(),'YYYYMMDD')||'-'||LPAD((COALESCE(MAX(SUBSTR(REQUEST_MNG_NO,11,13)),'0')::INTEGER+1)::TEXT,3,'0') FROM SALES_REQUEST_MASTER),
|
||||
#{REQUEST_CD },
|
||||
#{PROJECT_NO },
|
||||
#{RELEASE },
|
||||
#{REQUEST_REASONS },
|
||||
#{REQUEST_USER_ID },
|
||||
#{DELIVERY_REQUEST_DATE },
|
||||
#{UNIT_NAME },
|
||||
#{STATUS },
|
||||
#{RECEIPT_USER_ID },
|
||||
#{RECEIPT_DATE },
|
||||
#{WRITER },
|
||||
#{REMARK },
|
||||
NOW(),
|
||||
#{PURCHASE_TYPE },
|
||||
#{ORDER_TYPE },
|
||||
#{PRODUCT_NAME },
|
||||
#{AREA_CD },
|
||||
#{CUSTOMER_OBJID },
|
||||
#{PAID_TYPE }
|
||||
) ON CONFLICT (OBJID) DO
|
||||
UPDATE
|
||||
SET
|
||||
REQUEST_CD = #{REQUEST_CD },
|
||||
PROJECT_NO = #{PROJECT_NO },
|
||||
RELEASE_DATE = #{RELEASE },
|
||||
REQUEST_REASONS = #{REQUEST_REASONS },
|
||||
REQUEST_USER_ID = #{REQUEST_USER_ID },
|
||||
DELIVERY_REQUEST_DATE = #{DELIVERY_REQUEST_DATE },
|
||||
UNIT_NAME = #{UNIT_NAME },
|
||||
STATUS = #{STATUS },
|
||||
RECEIPT_USER_ID = #{RECEIPT_USER_ID },
|
||||
RECEIPT_DATE = #{RECEIPT_DATE },
|
||||
REMARK = #{REMARK },
|
||||
PURCHASE_TYPE = #{PURCHASE_TYPE },
|
||||
ORDER_TYPE = #{ORDER_TYPE },
|
||||
PRODUCT_NAME = #{PRODUCT_NAME },
|
||||
AREA_CD = #{AREA_CD },
|
||||
CUSTOMER_OBJID = #{CUSTOMER_OBJID },
|
||||
PAID_TYPE = #{PAID_TYPE }
|
||||
</update>
|
||||
|
||||
<select id="getSalesRequestMasterInfo" parameterType="map" resultType="map">
|
||||
@@ -643,12 +661,12 @@
|
||||
SRM.REQUEST_CD,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.REQUEST_CD) AS REQUEST_CD_NAME,
|
||||
SRM.PROJECT_NO,
|
||||
(SELECT PROJECT_NO FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS PROJECT_NUMBER,
|
||||
(SELECT PROJECT_NAME FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS PROJECT_NAME,
|
||||
(SELECT SETUP FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS SETUP,
|
||||
(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = (SELECT CUSTOMER_OBJID FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO)::NUMERIC) AS CUSTOMER_NAME,
|
||||
(SELECT CODE_NAME(PM.PRODUCT) FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS PRODUCT_NAME,
|
||||
(SELECT MECHANICAL_TYPE FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS MECHANICAL_TYPE,
|
||||
PM.PROJECT_NO AS PROJECT_NUMBER,
|
||||
PM.PROJECT_NAME,
|
||||
PM.SETUP,
|
||||
SM.SUPPLY_NAME AS CUSTOMER_NAME,
|
||||
SM.OBJID::VARCHAR AS CUSTOMER_OBJID, -- 고객사 OBJID (드롭다운 선택용)
|
||||
PM.MECHANICAL_TYPE,
|
||||
SRM.RELEASE_DATE,
|
||||
SRM.REQUEST_REASONS,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.REQUEST_REASONS) AS REQUEST_REASONS_NAME,
|
||||
@@ -669,16 +687,30 @@
|
||||
END STATUS_TITLE,
|
||||
SRM.RECEIPT_USER_ID,
|
||||
(SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = SRM.RECEIPT_USER_ID) AS RECEIPT_USER_NAME,
|
||||
RECEIPT_DATE,
|
||||
SRM.RECEIPT_DATE,
|
||||
SRM.WRITER,
|
||||
(SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = SRM.WRITER) AS WRITER_NAME,
|
||||
SRM.REGDATE,
|
||||
TO_CHAR(SRM.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
||||
REMARK
|
||||
FROM
|
||||
SALES_REQUEST_MASTER SRM
|
||||
SRM.REGDATE,
|
||||
TO_CHAR(SRM.REGDATE,'YYYY-MM-DD') AS REGDATE_TITLE,
|
||||
SRM.REMARK,
|
||||
|
||||
-- 저장된 값 우선, 없으면 조인으로 가져오기
|
||||
COALESCE(NULLIF(SRM.PURCHASE_TYPE, ''), POM.TYPE) AS PURCHASE_TYPE, -- 구매유형
|
||||
COALESCE(NULLIF(SRM.ORDER_TYPE, ''), POM.ORDER_TYPE_CD) AS ORDER_TYPE, -- 주문유형
|
||||
COALESCE(NULLIF(SRM.PRODUCT_NAME, ''), PM.PRODUCT) AS PRODUCT_NAME, -- 제품구분
|
||||
COALESCE(NULLIF(SRM.AREA_CD, ''), SM.AREA_CD) AS AREA_CD, -- 국내/해외
|
||||
COALESCE(NULLIF(SRM.CUSTOMER_OBJID, ''), SM.OBJID::VARCHAR) AS CUSTOMER_OBJID, -- 고객사
|
||||
COALESCE(NULLIF(SRM.PAID_TYPE, ''), CM.PAID_TYPE) AS PAID_TYPE, -- 유/무상
|
||||
CM.CATEGORY_CD AS CATEGORY_CD -- 제품유형 코드 ID (드롭다운 선택용)
|
||||
|
||||
FROM
|
||||
SALES_REQUEST_MASTER SRM
|
||||
LEFT JOIN PROJECT_MGMT PM ON SRM.PROJECT_NO = PM.OBJID::VARCHAR
|
||||
LEFT JOIN CONTRACT_MGMT CM ON PM.CONTRACT_OBJID = CM.OBJID::VARCHAR
|
||||
LEFT JOIN SUPPLY_MNG SM ON CM.CUSTOMER_OBJID::VARCHAR = SM.OBJID::VARCHAR
|
||||
LEFT JOIN PURCHASE_ORDER_MASTER POM ON SRM.OBJID = POM.SALES_REQUEST_OBJID
|
||||
WHERE 1=1
|
||||
AND OBJID = #{SALES_REQUEST_MASTER_OBJID}
|
||||
AND SRM.OBJID = #{SALES_REQUEST_MASTER_OBJID}
|
||||
</select>
|
||||
|
||||
<!-- 구매의뢰 저장 시 저장된 파트 정보를 초기화 -->
|
||||
@@ -911,23 +943,62 @@
|
||||
</select>
|
||||
|
||||
<select id="getSalesRequestMasterGridList" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
SRM.OBJID,
|
||||
SRM.REQUEST_MNG_NO,
|
||||
SRM.REQUEST_CD,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.REQUEST_CD) AS REQUEST_CD_NAME,
|
||||
SRM.PROJECT_NO,
|
||||
(SELECT PROJECT_NO FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS PROJECT_NUMBER,
|
||||
(SELECT PROJECT_NAME FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS PROJECT_NAME,
|
||||
SRM.RELEASE_DATE,
|
||||
SRM.REQUEST_REASONS,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.REQUEST_REASONS) AS REQUEST_REASONS_NAME,
|
||||
SRM.REQUEST_USER_ID,
|
||||
(SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = SRM.REQUEST_USER_ID) AS REQUEST_USER_NAME,
|
||||
SRM.DELIVERY_REQUEST_DATE,
|
||||
SRM.UNIT_NAME,
|
||||
(SELECT O.UNIT_NO || '-' || O.TASK_NAME FROM PMS_WBS_TASK AS O WHERE O.OBJID = SRM.UNIT_NAME) AS UNIT_CODE_NAME,
|
||||
SRM.STATUS,
|
||||
SELECT
|
||||
SRM.OBJID,
|
||||
SRM.REQUEST_MNG_NO,
|
||||
SRM.REQUEST_CD,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.REQUEST_CD) AS REQUEST_CD_NAME,
|
||||
|
||||
-- 추가된 컬럼들
|
||||
SRM.PURCHASE_TYPE,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.PURCHASE_TYPE) AS PURCHASE_TYPE_NAME,
|
||||
SRM.ORDER_TYPE,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.ORDER_TYPE) AS ORDER_TYPE_NAME,
|
||||
SRM.PRODUCT_NAME,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.PRODUCT_NAME) AS PRODUCT_NAME_FULL,
|
||||
SRM.AREA_CD,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.AREA_CD) AS AREA_CD_NAME,
|
||||
SRM.CUSTOMER_OBJID,
|
||||
(SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = SRM.CUSTOMER_OBJID) AS CUSTOMER_NAME,
|
||||
SRM.PAID_TYPE,
|
||||
(CASE WHEN SRM.PAID_TYPE = 'paid' THEN '유상' WHEN SRM.PAID_TYPE = 'free' THEN '무상' ELSE SRM.PAID_TYPE END) AS PAID_TYPE_NAME,
|
||||
|
||||
-- 품번/품명 ("외 N건" 형태로 표시)
|
||||
(
|
||||
SELECT
|
||||
CASE
|
||||
WHEN COUNT(*) > 1 THEN
|
||||
(SELECT PM.PART_NO FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)) || ' 외 ' || (COUNT(*) - 1) || '건'
|
||||
ELSE
|
||||
(SELECT PM.PART_NO FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
|
||||
END
|
||||
FROM SALES_REQUEST_PART
|
||||
WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID
|
||||
) AS PART_NO,
|
||||
(
|
||||
SELECT
|
||||
CASE
|
||||
WHEN COUNT(*) > 1 THEN
|
||||
(SELECT PM.PART_NAME FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1)) || ' 외 ' || (COUNT(*) - 1) || '건'
|
||||
ELSE
|
||||
(SELECT PM.PART_NAME FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = (SELECT PART_OBJID FROM SALES_REQUEST_PART WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID ORDER BY REGDATE LIMIT 1))
|
||||
END
|
||||
FROM SALES_REQUEST_PART
|
||||
WHERE SALES_REQUEST_MASTER_OBJID = SRM.OBJID
|
||||
) AS PART_NAME,
|
||||
|
||||
SRM.PROJECT_NO,
|
||||
(SELECT PROJECT_NO FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS PROJECT_NUMBER,
|
||||
(SELECT PROJECT_NAME FROM PROJECT_MGMT PM WHERE PM.OBJID = SRM.PROJECT_NO) AS PROJECT_NAME,
|
||||
SRM.RELEASE_DATE,
|
||||
SRM.REQUEST_REASONS,
|
||||
(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = SRM.REQUEST_REASONS) AS REQUEST_REASONS_NAME,
|
||||
COALESCE(SRM.REQUEST_USER_ID, SRM.WRITER) AS REQUEST_USER_ID,
|
||||
(SELECT DEPT_NAME||' '||USER_NAME FROM USER_INFO WHERE USER_ID = COALESCE(SRM.REQUEST_USER_ID, SRM.WRITER)) AS REQUEST_USER_NAME,
|
||||
SRM.DELIVERY_REQUEST_DATE,
|
||||
SRM.UNIT_NAME,
|
||||
(SELECT O.UNIT_NO || '-' || O.TASK_NAME FROM PMS_WBS_TASK AS O WHERE O.OBJID = SRM.UNIT_NAME) AS UNIT_CODE_NAME,
|
||||
SRM.STATUS,
|
||||
CASE
|
||||
WHEN ((SELECT COUNT(1) FROM PURCHASE_ORDER_MASTER AS O WHERE O.SALES_REQUEST_OBJID IN (SRM.OBJID)) >= (SELECT COUNT(1) FROM SALES_REQUEST_PART AS SRP WHERE srp.SALES_REQUEST_master_OBJID = SRM.OBJID )) and ((SELECT COUNT(1) FROM PURCHASE_ORDER_MASTER AS O WHERE O.SALES_REQUEST_OBJID IN (SRM.OBJID)) > 0) THEN '발주완료'
|
||||
WHEN ((SELECT COUNT(1) FROM PURCHASE_ORDER_MASTER AS O WHERE O.SALES_REQUEST_OBJID IN (SRM.OBJID)) < (SELECT COUNT(1) FROM SALES_REQUEST_PART AS SRP WHERE srp.SALES_REQUEST_master_OBJID = SRM.OBJID )) and ((SELECT COUNT(1) FROM PURCHASE_ORDER_MASTER AS O WHERE O.SALES_REQUEST_OBJID IN (SRM.OBJID)) > 0) THEN '발주부분완료'
|
||||
@@ -1102,52 +1173,100 @@
|
||||
<select id="purchaseOrderAdminSupplyInfo" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
PM.OBJID
|
||||
,CODE_NAME(PM.PRODUCT) AS PRODUCT_NAME
|
||||
,PM.MECHANICAL_TYPE
|
||||
,PM.CATEGORY_CD
|
||||
,CODE_NAME(PM.CATEGORY_CD) AS CATEGORY_NAME
|
||||
,PM.CUSTOMER_OBJID
|
||||
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = PM.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME
|
||||
,PM.PROJECT_NAME
|
||||
,PM.PRODUCT
|
||||
,CODE_NAME(PM.PRODUCT) AS PRODUCT_NAME
|
||||
,PM.STATUS_CD
|
||||
,CODE_NAME(PM.STATUS_CD) AS STATUS_NAME
|
||||
,PM.DUE_DATE
|
||||
,PM.LOCATION
|
||||
,PM.SETUP
|
||||
,PM.FACILITY
|
||||
,CODE_NAME(PM.FACILITY) AS FACILITY_NAME
|
||||
,PM.FACILITY_QTY
|
||||
,PM.FACILITY_TYPE
|
||||
,PM.FACILITY_DEPTH
|
||||
,PM.PRODUCTION_NO
|
||||
,PM.BUS_CAL_CD
|
||||
,CODE_NAME(PM.BUS_CAL_CD) AS BUS_CAL_NAME
|
||||
,PM.CATEGORY1_CD
|
||||
,CODE_NAME(PM.CATEGORY1_CD) AS CATEGORY1_NAME
|
||||
,PM.CHG_USER_ID
|
||||
,(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = PM.CHG_USER_ID ) AS CHG_USER_NAME
|
||||
,PM.PLAN_DATE
|
||||
,PM.COMPLETE_DATE
|
||||
,PM.RESULT_CD
|
||||
,CODE_NAME(PM.RESULT_CD) AS RESULT_NAME
|
||||
,PM.PROJECT_NO
|
||||
,PM.PM_USER_ID
|
||||
,PM.CONTRACT_PRICE
|
||||
,PM.CONTRACT_PRICE_CURRENCY
|
||||
,PM.CONTRACT_CURRENCY
|
||||
,CODE_NAME(PM.CONTRACT_CURRENCY) AS CONTRACT_CURRENCY_NAME
|
||||
,TO_CHAR(PM.REGDATE,'YYYY-MM-DD') AS REG_DATE
|
||||
,PM.WRITER
|
||||
,(SELECT USER_NAME FROM USER_INFO AS O WHERE O.USER_ID = PM.WRITER ) AS WRITER_NAME
|
||||
,PM.CONTRACT_NO
|
||||
,PM.CUSTOMER_EQUIP_NAME
|
||||
,PM.REQ_DEL_DATE
|
||||
,PM.CONTRACT_DEL_DATE
|
||||
,PM.CONTRACT_COMPANY
|
||||
,CODE_NAME(PM.CONTRACT_COMPANY) AS CONTRACT_COMPANY_NAME
|
||||
,PM.CONTRACT_DATE
|
||||
,PM.PO_NO
|
||||
,PM.MANUFACTURE_PLANT
|
||||
,CODE_NAME(PM.MANUFACTURE_PLANT) AS MANUFACTURE_PLANT_NAME
|
||||
,PM.CONTRACT_RESULT
|
||||
,CODE_NAME(PM.CONTRACT_RESULT) AS CONTRACT_RESULT_NAME
|
||||
,PM.AREA_CD
|
||||
,CODE_NAME(PM.AREA_CD) AS AREA_NAME
|
||||
,PM.PROJECT_NAME
|
||||
,PM.MECHANICAL_TYPE
|
||||
,PM.OVERHAUL_ORDER
|
||||
,RM.RELEASE_DATE
|
||||
,CM.PAID_TYPE
|
||||
,CM.OBJID AS CONTRACT_OBJID
|
||||
FROM
|
||||
PROJECT_MGMT AS PM
|
||||
LEFT OUTER JOIN
|
||||
RELEASE_MGMT RM
|
||||
ON PM.OBJID::VARCHAR = RM.PARENT_OBJID
|
||||
AND PM.PRODUCT = RM.PRODUCT
|
||||
<!-- LEFT OUTER JOIN
|
||||
(SELECT * FROM (SELECT DENSE_RANK() OVER(PARTITION BY T.SUPPLY_OBJID ORDER BY T.CHARGER_NAME ASC) AS TOP, T.*
|
||||
FROM SUPPLY_CHARGER_MNG T WHERE CHARGER_TYPE = '0000330' /*발주서공급처담당*/
|
||||
) AS T WHERE TOP = 1
|
||||
) AS T2
|
||||
ON T1.OBJID = T2.SUPPLY_OBJID::NUMERIC -->
|
||||
LEFT OUTER JOIN
|
||||
CONTRACT_MGMT CM
|
||||
ON PM.CONTRACT_OBJID = CM.OBJID
|
||||
WHERE 1=1
|
||||
AND PM.OBJID = #{PROJECT_NO}
|
||||
</select>
|
||||
|
||||
<select id="SalesBomPartListByProjectUnit" parameterType="map" resultType="map">
|
||||
SELECT T1.PARENT_OBJID AS BOM_REPORT_OBJID
|
||||
,T1.PART_OBJID
|
||||
,T1.OBJID SALES_BOM_REPORT_PART_OBJID
|
||||
,T1.SUPPLY_OBJID
|
||||
,PM.PART_NAME
|
||||
,PM.PART_NO
|
||||
,PM.SPEC
|
||||
,PM.MAKER
|
||||
,PM.REMARK
|
||||
,PM.UNIT
|
||||
,BPQ.QTY AS ORDER_QTY
|
||||
,T1.WRITER
|
||||
FROM SALES_BOM_REPORT_PART AS T1
|
||||
,PART_BOM_REPORT AS PBR
|
||||
,BOM_PART_QTY AS BPQ
|
||||
,PART_MNG AS PM
|
||||
WHERE PBR.OBJID = BPQ.BOM_REPORT_OBJID
|
||||
AND T1.PART_OBJID = BPQ.PART_NO
|
||||
AND T1.PART_OBJID = PM.OBJID::VARCHAR
|
||||
AND PBR.CONTRACT_OBJID = #{PROJECT_OBJID}
|
||||
AND PBR.UNIT_CODE = #{UNIT_CODE}
|
||||
AND PBR.OBJID = T1.PARENT_OBJID
|
||||
ORDER BY BPQ.SEQ
|
||||
<!-- M-BOM 데이터 조회: PROJECT_MGMT.BOM_REPORT_OBJID -> BOM_PART_QTY -> PART_MNG -->
|
||||
SELECT
|
||||
BPQ.BOM_REPORT_OBJID
|
||||
,BPQ.PART_NO AS PART_OBJID
|
||||
,PM.PART_NAME
|
||||
,PM.PART_NO
|
||||
,PM.SPEC
|
||||
,PM.MAKER
|
||||
,PM.REMARK
|
||||
,PM.UNIT
|
||||
,BPQ.QTY AS ORDER_QTY
|
||||
,NULL AS SUPPLY_OBJID
|
||||
,NULL AS WRITER
|
||||
FROM
|
||||
PROJECT_MGMT AS PJT
|
||||
INNER JOIN BOM_PART_QTY AS BPQ
|
||||
ON PJT.BOM_REPORT_OBJID = BPQ.BOM_REPORT_OBJID::VARCHAR
|
||||
LEFT JOIN PART_MNG AS PM
|
||||
ON COALESCE(NULLIF(BPQ.LAST_PART_OBJID, ''), BPQ.PART_NO) = PM.OBJID::VARCHAR
|
||||
WHERE 1=1
|
||||
AND PJT.OBJID = #{PROJECT_OBJID}
|
||||
AND PJT.BOM_REPORT_OBJID IS NOT NULL
|
||||
AND PJT.BOM_REPORT_OBJID != ''
|
||||
ORDER BY BPQ.SEQ, PM.PART_NO
|
||||
</select>
|
||||
|
||||
<update id="mergeReceiptSalesRequestInfo" parameterType="map">
|
||||
|
||||
@@ -274,6 +274,18 @@ public class SalesMngController {
|
||||
|
||||
if(!"".equals(salesRequestMasterObjId)){
|
||||
resultMap = salesMngService.getSalesRequestMasterInfo(request, paramMap);
|
||||
|
||||
// 디버깅: 조인으로 가져온 값 확인
|
||||
System.out.println("========== 디버깅: resultMap 값 확인 ==========");
|
||||
System.out.println("PURCHASE_TYPE: " + resultMap.get("PURCHASE_TYPE"));
|
||||
System.out.println("ORDER_TYPE: " + resultMap.get("ORDER_TYPE"));
|
||||
System.out.println("PRODUCT_NAME: " + resultMap.get("PRODUCT_NAME"));
|
||||
System.out.println("PRODUCT_NAME_FULL: " + resultMap.get("PRODUCT_NAME_FULL"));
|
||||
System.out.println("AREA_CD: " + resultMap.get("AREA_CD"));
|
||||
System.out.println("CUSTOMER_OBJID: " + resultMap.get("CUSTOMER_OBJID"));
|
||||
System.out.println("PAID_TYPE: " + resultMap.get("PAID_TYPE"));
|
||||
System.out.println("CATEGORY_CD: " + resultMap.get("CATEGORY_CD"));
|
||||
System.out.println("==========================================");
|
||||
}else{
|
||||
resultMap.put("OBJID", CommonUtils.createObjId());
|
||||
resultMap.put("STATUS", "create");
|
||||
@@ -286,6 +298,32 @@ public class SalesMngController {
|
||||
code_map.put("request_reasons",commonService.bizMakeOptionList("0001603", (String)resultMap.get("REQUEST_REASONS"),"common.getCodeselect"));
|
||||
//요청인
|
||||
code_map.put("request_user_id", commonService.bizMakeOptionList("", (String)resultMap.get("REQUEST_USER_ID"),"common.getUserselect"));
|
||||
//국내/해외 - 0001219 사용
|
||||
code_map.put("area_cd",commonService.bizMakeOptionList("0001219", (String)resultMap.get("AREA_CD"),"common.getCodeselect"));
|
||||
//고객사
|
||||
code_map.put("customer_objid",commonService.bizMakeOptionList("", (String)resultMap.get("CUSTOMER_OBJID"),"common.getsupplyselect"));
|
||||
//구매유형 (PURCHASE_TYPE) - 0001068 사용
|
||||
code_map.put("purchase_type",commonService.bizMakeOptionList("0001068", (String)resultMap.get("PURCHASE_TYPE"),"common.getCodeselect"));
|
||||
//주문유형 (ORDER_TYPE) - 0001406 사용
|
||||
code_map.put("order_type",commonService.bizMakeOptionList("0001406", (String)resultMap.get("ORDER_TYPE"),"common.getCodeselect"));
|
||||
//제품구분 (PRODUCT_NAME) - 0000001 사용
|
||||
code_map.put("product_name",commonService.bizMakeOptionList("0000001", (String)resultMap.get("PRODUCT_NAME"),"common.getCodeselect"));
|
||||
//제품유형 (CATEGORY_CD) - 0000167 사용
|
||||
code_map.put("category_cd",commonService.bizMakeOptionList("0000167", (String)resultMap.get("CATEGORY_CD"),"common.getCodeselect"));
|
||||
//유/무상 (PAID_TYPE) - COMM_CODE에서 조회 시도, 없으면 하드코딩
|
||||
String paidTypeOptions = "";
|
||||
try {
|
||||
paidTypeOptions = commonService.bizMakeOptionList("PAID_TYPE", (String)resultMap.get("PAID_TYPE"),"common.getCodeselect");
|
||||
} catch (Exception e) {
|
||||
// COMM_CODE에 없으면 하드코딩
|
||||
}
|
||||
if (paidTypeOptions == null || paidTypeOptions.trim().isEmpty()) {
|
||||
String paidType = (String)resultMap.get("PAID_TYPE");
|
||||
paidTypeOptions = "";
|
||||
paidTypeOptions += "<option value='paid'" + ("paid".equals(paidType) ? " selected" : "") + ">유상</option>";
|
||||
paidTypeOptions += "<option value='free'" + ("free".equals(paidType) ? " selected" : "") + ">무상</option>";
|
||||
}
|
||||
code_map.put("paid_type", paidTypeOptions);
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user