영업정보 수정시 프로젝트 정보 업데이트 수정
This commit is contained in:
@@ -7627,29 +7627,65 @@ SELECT
|
||||
<!-- //영업정보 수정시 프로젝트 정보 업데이트 -->
|
||||
<update id="ModifyProjectByContract" parameterType="map">
|
||||
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}
|
||||
<set>
|
||||
<if test="due_date != null and due_date != ''">
|
||||
DUE_DATE = #{due_date},
|
||||
</if>
|
||||
<if test="customer_project_name != null and customer_project_name != ''">
|
||||
CUSTOMER_PROJECT_NAME = #{customer_project_name},
|
||||
</if>
|
||||
<if test="location != null and location != ''">
|
||||
LOCATION = #{location},
|
||||
</if>
|
||||
<if test="setup != null and setup != ''">
|
||||
SETUP = #{setup},
|
||||
</if>
|
||||
<if test="facility != null and facility != ''">
|
||||
FACILITY = #{facility},
|
||||
</if>
|
||||
<if test="facility_type != null and facility_type != ''">
|
||||
FACILITY_TYPE = #{facility_type},
|
||||
</if>
|
||||
<if test="facility_depth != null and facility_depth != ''">
|
||||
FACILITY_DEPTH = #{facility_depth},
|
||||
</if>
|
||||
<if test="contract_date != null and contract_date != ''">
|
||||
CONTRACT_DATE = #{contract_date},
|
||||
</if>
|
||||
<if test="po_no != null and po_no != ''">
|
||||
PO_NO = #{po_no},
|
||||
</if>
|
||||
<if test="pm_user_id != null and pm_user_id != ''">
|
||||
PM_USER_ID = #{pm_user_id},
|
||||
</if>
|
||||
<if test="contract_currency != null and contract_currency != ''">
|
||||
CONTRACT_CURRENCY = #{contract_currency},
|
||||
</if>
|
||||
<if test="contract_price_currency != null and contract_price_currency != ''">
|
||||
CONTRACT_PRICE_CURRENCY = #{contract_price_currency},
|
||||
</if>
|
||||
<if test="contract_price != null and contract_price != ''">
|
||||
CONTRACT_PRICE = #{contract_price},
|
||||
</if>
|
||||
<if test="project_name != null and project_name != ''">
|
||||
PROJECT_NAME = #{project_name},
|
||||
</if>
|
||||
<if test="contract_del_date != null and contract_del_date != ''">
|
||||
CONTRACT_DEL_DATE = #{contract_del_date},
|
||||
</if>
|
||||
<if test="req_del_date != null and req_del_date != ''">
|
||||
REQ_DEL_DATE = #{req_del_date},
|
||||
</if>
|
||||
<if test="contract_company != null and contract_company != ''">
|
||||
CONTRACT_COMPANY = #{contract_company},
|
||||
</if>
|
||||
<if test="manufacture_plant != null and manufacture_plant != ''">
|
||||
MANUFACTURE_PLANT = #{manufacture_plant},
|
||||
</if>
|
||||
<if test="quantity != null and quantity != ''">
|
||||
QUANTITY = #{quantity}
|
||||
</if>
|
||||
</set>
|
||||
WHERE CONTRACT_OBJID = #{objId}
|
||||
AND PART_OBJID = #{part_objid}
|
||||
</update>
|
||||
|
||||
@@ -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<Map> contractItems = getContractItems(paramMap);
|
||||
|
||||
if(contractItems != null && !contractItems.isEmpty()) {
|
||||
for(Map item : contractItems) {
|
||||
Map<String, Object> updateParam = new HashMap<String, Object>();
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user