void YKBizMapManufactureDemand::DeleteRecreateOrder(YKManufactureDemandSPtr demand) { if (demand->GetRelationOrder().ValidObj()) { list<WorkInfor> newDemandList; YKOrderSPtr relaOrder = demand->GetRelationOrder(); YK_UINT num = demand->GetRelaDemandList().Size(); set<YK_ID> relationOrderList; relationOrderList.insert(relaOrder->GetID()); if (1 == num) { DeleteOrder(relationOrderList); } else if(num>1) { demand->GetRelaDemandList().foreach([&newDemandList](YKManufactureDemandSPtr& demandt){ WorkInfor temp; Assignment(demandt,temp); newDemandList.push_back(temp); }); DeleteOrder(relationOrderList); ReCreateOrder(newDemandList); } } }
void YKBizMapManufactureDemand::ModifyOrder(YKManufactureDemandSPtr demand) { if(!demand->GetRelationOrder().ValidObj()) { WorkInfor temp; Assignment(demand,temp); m_workinforList.push_back(temp); } else { list<WorkInfor> newDemandList; YKOrderSPtr relationOrderList = demand->GetRelationOrder(); demand->GetRelaDemandList().foreach([&](YKManufactureDemandSPtr& demandt){ WorkInfor temp; Assignment(demandt,temp); newDemandList.push_back(temp); }); set<YK_ID> delList; delList.insert(relationOrderList->GetID()); DeleteOrder(delList); ReCreateOrder(newDemandList); } }
void COrderManagerDlg::OnNMDblclkListOrdermgrOrders(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. CListCtrl* OrderList = (CListCtrl*)this->GetDlgItem(IDC_LIST_ORDERMGR_ORDERS); int index = pNMItemActivate->iItem; if (index != -1) { DeleteOrder(OrderList->GetItemText(index, 0)); } *pResult = 0; }