diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_general.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_general.jsp index 08a0f44..823c37d 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_general.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_general.jsp @@ -230,7 +230,7 @@ $(document).ready(function(){ ,{name:"PART_OBJID" , hidden: true, sortable:false, editable:false} ,{name:"PART_NO" , hidden: true, sortable:false, editable:false} ,{name:"ROW_NUM" , width:40, align:"center", sortable:false, editable:false} - ,{name:"PART_NAME" , width:170, align:"left", sortable:false, editable:<%= isModify %>} + ,{name:"PART_NAME" , width:170, align:"left", sortable:false, editable:false} ,{name:"SPEC" , width:180, align:"left", sortable:false, editable:<%= isModify %>} ,{name:"ORDER_QTY" , width:60, align:"right", sortable:false, editable:<%= isModify %> ,formatter:"integer", formatoptions:{thousandsSeparator:","} diff --git a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_outsourcing.jsp b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_outsourcing.jsp index 39ff3cd..f47dfc5 100644 --- a/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_outsourcing.jsp +++ b/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_outsourcing.jsp @@ -16,6 +16,14 @@ isModify = false; //수정불가 } String actType = (String)request.getAttribute("actType"); + + // 담당자 목록 + List userList = (List)request.getAttribute("userList"); + if(userList == null) userList = new ArrayList(); + + // 현재 선택된 담당자 ID (SALES_MNG_USER_ID, SALES_MNG_USER_ID2에 저장) + String managerId = CommonUtils.checkNull(info != null ? info.get("SALES_MNG_USER_ID") : ""); + String managerId2 = CommonUtils.checkNull(info != null ? info.get("SALES_MNG_USER_ID2") : ""); %> @@ -36,9 +44,9 @@ display: flex; justify-content: space-between; align-items: flex-start; - margin-bottom: 20px; + /* margin-bottom: 20px; */ border-bottom: 2px solid #333; - padding-bottom: 15px; + /* padding-bottom: 15px; */ } .po-logo { width: 120px; @@ -48,8 +56,7 @@ flex-grow: 1; } .po-company-title { - font-size: 14px; - border: 1px solid #333; + font-size: 16px; padding: 5px 15px; display: inline-block; margin-bottom: 5px; @@ -78,17 +85,17 @@ .po-info-table { width: 100%; border-collapse: collapse; - margin-bottom: 15px; + /* margin-bottom: 15px; */ } .po-info-table td { padding: 8px; - border: 1px solid #ddd; + /* border: 1px solid #ddd; */ font-size: 13px; } .po-info-table .label { - background-color: #f5f5f5; + /* background-color: #f5f5f5; */ font-weight: bold; - width: 120px; + width: 20%; } .po-manager-box { border: 1px solid #333; @@ -133,8 +140,9 @@ background-color: #fff9c4 !important; } .total-section { - margin-top: 15px; + /* margin-top: 15px; */ border: 1px solid #333; + width: 50%; } .total-section table { width: 100%; @@ -146,22 +154,29 @@ font-size: 14px; } .total-section .label { - background-color: #f0f0f0; + background-color: #e2efda; font-weight: bold; text-align: center; + width: 40%; } .total-section .amount { text-align: right; font-weight: bold; } .confidential-notice { - margin-top: 20px; + /* margin-top: 20px; */ padding: 10px; - border: 1px solid #ccc; - background-color: #f9f9f9; + /* border: 1px solid #ccc; */ + /* background-color: #f9f9f9; */ font-size: 12px; - text-align: center; - color: #666; + text-align: right; + color: #cb3333; +} +input.date_icon { + border: 1px solid #aaa !important; + border-radius: 4px; + padding: 2px 5px; + box-sizing: border-box; } @@ -178,6 +193,24 @@ $(document).ready(function(){ $(this).val(fnc_addComma($(this).val().replace(/[^0-9]/g,""))); }); + // 담당자1 선택 시 전화번호/이메일 표시 + $("#SALES_MNG_USER_ID").change(function(){ + var $selected = $(this).find("option:selected"); + var phone = $selected.data("phone") || ""; + var email = $selected.data("email") || ""; + $("#display_phone1").text(phone); + $("#display_email1").text(email); + }); + + // 담당자2 선택 시 전화번호/이메일 표시 + $("#SALES_MNG_USER_ID2").change(function(){ + var $selected = $(this).find("option:selected"); + var phone = $selected.data("phone") || ""; + var email = $selected.data("email") || ""; + $("#display_phone2").text(phone); + $("#display_email2").text(email); + }); + // 결재라인 가져오기 fn_getApprLine(); @@ -196,7 +229,7 @@ $(document).ready(function(){ ,{name:"PURCHASE_ORDER_NO" , width:110, align:"center", sortable:false, editable:false} ,{name:"PARTNER_NAME" , width:80, align:"center", sortable:false, editable:false} ,{name:"PRODUCT_NAME" , width:160, align:"left", sortable:false, editable:<%= isModify %>} - ,{name:"PART_NAME" , width:80, align:"center", sortable:false, editable:<%= isModify %>} + ,{name:"PART_NAME" , width:80, align:"center", sortable:false, editable:false} ,{name:"ORDER_QTY" , width:50, align:"right", sortable:false, editable:<%= isModify %> ,formatter:"integer", formatoptions:{thousandsSeparator:","} ,editoptions:{ @@ -462,12 +495,15 @@ var gridFn = { + + +
㈜ 알피에스
@@ -490,7 +526,7 @@ var gridFn = {
-
+
@@ -500,13 +536,13 @@ var gridFn = {
2. 발주일자 : - readonly<% } %> style="width:120px;"/> + readonly<% } %> style="width:100%;"/>
3. 수신업체 : - disabled<% } %>> ${code_map.partner_cd} @@ -516,22 +552,84 @@ var gridFn = {
- -
-
담 당 자
-
- ${info.MANAGER_NAME} ${info.MANAGER_POSITION}
- (${info.MANAGER_PHONE} / ${info.MANAGER_EMAIL})
- ${info.MANAGER_NAME2} ${info.MANAGER_POSITION2}
- (${info.MANAGER_PHONE2} / ${info.MANAGER_EMAIL2}) -
-
- - -
-
㈜알피에스 대표이사 이 동 헌
-
대전광역시 유성구 국제과학10로8(둔곡동 402-4번지)
-
+ + + + + + + + + + + + + + + + + + + + + +
담 당 자 + <% if(isModify){ %> + + <% } else { %> + ${info.MANAGER_NAME} ${info.MANAGER_POSITION} + <% } %> +
+ (${info.MANAGER_PHONE} / ${info.MANAGER_EMAIL}) + + 직인 +
+ <% if(isModify){ %> + + <% } else { %> + ${info.MANAGER_NAME2} ${info.MANAGER_POSITION2} + <% } %> +
+ (${info.MANAGER_PHONE2} / ${info.MANAGER_EMAIL2}) +
㈜알피에스 대표이사 이 동 헌
대전광역시 유성구 국제과학10로8(둔곡동 402-4번지)
@@ -541,13 +639,13 @@ var gridFn = {
<% if(isModify){ %> - - - + + <% }else{ %> - + <% } %> - +
@@ -557,10 +655,10 @@ var gridFn = { -
+
- +
총 공 급 가 액총 공 급 가 액
diff --git a/src/com/pms/controller/PurchaseOrderController.java b/src/com/pms/controller/PurchaseOrderController.java index 8853869..70b5517 100644 --- a/src/com/pms/controller/PurchaseOrderController.java +++ b/src/com/pms/controller/PurchaseOrderController.java @@ -980,6 +980,11 @@ public class PurchaseOrderController { request.setAttribute("objId", objId); request.setAttribute("writer", writer); request.setAttribute("writerName", writerName); + + // 담당자 목록 (사원 목록) + Map userParam = new HashMap(); + List userList = commonService.selectList("common.getUserList", request, userParam); + request.setAttribute("userList", userList); }catch(Exception e){ e.printStackTrace(); diff --git a/src/com/pms/mapper/purchaseOrder.xml b/src/com/pms/mapper/purchaseOrder.xml index 5ad8195..1a8f21f 100644 --- a/src/com/pms/mapper/purchaseOrder.xml +++ b/src/com/pms/mapper/purchaseOrder.xml @@ -550,7 +550,8 @@ STATUS, SALES_REQUEST_OBJID, SALES_MNG_USER_ID, - SALES_MNG_USER_ID2 + SALES_MNG_USER_ID2, + FORM_TYPE ,TITLE ,PURCHASE_DATE ,CONTRACT_MGMT_OBJID @@ -606,7 +607,8 @@ #{STATUS}, #{SALES_REQUEST_OBJID}, #{SALES_MNG_USER_ID}, - #{SALES_MNG_USER_ID2} + #{SALES_MNG_USER_ID2}, + #{FORM_TYPE} ,#{TITLE} ,#{PURCHASE_DATE} ,#{CONTRACT_MGMT_OBJID}::NUMERIC @@ -661,6 +663,9 @@ STATUS = #{STATUS}, SALES_MNG_USER_ID = #{SALES_MNG_USER_ID}, SALES_MNG_USER_ID2 = #{SALES_MNG_USER_ID2} + + ,FORM_TYPE = #{FORM_TYPE} + ,TITLE = #{TITLE} ,PURCHASE_DATE = #{PURCHASE_DATE} ,CONTRACT_MGMT_OBJID = #{CONTRACT_MGMT_OBJID}::NUMERIC @@ -745,7 +750,8 @@ REGDATE, STATUS, SALES_REQUEST_OBJID, - SALES_MNG_USER_ID + SALES_MNG_USER_ID, + FORM_TYPE ,TITLE ,PURCHASE_DATE ,CONTRACT_MGMT_OBJID @@ -784,7 +790,8 @@ NOW(), 'create', #{SALES_REQUEST_OBJID}, - #{SALES_MNG_USER_ID} + #{SALES_MNG_USER_ID}, + #{FORM_TYPE} ,#{TITLE} ,#{PURCHASE_DATE} ,NULLIF(#{PROJECT_NO}::TEXT, '')::NUMERIC @@ -1167,6 +1174,9 @@ ,REAL_ORDER_QTY ,REAL_SUPPLY_PRICE ,PART_DELIVERY_PLACE + ,PRODUCT_NAME + ,WORK_ORDER_NO + ,DELIVERY_REQUEST_DATE ) VALUES ( @@ -1207,6 +1217,9 @@ ,REPLACE(#{REAL_ORDER_QTY} ::VARCHAR, ',', '') ,REPLACE(#{REAL_SUPPLY_PRICE} ::VARCHAR, ',', '') ,#{PART_DELIVERY_PLACE} + ,#{PRODUCT_NAME} + ,#{WORK_ORDER_NO} + ,#{DELIVERY_REQUEST_DATE} ) ON CONFLICT (OBJID) DO UPDATE SET @@ -1235,6 +1248,9 @@ ,REAL_ORDER_QTY = REPLACE(#{REAL_ORDER_QTY} ::VARCHAR, ',', '') ,REAL_SUPPLY_PRICE = REPLACE(#{REAL_SUPPLY_PRICE} ::VARCHAR, ',', '') ,PART_DELIVERY_PLACE = #{PART_DELIVERY_PLACE} + ,PRODUCT_NAME = #{PRODUCT_NAME} + ,WORK_ORDER_NO = #{WORK_ORDER_NO} + ,DELIVERY_REQUEST_DATE = #{DELIVERY_REQUEST_DATE}