xj qian
2024-07-25 bbb854310857eb994c107fb0b42a44121d2d09cc
jrj/project/business/Enquiry/Entity.Product.Select.cpp
@@ -28,8 +28,8 @@
      xdwgrid   dwc_list;
      //产品缓存对象
      xdataset g_xdoc_product;
      xdataset g_xdoc_shoppingcart;
      //xdataset dw_list;
      //xdataset dwc_list;
      xcombobox  cbx_goodscar;
      //是否多选
@@ -101,7 +101,7 @@
      {
         if (row < 1) row = dwc_list.GetRow();
         if (row < 1 || row > dwc_list.GetRowCount()) return KXMLDOMElement();
         KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row);
         KXMLDOMElement e = dwc_list.GetRowElement(row);
         return e;
      }
@@ -189,7 +189,7 @@
         xs.SetContent(html);
         xs.Redraw();
         xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
         xstring id = dw_list.GetItemString(row, L"@guid");
         OnShowImage(id);
         return 1;
@@ -204,10 +204,10 @@
         xstring html = makeGoodscarHtml(row);
         xs.SetContent(html);
         xs.Redraw();
         xstring id = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
         xstring id = dwc_list.GetItemString(row, L"SKUID");
         if (m_customer != L"")
         {
            xstring customerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
            xstring customerItemNo = dwc_list.GetItemString(row, L"CustomerItemNo");
            OnShowImage(id, customerItemNo);
         }
         else
@@ -218,18 +218,22 @@
         return 1;
      }
#if 0
      int DeleteRow(int row)
      {
         int IDOK = 1;
         int MB_OKCANCEL = 1;
         int MB_ICONQUESTION = 32;
         if (MessageBox(GetHWND(), L"确认删除指定的项,删除后将不能恢复?", L"提示", MB_OKCANCEL | MB_ICONQUESTION) != IDOK) return 1;
         xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
         xstring id = dw_list.GetItemString(row, L"@guid");
         if (ProductLibraryView::DeleteItem(id) == 1)   dw_list.DeleteRow(0);
         return 1;
      }
#endif // 0
      int SetSelectState(xdwgrid dw_obj, int state)
      {
         dw_obj.SetSelectionMode(3);
@@ -279,9 +283,9 @@
         if (row < 1) row = dw_list.GetRow();
         if (row < 1 || row > dw_list.GetRowCount()) return 0;
         KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", row);
         xstring skuid = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
         xstring SKUNo = g_xdoc_product.getData(0, L"data/Item", row, L"SKUNo");
         KXMLDOMElement e = dw_list.GetRowElement(row);
         xstring skuid = dw_list.GetItemString(row, L"@guid");
         xstring SKUNo = dw_list.GetItemString(row, L"SKUNo");
         xstring id = ViewObject::GetGuid();
         xstring ret1 = Up(id);
         if (ret1 == L"-1") return -1;
@@ -331,11 +335,11 @@
         if (row < 1) row = dwc_list.GetRow();
         if (row < 1 || row > dwc_list.GetRowCount()) return 0;
         KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row);
         xstring skuid = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
         xstring SKUNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID/@__displaystring");
         KXMLDOMElement e = dwc_list.GetRowElement(row);
         xstring skuid = dwc_list.GetItemString(row, L"SKUID");
         xstring SKUNo = dwc_list.GetItemString(row, L"SKUID/@__displaystring");
         CustomerID = m_customer;
         xstring CustomerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
         xstring CustomerItemNo = dwc_list.GetItemString(row, L"CustomerItemNo");
         xstring id = ViewObject::GetGuid();
         xstring ret1 = Up(id);
         if (ret1 == L"-1") return -1;
@@ -420,10 +424,10 @@
            dwc_list.Redraw();
         }
         xstring skuid = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
         xstring SKUNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID/@__displaystring");
         xstring skuid = dwc_list.GetItemString(row, L"SKUID");
         xstring SKUNo = dwc_list.GetItemString(row, L"SKUID/@__displaystring");
         CustomerID = m_customer;
         xstring CustomerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
         xstring CustomerItemNo = dwc_list.GetItemString(row, L"CustomerItemNo");
         OnShowImage(skuid, CustomerItemNo);
         return 1;
@@ -469,7 +473,7 @@
            dw_list.Redraw();
         }
         KXMLDOMElement e1 = g_xdoc_product.getRowElement(L"data/Item", row);
         KXMLDOMElement e1 = dw_list.GetRowElement(row);
         xstring skuid = e1.getAttribute(L"guid");
         OnShowImage(skuid);
@@ -509,7 +513,7 @@
      xstring makeHtml(int row)
      {
         xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
         xstring id = dw_list.GetItemString(row, L"@guid");
         xml x = GetGoodsPropList(id);
         xml x1 = GetGoodsPropListEx(id);
@@ -541,7 +545,7 @@
            {
               name = fieldsEx.item(i).selectSingleNode(L"@name").text();
               label = fieldsEx.item(i).selectSingleNode(L"@label").text();
               ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + g_xdoc_product.getData(0, L"data/Item", row, name) + L"</td>";
               ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + dw_list.GetItemString(row, name) + L"</td>";
               cnt++;
               i++;
               if (i == len)break;
@@ -577,7 +581,7 @@
                  if (i >= len)count = 2;
                  continue;
               }
               else if (g_xdoc_product.getData(0, L"data/Item", row, name) == L"")
               else if (dw_list.GetItemString(row, name) == L"")
               {
                  KXMLDOMNodeList options = fields.item(i).selectNodes(L"item");
                  int tlen = options.length();
@@ -594,7 +598,7 @@
               }
               else
               {
                  ls_item = L"<td>" + label + L"</td>" + L"<td>" + g_xdoc_product.getData(0, L"data/Item", row, name) + L"</td>";
                  ls_item = L"<td>" + label + L"</td>" + L"<td>" + dw_list.GetItemString(row, name) + L"</td>";
                  count++;
               }
               i++;
@@ -623,10 +627,10 @@
            html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row, L"PackTerm") + L"</span></div>";
         }
         if (g_xdoc_product.getData(0, L"data/Item", row, L"Remark") != L"" && id == L"23A8BBA2-DEF1-4C00-978E-646151A6082E")
         if (dw_list.GetItemString(row, L"Remark") != L"" && id == L"23A8BBA2-DEF1-4C00-978E-646151A6082E")
         {
            html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >备注:</span></div>";
            html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0, L"data/Item", row, L"Remark") + L"</span></div>";
            html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row, L"Remark") + L"</span></div>";
         }
         html += L"<div style='height:24px'/>";
@@ -676,24 +680,24 @@
            if (i == 0)
               html += L"<td rowspan='" + xstring(len) + L"'>" + No + L"</td><td >" + label + L"</td><td >" + L"</td>";
            else
               html += L"<td >" + label + L"</td><td >" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, name) + L"</td>";
               html += L"<td >" + label + L"</td><td >" + dwc_list.GetItemString(row, name) + L"</td>";
            html += L"</tr>";
         }
         html += L"<tr>";
         html += L"<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"PackCode") + L"</td><td >包装方式</td><td >" +
            g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CPack") + L"</td>";
         html += L"<td rowspan='3'>" + dwc_list.GetItemString(row, L"PackCode") + L"</td><td >包装方式</td><td >" +
            dwc_list.GetItemString(row, L"CPack") + L"</td>";
         html += L"</tr>";
         html += L"<tr height='48'>";
         html += L"<td >包装要求</td><td >" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"PackQualityTerm") + L"</td>";
         html += L"<td >包装要求</td><td >" + dwc_list.GetItemString(row, L"PackQualityTerm") + L"</td>";
         html += L"</tr>";
         html += L"<tr>";
         html += L"<td >侧唛</td><td ></td>";
         html += L"</tr>";
         html += L"<tr height='72'>";
         html += L"<td>" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QualityCode") + L"</td><td >质量要求</td><td >" +
            g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QualityTerm") + L"</td>";
         html += L"<td>" + dwc_list.GetItemString(row, L"QualityCode") + L"</td><td >质量要求</td><td >" +
            dwc_list.GetItemString(row, L"QualityTerm") + L"</td>";
         html += L"</tr>";
         html += L"</table>";
@@ -748,7 +752,7 @@
         dw_list.Redraw();
         impStr = L"";
         SendMessage(hObject, 0x401, (LPARAM)ls_nos, 0);
         SendMessage(hObject, 0x401, (LPARAM)ls_nos.c_str(), 0);
         alert(L"转入完成!");
         return 1;
@@ -766,7 +770,7 @@
         int MB_OKCANCEL = 1;
         int MB_ICONQUESTION = 32;
         if (MessageBox(GetHWND(), L"确认删除指定的项,删除后将不能恢复?", L"提示", MB_OKCANCEL | MB_ICONQUESTION) != IDOK) return 1;
         xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
         xstring id = dw_list.GetItemString(row, L"@guid");
         if (ProductLibraryView::DeleteItem(id) == 1) dw_list.DeleteRow(0);
@@ -865,14 +869,14 @@
            OpenWindow(L"dev:xpage[PackSchemaMaint.goodslib.vx]");
         }else
         {
            int pr = g_xdoc_product;
            int pr = dw_list;
            OpenWindow(L"dev:xpage[ProductLibraryItemMaint.vx]",pr);
         }
         */
         //KXMLDOMElement ele = g_xdoc_product.getRowElement(L"data/Item", 1);
         //KXMLDOMElement ele = dw_list.getRowElement(L"data/Item", 1);
         //alert(ele.xml);
         int pr = g_xdoc_product;
         int pr = dw_list;
         OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", pr);
         return 1;
@@ -959,7 +963,7 @@
      }
      int MakeGoodCarFolderItem(HTREEITEM hItem)
      {
         xml x = ShoppingCartView::GetRoleList();
         xml x = ShoppingCartView::GetSupplierRoleList(SupplierID);
         if (!x) return 0;
         KXMLDOMNodeList nlist = x.selectNodes(L"/data/item");
         int len = nlist.length();
@@ -1031,7 +1035,7 @@
      {
         while (true)
         {
            KXMLDOMElement& e1 = tv_folder.GetItemData(hItem);
            KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
            xstring str = e1.getAttribute(L"no");
            if (str.find(L"Customer:") >= 0) return hItem;
            hItem = tv_folder.GetParentItem(hItem);
@@ -1044,12 +1048,12 @@
      {
         hItem = LookupCustomerFolder(hItem);
         if (hItem == 0) return L"";
         KXMLDOMElement& e1 = tv_folder.GetItemData(hItem);
         KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
         xstring str = e1.getAttribute(L"no");
         return str.mid(xstring(L"Customer:").length(), 9999);
      }
      HTREEITEM RetrieveItem(HTREEITEM hItem)
      int RetrieveItem(HTREEITEM hItem)
      {
         HTREEITEM hTopItem = LookupTopFolder(hItem);
         tname = tv_folder.GetItemLabel(hTopItem);
@@ -1071,9 +1075,12 @@
            ResetAgent(L"goodscar");
            if (selectname != tname)
            {
               KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
               KXMLDOMElement e1 =tv_folder.GetItemData(hItem);
               str = e1.getAttribute(L"no");
               if (str == L"Supplier") return 1;
               if (str == L"Supplier")
               {
                  return 1;
               }
               if (str.find(L"Customer:") == 0 || str.find(L"SO:") == 0 || str.find(L"Supplier:") == 0 || str.find(L"Enquiry:") == 0)
               {
                  m_customer = LookupCustomer(hItem);
@@ -1084,9 +1091,9 @@
                  dwc_list.Reset();
                  dwc_list.SetReadOnly(true);
                  if (queryString == L"")
                     g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str));
                     dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str));
                  else
                     g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
                     dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
                  if (str.find(L"Supplier:") == 0)
                  {
                     if (dwc_list.GetRowCount() > 0)
@@ -1103,9 +1110,9 @@
                  dwc_list.SetReadOnly(true);
                  dwc_list.Reset();
                  if (queryString == L"")
                     g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid));
                     dwc_list.Retrieve(ProductLibraryView::GetMaintList3(categoryid));
                  else
                     g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L""));
                     dwc_list.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L""));
               }
               else
               {
@@ -1113,9 +1120,9 @@
                  dwc_list.SetReadOnly(true);
                  dwc_list.Reset();
                  if (queryString == L"")
                     g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname));
                     dwc_list.Retrieve(ShoppingCartView::GetGoodsList(selectname));
                  else
                     g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString));
                     dwc_list.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString));
               }
               dwc_list.Redraw();
@@ -1126,8 +1133,8 @@
                  if (m_customer != L"")
                  {
                     xstring skuid = g_xdoc_shoppingcart.getData(0, L"data/Item", 1, L"SKUID");
                     xstring customerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", 1, L"CustomerItemNo");
                     xstring skuid = dwc_list.GetItemString(1, L"SKUID");
                     xstring customerItemNo = dwc_list.GetItemString(1, L"CustomerItemNo");
                     OnShowImage(skuid, customerItemNo);
                  }
               }
@@ -1149,8 +1156,8 @@
               else
               {
                  str = L"Supplier:All";
                  g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
                  dwc_list.PostRetrieve();
                  dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
                  //dwc_list.PostRetrieve();
                  dwc_list.Redraw();
               }
            }
@@ -1190,7 +1197,7 @@
                     x = ProductLibraryView::GetMaintList3(no);
                  if (x)
                  {
                     g_xdoc_product.Retrieve(x);
                     dw_list.Retrieve(x);
                     
                  }
               }
@@ -1212,16 +1219,16 @@
                     else
                        x = ProductLibraryView::GetMaintList3(no);
                  }
                  if (x)g_xdoc_product.Retrieve(x);
                  if (x)dw_list.Retrieve(x);
               }
               dw_list.PostRetrieve();
               //dw_list.PostRetrieve();
               dw_list.Redraw();
               if (dw_list.GetRowCount() > 0)
               {
                  xs = GetControl(L"html_detail");
                  xs.SetContent(makeHtml(1));
                  xstring id = g_xdoc_product.getData(0, L"data/Item", 1, L"@guid");
                  xstring id = dw_list.GetItemString(1, L"@guid");
                  OnShowImage(id);
               }
               else
@@ -1237,6 +1244,7 @@
            }
         }
         impStr = L"";
         return 1;
      }
      int OnTreeSelChanged(TEvent* evt, int p)
@@ -1304,7 +1312,7 @@
         char ch;
         int row = hdr.row;
         xstring col = hdr.colname;
         xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SOLineID");
         xstring str = dwc_list.GetItemString(row, L"SOLineID");
         if (str != L"")
            str = L"sl:" + str;
         else if (dwc_list.GetItemString(row, L"SKUNo") != L"")
@@ -1333,8 +1341,8 @@
         DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
         int row = hdr.row;
         xstring ls_nos = L"ImportXml:";
         xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SOLineID");
         xstring str1 = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"EnquiryPriceListID");
         xstring str = dwc_list.GetItemString(row, L"SOLineID");
         xstring str1 = dwc_list.GetItemString(row, L"EnquiryPriceListID");
         if (str1 != L"")
            str += L"el:" + str1;
         else if (str != L"")
@@ -1350,7 +1358,7 @@
         dw_list.Redraw();
         dwc_list.Redraw();
         impStr = L"";
         SendMessage(hObject, 0x401, (LPARAM)ls_nos, 0);
         SendMessage(hObject, 0x401, (LPARAM)ls_nos.c_str(), 0);
         xutil::RestoreCursor(hCursor);
         CloseWindow();
         return 1;
@@ -1380,7 +1388,7 @@
         dw_list.Redraw();
         dwc_list.Redraw();
         impStr = L"";
         SendMessage(hObject, 0x401, (LPARAM)ls_nos, 0);
         SendMessage(hObject, 0x401, (LPARAM)ls_nos.c_str(), 0);
         xutil::RestoreCursor(hCursor);
         CloseWindow();
         return 1;
@@ -1414,7 +1422,7 @@
         impStr = L"";
         OnAttachEvent();
         imageElement = 0;
         //imageElement = 0;
         tv_folder = GetControl(L"tv_folder");
         dw_list = GetControl(L"dw_list");
@@ -1433,17 +1441,7 @@
         }
         InitialFolder();
         g_xdoc_product = new xdataset;
         g_xdoc_product.Init();
         xbind bindproduct = new xbind;
         bindproduct.bindEx(dw_list, g_xdoc_product, L"");
         g_xdoc_shoppingcart = new xdataset;
         g_xdoc_shoppingcart.Init();
         xbind bindcart = new xbind;
         bindcart.bindEx(dwc_list, g_xdoc_shoppingcart, L"");
         dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(L""));
         dw_list = GetControl(L"dw_list");
         dw_list.SetReadOnly(true);
@@ -1459,11 +1457,17 @@
            xs.SetContent(makeHtml(1));
         }
         tv_folder.ExpandItem(tv_folder.GetNextItem(tv_folder.GetRootItem()));
         tv_folder.ExpandItem(tv_folder.GetNextItem(tv_folder.GetNextItem(tv_folder.GetRootItem())));
#if 0
         xtreeview::ExpandItem(tv_folder.GetId(),
            xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetRootItem(tv_folder.GetId())));
         xtreeview::ExpandItem(tv_folder.GetId(),
            xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetRootItem(tv_folder.GetId()))));
#endif // 0
         dw_list.SetSelectionMode(3);
         dwc_list.SetSelectionMode(3);