diff --git a/src/com/pms/mapper/project.xml b/src/com/pms/mapper/project.xml index f8d6dc3..78f3f2f 100644 --- a/src/com/pms/mapper/project.xml +++ b/src/com/pms/mapper/project.xml @@ -7627,29 +7627,65 @@ SELECT UPDATE PROJECT_MGMT - SET - DUE_DATE = #{due_date} - ,CUSTOMER_PROJECT_NAME = #{customer_project_name} - ,LOCATION = #{location} - ,SETUP = #{setup} - ,FACILITY = #{facility} - ,FACILITY_TYPE = #{facility_type} - ,FACILITY_DEPTH = #{facility_depth} - ,CONTRACT_DATE = #{contract_date} - ,PO_NO = #{po_no} - ,PM_USER_ID = #{pm_user_id} - ,CONTRACT_CURRENCY = #{contract_currency} - ,CONTRACT_PRICE_CURRENCY = #{contract_price_currency} - ,CONTRACT_PRICE = #{contract_price} - ,PROJECT_NAME = #{project_name} - ,CONTRACT_DEL_DATE = #{contract_del_date} - ,REQ_DEL_DATE = #{req_del_date} - ,CONTRACT_COMPANY = #{contract_company} - ,MANUFACTURE_PLANT = #{manufacture_plant} - ,PART_OBJID = #{part_objid} - ,PART_NO = #{part_no} - ,PART_NAME = #{part_name} - ,QUANTITY = #{quantity} + + + DUE_DATE = #{due_date}, + + + CUSTOMER_PROJECT_NAME = #{customer_project_name}, + + + LOCATION = #{location}, + + + SETUP = #{setup}, + + + FACILITY = #{facility}, + + + FACILITY_TYPE = #{facility_type}, + + + FACILITY_DEPTH = #{facility_depth}, + + + CONTRACT_DATE = #{contract_date}, + + + PO_NO = #{po_no}, + + + PM_USER_ID = #{pm_user_id}, + + + CONTRACT_CURRENCY = #{contract_currency}, + + + CONTRACT_PRICE_CURRENCY = #{contract_price_currency}, + + + CONTRACT_PRICE = #{contract_price}, + + + PROJECT_NAME = #{project_name}, + + + CONTRACT_DEL_DATE = #{contract_del_date}, + + + REQ_DEL_DATE = #{req_del_date}, + + + CONTRACT_COMPANY = #{contract_company}, + + + MANUFACTURE_PLANT = #{manufacture_plant}, + + + QUANTITY = #{quantity} + + WHERE CONTRACT_OBJID = #{objId} AND PART_OBJID = #{part_objid} diff --git a/src/com/pms/salesmgmt/service/ContractMgmtService.java b/src/com/pms/salesmgmt/service/ContractMgmtService.java index 645850a..e99bcec 100644 --- a/src/com/pms/salesmgmt/service/ContractMgmtService.java +++ b/src/com/pms/salesmgmt/service/ContractMgmtService.java @@ -512,6 +512,35 @@ public class ContractMgmtService { paramMap.put("writer", person.getUserId()); int cnt = sqlSession.update("contractMgmt.saveContractMgmtInfo", paramMap); + // 프로젝트가 존재하는 경우 프로젝트 정보도 업데이트 (수량 제외) + String contract_objid = CommonUtils.checkNull(paramMap.get("objId")); + if(!"".equals(contract_objid)) { + // CONTRACT_OBJID로 프로젝트 존재 여부 확인 + resultList = sqlSession.selectOne("contractMgmt.getProjectListBycontractObjid", paramMap); + + if(resultList != null) { + System.out.println("=== 견적요청 수정 시 프로젝트 업데이트 (수량 제외) ==="); + System.out.println("CONTRACT_OBJID: " + contract_objid); + + // 품목별로 프로젝트 업데이트 (수량은 제외) + List contractItems = getContractItems(paramMap); + + if(contractItems != null && !contractItems.isEmpty()) { + for(Map item : contractItems) { + Map updateParam = new HashMap(); + updateParam.putAll(paramMap); + updateParam.put("part_objid", item.get("PART_OBJID")); + updateParam.put("due_date", item.get("DUE_DATE")); + // quantity는 paramMap에서 제거하여 업데이트되지 않도록 함 + updateParam.remove("quantity"); + + System.out.println("프로젝트 업데이트 - PART_OBJID: " + item.get("PART_OBJID") + ", 납기일: " + updateParam.get("due_date")); + sqlSession.update("project.ModifyProjectByContract", updateParam); + } + } + } + } + resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); sqlSession.commit();