발주서 양식 변경 (일반발주서)
This commit is contained in:
@@ -414,11 +414,15 @@ public class PurchaseOrderController {
|
||||
String type = CommonUtils.checkNull(paramMap.get("TYPE"));
|
||||
//System.out.println("type::"+type);
|
||||
|
||||
if("0001069".equals(type) || "0001787".equals(type)){ //일반부품 //구매품표준
|
||||
purchaseOrderService.saveDeliveryInfo(request, paramMap);
|
||||
}else{
|
||||
purchaseOrderService.saveDeliveryETCInfo(request, paramMap);
|
||||
}
|
||||
// if("0001069".equals(type) || "0001787".equals(type)){ //일반부품 //구매품표준
|
||||
// purchaseOrderService.saveDeliveryInfo(request, paramMap);
|
||||
// }else{
|
||||
// purchaseOrderService.saveDeliveryETCInfo(request, paramMap);
|
||||
// }
|
||||
|
||||
// 무조건 saveDeliveryInfo로 처리 (자재 생성 포함)
|
||||
purchaseOrderService.saveDeliveryInfo(request, paramMap);
|
||||
|
||||
resultMap.put("message", "저장되었습니다.");
|
||||
}catch(Exception e){
|
||||
resultMap.put("message", "오류가 발생하였습니다.");
|
||||
@@ -670,6 +674,349 @@ public class PurchaseOrderController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 일반 발주서 양식 팝업
|
||||
*/
|
||||
@RequestMapping("/purchaseOrder/purchaseOrderFormPopup_general.do")
|
||||
public String purchaseOrderFormPopup_general(HttpSession session, HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
Map code_map = new HashMap();
|
||||
Map info = new HashMap();
|
||||
List detailList = new ArrayList();
|
||||
HashMap oemInfo = new HashMap();
|
||||
|
||||
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||||
String objId = CommonUtils.checkNull(paramMap.get("PURCHASE_ORDER_MASTER_OBJID"), "");
|
||||
String proposalObjId = CommonUtils.checkNull(paramMap.get("PROPOSAL_OBJID"), "");
|
||||
String writer = CommonUtils.checkNull(person.getUserId());
|
||||
String writerName = person.getUserName();
|
||||
|
||||
try{
|
||||
oemInfo = (HashMap)adminService.getSupMngInfo("-1130201617"); // RPS
|
||||
|
||||
if(objId.equals("")){
|
||||
request.setAttribute("actType", "C"); // 등록 Create
|
||||
objId = CommonUtils.createObjId();
|
||||
info.put("actType", "C");
|
||||
info.put("OBJID", objId);
|
||||
info.put("PROPOSAL_OBJID", proposalObjId);
|
||||
info.put("SALES_MNG_USER_ID", writer);
|
||||
// 발주번호 자동생성
|
||||
info.put("PURCHASE_ORDER_NO", "RPS25-" + new java.text.SimpleDateFormat("MMdd").format(new java.util.Date()) + "-01");
|
||||
// 발주일자 기본값 오늘
|
||||
info.put("ORDER_DATE", new java.text.SimpleDateFormat("yyyy년 MM월 dd일").format(new java.util.Date()));
|
||||
// 담당자 정보 기본값
|
||||
info.put("MANAGER_NAME", "안동윤");
|
||||
info.put("MANAGER_POSITION", "팀장");
|
||||
info.put("MANAGER_PHONE", "010-2313-2702");
|
||||
info.put("MANAGER_EMAIL", "ady1225@rps-korea.com");
|
||||
info.put("MANAGER_NAME2", "서동민");
|
||||
info.put("MANAGER_POSITION2", "주임");
|
||||
info.put("MANAGER_PHONE2", "010-9538-9513");
|
||||
info.put("MANAGER_EMAIL2", "sdm0927@rps-korea.com");
|
||||
|
||||
// 품의서(PROPOSAL) 품목 데이터 조회하여 그리드에 자동 세팅
|
||||
if(!"".equals(proposalObjId)){
|
||||
Map proposalParam = new HashMap();
|
||||
proposalParam.put("PROPOSAL_OBJID", proposalObjId);
|
||||
List proposalPartList = commonService.selectList("salesMng.getProposalPartList", request, proposalParam);
|
||||
if(proposalPartList != null && proposalPartList.size() > 0){
|
||||
// 품의서 품목을 발주서 그리드 형식으로 변환
|
||||
for(int i = 0; i < proposalPartList.size(); i++){
|
||||
Map partRow = (Map)proposalPartList.get(i);
|
||||
Map detailRow = new HashMap();
|
||||
detailRow.put("OBJID", "");
|
||||
|
||||
// 대소문자 모두 체크
|
||||
String partObjId = CommonUtils.checkNull(partRow.get("PART_OBJID"));
|
||||
if("".equals(partObjId)) partObjId = CommonUtils.checkNull(partRow.get("part_objid"));
|
||||
detailRow.put("PART_OBJID", partObjId);
|
||||
|
||||
detailRow.put("ROW_NUM", i + 1);
|
||||
|
||||
String partName = CommonUtils.checkNull(partRow.get("PART_NAME"));
|
||||
if("".equals(partName)) partName = CommonUtils.checkNull(partRow.get("part_name"));
|
||||
detailRow.put("PART_NAME", partName);
|
||||
|
||||
String spec = CommonUtils.checkNull(partRow.get("SPEC"));
|
||||
if("".equals(spec)) spec = CommonUtils.checkNull(partRow.get("spec"));
|
||||
detailRow.put("SPEC", spec);
|
||||
|
||||
// 수량 (대소문자 모두 체크)
|
||||
Object qtyObj = partRow.get("QTY");
|
||||
if(qtyObj == null) qtyObj = partRow.get("qty");
|
||||
String qtyStr = CommonUtils.checkNull(qtyObj, "0").toString().replaceAll(",", "");
|
||||
int qty = 0;
|
||||
try { qty = (int)Double.parseDouble(qtyStr.equals("") ? "0" : qtyStr); } catch(Exception e) { qty = 0; }
|
||||
detailRow.put("ORDER_QTY", qty);
|
||||
|
||||
// 단위 (대소문자 모두 체크)
|
||||
String unit = CommonUtils.checkNull(partRow.get("UNIT"));
|
||||
if("".equals(unit)) unit = CommonUtils.checkNull(partRow.get("unit"));
|
||||
detailRow.put("UNIT", "".equals(unit) ? "0001400" : unit);
|
||||
|
||||
// 배송지
|
||||
detailRow.put("DELIVERY_PLACE", "RPS");
|
||||
|
||||
// 단가 (대소문자 모두 체크)
|
||||
Object priceObj = partRow.get("UNIT_PRICE");
|
||||
if(priceObj == null) priceObj = partRow.get("unit_price");
|
||||
String priceStr = CommonUtils.checkNull(priceObj, "0").toString().replaceAll(",", "");
|
||||
int unitPrice = 0;
|
||||
try { unitPrice = (int)Double.parseDouble(priceStr.equals("") ? "0" : priceStr); } catch(Exception e) { unitPrice = 0; }
|
||||
detailRow.put("PARTNER_PRICE", unitPrice);
|
||||
|
||||
// 공급가액 = 수량 * 단가
|
||||
detailRow.put("SUPPLY_UNIT_PRICE", qty * unitPrice);
|
||||
|
||||
// 비고 (대소문자 모두 체크)
|
||||
String remark = CommonUtils.checkNull(partRow.get("REMARK"));
|
||||
if("".equals(remark)) remark = CommonUtils.checkNull(partRow.get("remark"));
|
||||
detailRow.put("REMARK", remark);
|
||||
|
||||
detailList.add(detailRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
info = purchaseOrderService.getPurchaseOrderMasterInfo(request, paramMap);
|
||||
paramMap.put("MULTI_MASTER_OBJID", objId);
|
||||
detailList = commonService.selectList("purchaseOrder.getPURCHASE_ORDER_PART", request, paramMap);
|
||||
}
|
||||
|
||||
// 공급업체
|
||||
code_map.put("partner_cd", commonService.bizMakeOptionList("", (String)info.get("PARTNER_OBJID"),"common.getClientMngSupplySelect"));
|
||||
|
||||
// 단위
|
||||
Map param = new HashMap();
|
||||
param.put("code","0001399");
|
||||
code_map.put("unit_cd", commonService.getJqGridSelectBoxJsonData2("common.getCodeselect", param, "선택", "CODE", "NAME"));
|
||||
|
||||
// 결제조건
|
||||
code_map.put("payment_terms_cd", commonService.bizMakeOptionList("0001074", (String)info.get("PAYMENT_TERMS"),"common.getCodeselect"));
|
||||
|
||||
// 납품장소
|
||||
code_map.put("delivery_place_cd", commonService.bizMakeOptionList("0001146", (String)info.get("DELIVERY_PLACE"),"common.getCodeselect"));
|
||||
|
||||
request.setAttribute("oemInfo", oemInfo);
|
||||
request.setAttribute("info", info);
|
||||
request.setAttribute("gridDetailList", JsonUtil.ListToJson(detailList));
|
||||
request.setAttribute("code_map", code_map);
|
||||
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();
|
||||
}
|
||||
|
||||
if(CommonUtils.checkNull(paramMap.get("actType")).equals("DOWN")){
|
||||
request.setAttribute("detailList", detailList);
|
||||
Map apprParam = new HashMap();
|
||||
apprParam.put("objId", objId);
|
||||
request.setAttribute("apprList", commonService.getApprovalLine(apprParam));
|
||||
return "/purchaseOrder/purchaseOrderFormPopup_generalDOWN";
|
||||
}else{
|
||||
return "/purchaseOrder/purchaseOrderFormPopup_general";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 일반 발주서 저장
|
||||
*/
|
||||
@RequestMapping("/purchaseOrder/purchaseOrderFormPopup_generalSave.do")
|
||||
@ResponseBody
|
||||
public Map purchaseOrderFormPopup_generalSave(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
|
||||
Map resultMap = new HashMap();
|
||||
try{
|
||||
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||||
paramMap.put("WRITER", CommonUtils.checkNull(person.getUserId()));
|
||||
paramMap.put("FORM_TYPE", "general");
|
||||
|
||||
purchaseOrderService.savePurchaseOrder_new(request, paramMap);
|
||||
CommonUtils.setReqResult(request, "", "S", null, resultMap);
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
CommonUtils.setReqResult(request, "", "F", e, resultMap);
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 외주가공 발주서 양식 팝업
|
||||
*/
|
||||
@RequestMapping("/purchaseOrder/purchaseOrderFormPopup_outsourcing.do")
|
||||
public String purchaseOrderFormPopup_outsourcing(HttpSession session, HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
Map code_map = new HashMap();
|
||||
Map info = new HashMap();
|
||||
List detailList = new ArrayList();
|
||||
HashMap oemInfo = new HashMap();
|
||||
|
||||
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||||
String objId = CommonUtils.checkNull(paramMap.get("PURCHASE_ORDER_MASTER_OBJID"), "");
|
||||
String proposalObjId = CommonUtils.checkNull(paramMap.get("PROPOSAL_OBJID"), "");
|
||||
String writer = CommonUtils.checkNull(person.getUserId());
|
||||
String writerName = person.getUserName();
|
||||
|
||||
try{
|
||||
oemInfo = (HashMap)adminService.getSupMngInfo("-1130201617"); // RPS
|
||||
|
||||
if(objId.equals("")){
|
||||
request.setAttribute("actType", "C"); // 등록 Create
|
||||
objId = CommonUtils.createObjId();
|
||||
info.put("actType", "C");
|
||||
info.put("OBJID", objId);
|
||||
info.put("PROPOSAL_OBJID", proposalObjId);
|
||||
info.put("SALES_MNG_USER_ID", writer);
|
||||
// 발주번호 자동생성
|
||||
info.put("PURCHASE_ORDER_NO", "RPS25-" + new java.text.SimpleDateFormat("MMdd").format(new java.util.Date()) + "-01");
|
||||
// 발주일자 기본값 오늘
|
||||
info.put("ORDER_DATE", new java.text.SimpleDateFormat("yyyy년 MM월 dd일").format(new java.util.Date()));
|
||||
// 담당자 정보 기본값
|
||||
info.put("MANAGER_NAME", "안동윤");
|
||||
info.put("MANAGER_POSITION", "팀장");
|
||||
info.put("MANAGER_PHONE", "010-2313-2702");
|
||||
info.put("MANAGER_EMAIL", "ady1225@rps-korea.com");
|
||||
info.put("MANAGER_NAME2", "서동민");
|
||||
info.put("MANAGER_POSITION2", "주임");
|
||||
info.put("MANAGER_PHONE2", "010-9538-9513");
|
||||
info.put("MANAGER_EMAIL2", "sdm0927@rps-korea.com");
|
||||
|
||||
// 품의서(PROPOSAL) 품목 데이터 조회하여 그리드에 자동 세팅
|
||||
if(!"".equals(proposalObjId)){
|
||||
Map proposalParam = new HashMap();
|
||||
proposalParam.put("PROPOSAL_OBJID", proposalObjId);
|
||||
List proposalPartList = commonService.selectList("salesMng.getProposalPartList", request, proposalParam);
|
||||
if(proposalPartList != null && proposalPartList.size() > 0){
|
||||
// 품의서 품목을 외주가공 발주서 그리드 형식으로 변환
|
||||
for(int i = 0; i < proposalPartList.size(); i++){
|
||||
Map partRow = (Map)proposalPartList.get(i);
|
||||
Map detailRow = new HashMap();
|
||||
detailRow.put("OBJID", "");
|
||||
|
||||
// 대소문자 모두 체크
|
||||
String partObjId = CommonUtils.checkNull(partRow.get("PART_OBJID"));
|
||||
if("".equals(partObjId)) partObjId = CommonUtils.checkNull(partRow.get("part_objid"));
|
||||
detailRow.put("PART_OBJID", partObjId);
|
||||
|
||||
detailRow.put("ROW_NUM", i + 1);
|
||||
|
||||
String vendorName = CommonUtils.checkNull(partRow.get("VENDOR_NAME"));
|
||||
if("".equals(vendorName)) vendorName = CommonUtils.checkNull(partRow.get("vendor_name"));
|
||||
detailRow.put("VENDOR_NAME", vendorName);
|
||||
|
||||
String partName = CommonUtils.checkNull(partRow.get("PART_NAME"));
|
||||
if("".equals(partName)) partName = CommonUtils.checkNull(partRow.get("part_name"));
|
||||
detailRow.put("PART_NAME", partName);
|
||||
|
||||
String spec = CommonUtils.checkNull(partRow.get("SPEC"));
|
||||
if("".equals(spec)) spec = CommonUtils.checkNull(partRow.get("spec"));
|
||||
detailRow.put("SPEC", spec);
|
||||
|
||||
// 수량 (대소문자 모두 체크)
|
||||
Object qtyObj = partRow.get("QTY");
|
||||
if(qtyObj == null) qtyObj = partRow.get("qty");
|
||||
String qtyStr = CommonUtils.checkNull(qtyObj, "0").toString().replaceAll(",", "");
|
||||
int qty = 0;
|
||||
try { qty = (int)Double.parseDouble(qtyStr.equals("") ? "0" : qtyStr); } catch(Exception e) { qty = 0; }
|
||||
detailRow.put("ORDER_QTY", qty);
|
||||
|
||||
// 단위 (대소문자 모두 체크)
|
||||
String unit = CommonUtils.checkNull(partRow.get("UNIT"));
|
||||
if("".equals(unit)) unit = CommonUtils.checkNull(partRow.get("unit"));
|
||||
detailRow.put("UNIT", "".equals(unit) ? "0001400" : unit);
|
||||
|
||||
// 단가 (대소문자 모두 체크)
|
||||
Object priceObj = partRow.get("UNIT_PRICE");
|
||||
if(priceObj == null) priceObj = partRow.get("unit_price");
|
||||
String priceStr = CommonUtils.checkNull(priceObj, "0").toString().replaceAll(",", "");
|
||||
int unitPrice = 0;
|
||||
try { unitPrice = (int)Double.parseDouble(priceStr.equals("") ? "0" : priceStr); } catch(Exception e) { unitPrice = 0; }
|
||||
detailRow.put("PARTNER_PRICE", unitPrice);
|
||||
|
||||
// 합계 = 수량 * 단가
|
||||
detailRow.put("SUPPLY_UNIT_PRICE", qty * unitPrice);
|
||||
|
||||
detailRow.put("WORK_ORDER_NO", "");
|
||||
|
||||
String partNo = CommonUtils.checkNull(partRow.get("PART_NO"));
|
||||
if("".equals(partNo)) partNo = CommonUtils.checkNull(partRow.get("part_no"));
|
||||
detailRow.put("PART_NO", partNo);
|
||||
|
||||
String deliveryDate = CommonUtils.checkNull(partRow.get("DELIVERY_REQUEST_DATE"));
|
||||
if("".equals(deliveryDate)) deliveryDate = CommonUtils.checkNull(partRow.get("delivery_request_date"));
|
||||
detailRow.put("DELIVERY_REQUEST_DATE", deliveryDate);
|
||||
|
||||
String remark = CommonUtils.checkNull(partRow.get("REMARK"));
|
||||
if("".equals(remark)) remark = CommonUtils.checkNull(partRow.get("remark"));
|
||||
detailRow.put("REMARK", remark);
|
||||
|
||||
detailList.add(detailRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
info = purchaseOrderService.getPurchaseOrderMasterInfo(request, paramMap);
|
||||
paramMap.put("MULTI_MASTER_OBJID", objId);
|
||||
detailList = commonService.selectList("purchaseOrder.getPURCHASE_ORDER_PART", request, paramMap);
|
||||
}
|
||||
|
||||
// 공급업체
|
||||
code_map.put("partner_cd", commonService.bizMakeOptionList("", (String)info.get("PARTNER_OBJID"),"common.getClientMngSupplySelect"));
|
||||
|
||||
// 단위
|
||||
Map param = new HashMap();
|
||||
param.put("code","0001399");
|
||||
code_map.put("unit_cd", commonService.getJqGridSelectBoxJsonData2("common.getCodeselect", param, "선택", "CODE", "NAME"));
|
||||
|
||||
request.setAttribute("oemInfo", oemInfo);
|
||||
request.setAttribute("info", info);
|
||||
request.setAttribute("gridDetailList", JsonUtil.ListToJson(detailList));
|
||||
request.setAttribute("code_map", code_map);
|
||||
request.setAttribute("objId", objId);
|
||||
request.setAttribute("writer", writer);
|
||||
request.setAttribute("writerName", writerName);
|
||||
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if(CommonUtils.checkNull(paramMap.get("actType")).equals("DOWN")){
|
||||
request.setAttribute("detailList", detailList);
|
||||
Map apprParam = new HashMap();
|
||||
apprParam.put("objId", objId);
|
||||
request.setAttribute("apprList", commonService.getApprovalLine(apprParam));
|
||||
return "/purchaseOrder/purchaseOrderFormPopup_outsourcingDOWN";
|
||||
}else{
|
||||
return "/purchaseOrder/purchaseOrderFormPopup_outsourcing";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 외주가공 발주서 저장
|
||||
*/
|
||||
@RequestMapping("/purchaseOrder/purchaseOrderFormPopup_outsourcingSave.do")
|
||||
@ResponseBody
|
||||
public Map purchaseOrderFormPopup_outsourcingSave(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
|
||||
Map resultMap = new HashMap();
|
||||
try{
|
||||
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||||
paramMap.put("WRITER", CommonUtils.checkNull(person.getUserId()));
|
||||
paramMap.put("FORM_TYPE", "outsourcing");
|
||||
|
||||
purchaseOrderService.savePurchaseOrder_new(request, paramMap);
|
||||
CommonUtils.setReqResult(request, "", "S", null, resultMap);
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
CommonUtils.setReqResult(request, "", "F", e, resultMap);
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 자재관리 - 발주관리 -발주서 저장
|
||||
*/
|
||||
|
||||
@@ -544,11 +544,13 @@
|
||||
EFFECTIVE_DATE,
|
||||
PAYMENT_TERMS,
|
||||
REMARK,
|
||||
REQUEST_CONTENT,
|
||||
WRITER,
|
||||
REGDATE,
|
||||
STATUS,
|
||||
SALES_REQUEST_OBJID,
|
||||
SALES_MNG_USER_ID
|
||||
SALES_MNG_USER_ID,
|
||||
SALES_MNG_USER_ID2
|
||||
,TITLE
|
||||
,PURCHASE_DATE
|
||||
,CONTRACT_MGMT_OBJID
|
||||
@@ -562,6 +564,7 @@
|
||||
,TOTAL_REAL_SUPPLY_PRICE
|
||||
,DISCOUNT_PRICE
|
||||
,TOTAL_PRICE
|
||||
,TOTAL_PRICE_ALL
|
||||
,NEGO_RATE
|
||||
,SUPPLY_BUS_NO
|
||||
,SUPPLY_USER_NAME
|
||||
@@ -597,11 +600,13 @@
|
||||
#{EFFECTIVE_DATE},
|
||||
#{PAYMENT_TERMS},
|
||||
#{REMARK},
|
||||
#{REQUEST_CONTENT},
|
||||
#{WRITER},
|
||||
NOW(),
|
||||
#{STATUS},
|
||||
#{SALES_REQUEST_OBJID},
|
||||
#{SALES_MNG_USER_ID}
|
||||
#{SALES_MNG_USER_ID},
|
||||
#{SALES_MNG_USER_ID2}
|
||||
,#{TITLE}
|
||||
,#{PURCHASE_DATE}
|
||||
,#{CONTRACT_MGMT_OBJID}::NUMERIC
|
||||
@@ -615,6 +620,7 @@
|
||||
,#{TOTAL_REAL_SUPPLY_PRICE}
|
||||
,#{DISCOUNT_PRICE }
|
||||
,#{TOTAL_PRICE }
|
||||
,#{TOTAL_PRICE_ALL }
|
||||
,#{NEGO_RATE }
|
||||
,#{SUPPLY_BUS_NO }
|
||||
,#{SUPPLY_USER_NAME }
|
||||
@@ -650,9 +656,11 @@
|
||||
EFFECTIVE_DATE = #{EFFECTIVE_DATE},
|
||||
PAYMENT_TERMS = #{PAYMENT_TERMS},
|
||||
REMARK = #{REMARK},
|
||||
REQUEST_CONTENT = #{REQUEST_CONTENT},
|
||||
WRITER = #{WRITER},
|
||||
STATUS = #{STATUS},
|
||||
SALES_MNG_USER_ID = #{SALES_MNG_USER_ID}
|
||||
SALES_MNG_USER_ID = #{SALES_MNG_USER_ID},
|
||||
SALES_MNG_USER_ID2 = #{SALES_MNG_USER_ID2}
|
||||
,TITLE = #{TITLE}
|
||||
,PURCHASE_DATE = #{PURCHASE_DATE}
|
||||
,CONTRACT_MGMT_OBJID = #{CONTRACT_MGMT_OBJID}::NUMERIC
|
||||
@@ -669,6 +677,7 @@
|
||||
,TOTAL_REAL_SUPPLY_PRICE = #{TOTAL_REAL_SUPPLY_PRICE}
|
||||
,DISCOUNT_PRICE = #{DISCOUNT_PRICE }
|
||||
,TOTAL_PRICE = #{TOTAL_PRICE }
|
||||
,TOTAL_PRICE_ALL = #{TOTAL_PRICE_ALL }
|
||||
,NEGO_RATE = #{NEGO_RATE }
|
||||
,SUPPLY_BUS_NO = #{SUPPLY_BUS_NO }
|
||||
,SUPPLY_USER_NAME = #{SUPPLY_USER_NAME }
|
||||
@@ -1157,6 +1166,7 @@
|
||||
,STOCK_QTY
|
||||
,REAL_ORDER_QTY
|
||||
,REAL_SUPPLY_PRICE
|
||||
,PART_DELIVERY_PLACE
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@@ -1196,6 +1206,7 @@
|
||||
,REPLACE(#{STOCK_QTY} ::VARCHAR, ',', '')
|
||||
,REPLACE(#{REAL_ORDER_QTY} ::VARCHAR, ',', '')
|
||||
,REPLACE(#{REAL_SUPPLY_PRICE} ::VARCHAR, ',', '')
|
||||
,#{PART_DELIVERY_PLACE}
|
||||
) ON CONFLICT (OBJID) DO
|
||||
UPDATE
|
||||
SET
|
||||
@@ -1223,6 +1234,7 @@
|
||||
,STOCK_QTY = REPLACE(#{STOCK_QTY} ::VARCHAR, ',', '')
|
||||
,REAL_ORDER_QTY = REPLACE(#{REAL_ORDER_QTY} ::VARCHAR, ',', '')
|
||||
,REAL_SUPPLY_PRICE = REPLACE(#{REAL_SUPPLY_PRICE} ::VARCHAR, ',', '')
|
||||
,PART_DELIVERY_PLACE = #{PART_DELIVERY_PLACE}
|
||||
</update>
|
||||
|
||||
<select id="getMyCompanyInfo" parameterType="map" resultType="map">
|
||||
@@ -1377,6 +1389,22 @@
|
||||
,(SELECT PURCHASE_ORDER_NO FROM PURCHASE_ORDER_MASTER SPOM WHERE SPOM.OBJID = POM.PURCHASE_ORDER_NO_ORG) PURCHASE_ORDER_NO_ORG_NO
|
||||
,POM.SALES_STATUS
|
||||
,POM.RECEPTION_STATUS
|
||||
|
||||
-- 담당자1 정보 (일반발주서용)
|
||||
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS MANAGER_NAME
|
||||
,(SELECT POSITION_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS MANAGER_POSITION
|
||||
,(SELECT CELL_PHONE FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS MANAGER_PHONE
|
||||
,(SELECT EMAIL FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID) AS MANAGER_EMAIL
|
||||
|
||||
-- 담당자2 정보 (일반발주서용)
|
||||
,POM.SALES_MNG_USER_ID2
|
||||
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID2) AS MANAGER_NAME2
|
||||
,(SELECT POSITION_NAME FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID2) AS MANAGER_POSITION2
|
||||
,(SELECT CELL_PHONE FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID2) AS MANAGER_PHONE2
|
||||
,(SELECT EMAIL FROM USER_INFO WHERE USER_ID = POM.SALES_MNG_USER_ID2) AS MANAGER_EMAIL2
|
||||
|
||||
-- 요청사항
|
||||
,POM.REQUEST_CONTENT
|
||||
FROM
|
||||
PURCHASE_ORDER_MASTER POM
|
||||
|
||||
@@ -2059,6 +2087,7 @@
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<!-- 자재(RESOURCE_MNG) 생성 - 중복 시 무시 -->
|
||||
<insert id="insertResourceMasterMng" parameterType="map">
|
||||
INSERT INTO RESOURCE_MNG
|
||||
(
|
||||
@@ -2074,24 +2103,21 @@
|
||||
REGDATE,
|
||||
WRITER
|
||||
)
|
||||
SELECT
|
||||
VALUES
|
||||
(
|
||||
#{OBJID}::NUMERIC,
|
||||
#{PART_OBJID},
|
||||
#{LD_PART_OBJID},
|
||||
(SELECT PM.PART_NAME FROM PART_MNG PM WHERE 1=1 AND PM.OBJID::VARCHAR = #{PART_OBJID}::VARCHAR),
|
||||
(SELECT PM.PART_NAME FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = #{PART_OBJID}::VARCHAR),
|
||||
#{SPEC},
|
||||
(SELECT PM.MATERIAL FROM PART_MNG PM WHERE 1=1 AND PM.OBJID::VARCHAR = #{PART_OBJID}::VARCHAR),
|
||||
(SELECT PM.MATERIAL FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = #{PART_OBJID}::VARCHAR),
|
||||
#{MAKER},
|
||||
#{UNIT},
|
||||
(SELECT PM.WEIGHT FROM PART_MNG PM WHERE 1=1 AND PM.OBJID::VARCHAR = #{PART_OBJID}::VARCHAR),
|
||||
(SELECT PM.WEIGHT FROM PART_MNG PM WHERE PM.OBJID::VARCHAR = #{PART_OBJID}::VARCHAR),
|
||||
NOW(),
|
||||
#{WRITER}
|
||||
WHERE
|
||||
NOT EXISTS(
|
||||
SELECT 1 FROM RESOURCE_MNG WHERE PART_OBJID = #{PART_OBJID}
|
||||
UNION ALL
|
||||
SELECT 1 FROM RESOURCE_MNG WHERE LD_PART_OBJID = #{LD_PART_OBJID}
|
||||
)
|
||||
)
|
||||
ON CONFLICT (PART_OBJID) DO NOTHING
|
||||
</insert>
|
||||
|
||||
<!-- 마지막 재고 정보를 가져온다. -->
|
||||
@@ -3192,6 +3218,7 @@ SELECT POM.OBJID
|
||||
,POM.MAIL_SEND_YN
|
||||
,POM.MAIL_SEND_DATE
|
||||
,POM.STATUS
|
||||
,COALESCE(POM.FORM_TYPE, 'general') AS FORM_TYPE
|
||||
,A.APPR_STATUS
|
||||
,CASE WHEN POM.STATUS = 'cancel' then '취소'
|
||||
ELSE COALESCE(A.APPR_STATUS_NAME,'작성중')
|
||||
@@ -3261,7 +3288,7 @@ SELECT POM.OBJID
|
||||
ON POM.CONTRACT_MGMT_OBJID = CM.OBJID
|
||||
left outer join SALES_REQUEST_MASTER as SRM
|
||||
on POM.SALES_REQUEST_OBJID = SRM.OBJID
|
||||
-- and SRM.DOC_TYPE = 'PROPOSAL' -- DOC_TYPE 컬럼 없음, 주석처리
|
||||
and SRM.DOC_TYPE = 'PROPOSAL'
|
||||
<!-- 230907 outer join으로 변경
|
||||
,PROJECT_MGMT AS CM
|
||||
WHERE POM.CONTRACT_MGMT_OBJID = CM.OBJID
|
||||
|
||||
@@ -1533,8 +1533,10 @@ public class PurchaseOrderService {
|
||||
//ARR_STOCK_QTY[i] = (REAL_ORDER_QTY - ORDER_QTY) < 0 ? 0 : (REAL_ORDER_QTY - ORDER_QTY);
|
||||
ARR_STOCK_QTY[i] = STOCK_QTY;
|
||||
|
||||
String htmlString = (String)insertMap.get("PART_NO");//"<a href='someurl'>Link Text</a>";
|
||||
if(htmlString.indexOf("</a>") > -1) {
|
||||
// 대소문자 모두 체크
|
||||
String htmlString = CommonUtils.checkNull((String)insertMap.get("PART_NO"));
|
||||
if("".equals(htmlString)) htmlString = CommonUtils.checkNull((String)insertMap.get("part_no"));
|
||||
if(!"".equals(htmlString) && htmlString.indexOf("</a>") > -1) {
|
||||
/* java 1.8이상
|
||||
//<a> 태그에서 PART_NO만 추출
|
||||
//class='pointer'>" + rowObject.PART_NO + "</a>
|
||||
@@ -1811,6 +1813,10 @@ public class PurchaseOrderService {
|
||||
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||||
String writer = CommonUtils.checkNull(person.getUserId());
|
||||
|
||||
// 발주서 양식 타입 (general: 일반, outsourcing: 외주가공)
|
||||
String formType = CommonUtils.checkNull(paramMap.get("FORM_TYPE"), "general");
|
||||
System.out.println("formType: " + formType);
|
||||
|
||||
// 선택된 구매요청서/품의서 목록
|
||||
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
|
||||
System.out.println("gridDataList size: " + gridDataList.size());
|
||||
@@ -1862,11 +1868,15 @@ public class PurchaseOrderService {
|
||||
masterParam.put("PARTNER_OBJID", partnerObjid);
|
||||
masterParam.put("WRITER", writer);
|
||||
masterParam.put("STATUS", "create");
|
||||
masterParam.put("FORM_TYPE", formType); // 발주서 양식 타입 (general/outsourcing)
|
||||
masterParam.put("TYPE", "0001069"); // 일반부품 (기본값)
|
||||
|
||||
// 원본 데이터의 프로젝트 정보 등 복사
|
||||
masterParam.putAll(selectedItem);
|
||||
masterParam.put("OBJID", purchaseOrderMasterObjid); // OBJID는 새로 생성한 것으로
|
||||
masterParam.put("PARTNER_OBJID", partnerObjid); // PARTNER_OBJID 덮어쓰기
|
||||
masterParam.put("FORM_TYPE", formType); // FORM_TYPE 덮어쓰기 방지
|
||||
masterParam.put("TYPE", "0001069"); // TYPE 덮어쓰기 방지 (일반부품)
|
||||
|
||||
sqlSession.update("purchaseOrder.mergePurchaseOrderMasterBySalesRequest", masterParam);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user