xj qian
2025-03-13 cf8dba7748cc9826d744069b5063a14e3fcd2fa8
jrj/project/business/GDN3.list.cpp
@@ -5,14 +5,15 @@
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
#include "viewobject/view.base.hpp"
class __declspec(dllexport) GDN3list : public listwin
using xml = KXMLDOMDocument;
class __declspec(dllexport) ListGDN3Win : public listwin
{
public:
   GDN3list(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
   ListGDN3Win(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
public:
   static GDN3list* CreateInstance(void* implPtr, void* hWnd)
   static ListGDN3Win* CreateInstance(void* implPtr, void* hWnd)
   {
      GDN3list* pWin = new GDN3list(implPtr, (HWND)hWnd);
      ListGDN3Win* pWin = new ListGDN3Win(implPtr, (HWND)hWnd);
      return pWin;
   }
@@ -69,9 +70,9 @@
      if (len > 0) tv_folder.SetItemChild(hItem, 1);
      for (int i = 0; i < len; i++)
      {
         KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
         KXMLDOMElement e = nlist.item(i);
         string name = e.getAttribute(L"name");
         HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
         HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
         ExpandCatChildFolder(h, e, 35);
      }
      return 1;
@@ -86,8 +87,11 @@
      xaserver::ExecXQuery(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", arg.GetString(), x);
      */
      KXMLDOMDocument x = ViewObject::RetrieveData(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", L"id", no);
      KXMLDOMDocument x;
      xaserverarg arg;
      arg.AddArg(L"no", no);
      xaserver::ExecXQuery(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", arg.GetString(), x);
      //KXMLDOMDocument x = ViewObject::RetrieveData(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", L"id", no);
      if (!x) return 0;
@@ -95,12 +99,11 @@
      int len = nlist.length();
      for (int i = 0; i < len; i++)
      {
         KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
         KXMLDOMElement e = nlist.item(i);
         string name = e.getAttribute(L"name");
         HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35);
         HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, 35);
         ExpandCatChildFolder(h, e, 35);
      }
      x.Free();
      return 1;
   }
@@ -113,7 +116,7 @@
      xstring name = tv_folder.GetItemLabel(hTopItem);
      HTREEITEM child = tv_folder.GetChildItem(hItem);
      KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
      KXMLDOMElement e = tv_folder.GetItemData(hItem);
      if (!child)ExpandFolderItem(hItem, e.getAttribute(L"no"));
      return 1;
@@ -125,13 +128,13 @@
      int len = nlist.length();
      for (int i = 0; i < len; i++)
      {
         KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
         KXMLDOMElement e = nlist.item(i);
         string name = e.getAttribute(L"name");
         xstring sImage = e.getAttribute(L"image");
         xstring child = e.getAttribute(L"child");
         int image = 15;
         if (sImage) image = sImage.toInt();
         HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
         HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
         if (child != L"no") tv_folder.SetItemChild(h, 1);
         ExpandChildFolder(h, e);
      }
@@ -154,7 +157,7 @@
      return 1;
   }
   int ViewUpdate(int pr, xstring updateItem, xaserverarg  arg)
   int ViewUpdate(LPARAM pr, xstring updateItem, xaserverarg  arg)
   {
      if (updateItem == L"del")
      {
@@ -201,18 +204,18 @@
      if (readed) return 1;
      HTREEITEM hItem = tv_folder.GetSelectedItem();
      if (hItem <= 0)
      if (!hItem)
      {
         hItem = tv_folder.GetRootItem();
         if (hItem <= 0)  return 1;
         if (!hItem)  return 1;
      }
      HCURSOR hCursor = xutil::SetCursorWait();
      KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
      KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
      xstring no = e1.getAttribute(L"no");
      //xml x = 0;
      //x = ViewObject::RetrieveData(myDataUrl,L"no",no,L"QueryTxt", m_QueryTxt,L"rows",rows);
      xstring DeptName = publiccode::GetUser().deptname;
      xaserverarg arg = xaserverarg::Make();
      xaserverarg arg ;
      arg.AddArg(L"no", no);
      arg.AddArg(L"QueryTxt", m_QueryTxt);
      arg.AddArg(L"rows", rows);
@@ -224,7 +227,6 @@
         dw_list.DwRetrieve(GetServerUrl(),L"[list.folder.gdn.sql.xq]",arg.GetString());
      }*/
      dw_list.DwRetrieve(GetServerUrl(), L"[list.folder.gdn.sql.xq]", arg.GetString());
      arg.Free();
      dw_list.SetReadOnly(true);
      dw_list.SetRowSort(L"ETD", false);
@@ -238,11 +240,11 @@
   int OnPreRetrieve()
   {
      HTREEITEM hItem = tv_folder.GetSelectedItem();
      if (hItem <= 0) return 1;
      if (!hItem) return 1;
      HCURSOR hCursor = xutil::SetCursorWait();
      KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
      KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
      xstring no = e1.getAttribute(L"no");
      trace(L"\r\n" + no + L"\r\n" + m_QueryTxt);
@@ -254,7 +256,7 @@
      }
      else
      {
         dw_list.ResetEx();
         dw_list.Reset();
         dw_list.Redraw();
      }
      dw_list.SetReadOnly(true);
@@ -421,7 +423,7 @@
            KXMLDOMDocument supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s);
            if (supplier_x)
            {
               if (supplier_x.text() != L"跟单")
               if ((xstring)supplier_x.text() != L"跟单")
               {
                  alert(L"当前角色不是跟单员不能新增单子,请重新选择角色");
                  return 0;
@@ -432,11 +434,11 @@
      else if (comdid == L"action:bill.GDNDelay")
      {
         xstring EntityIDEx = dw_list.GetGuid(dw_list.GetRow());
         xaserverarg& argEx = *new xaserverarg;
         argEx.setNativePointer(argEx.CreateInstance());
         trace(EntityIDEx);
         xaserverarg argEx;
         //alert(EntityIDEx);
         argEx.AddArg(L"GDNID", EntityIDEx);
         OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&argEx);
         OpenWindow(L"dev:xpage[GDNDelay.vx]", argEx);
         return 1;
      }
      else if (comdid == L"action:bill.check.ask")
@@ -489,11 +491,11 @@
            return 0;
         }*/
         xaserverarg& arg = *new xaserverarg;
         arg.setNativePointer(arg.CreateInstance());
         xaserverarg arg ;
         trace(EntityID);
         arg.AddArg(L"GDNID", EntityID);
         OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&arg);
         OpenWindow(L"dev:xpage[GDNDelay.vx]", arg);
      }
      else if (comdid == L"action:bill.SourceRemark") return OnSourceRemark();
@@ -512,10 +514,10 @@
      {
         Content = t.selectSingleNode(L"Content").text();
      }
      xaserverarg& arg1 = *new xaserverarg;
      arg1.setNativePointer(arg1.CreateInstance());
      xaserverarg arg1 ;
      arg1.AddArg(L"value", Content);
      OpenWindow(L"dev:xpage[memo.edit.new.vx]", (LPARAM)&arg1);
      OpenWindow(L"dev:xpage[memo.edit.new.vx]",arg1);
      return 1;
   }
@@ -579,8 +581,9 @@
   int OnSelectDataShowDdlb(TEvent* evt, LPARAM p)
   {
      HWND wid = cbx_datashow.GetHWND();
      int CB_GETCURSEL = 0x0147;
      int nIndex = SendMessageW(HWND(), CB_GETCURSEL, 0, 0);
      int nIndex = SendMessageW(wid, CB_GETCURSEL, 0, 0);
      KXMLDOMElement e = cbx_datashow.GetElement();
      KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]");
      rows = e2.selectSingleNode(L"@rows").text();
@@ -590,13 +593,14 @@
   }
   int PostOnAttachEvent()
   {
      AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&GDN3list::OnTreeSelChanged); //树选择
      //AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",(FEvent)&GDN3list::OnTreeExpanding); //树展开
      AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&GDN3list::OnRowChanged);
      AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDdlb);
      AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDataShowDdlb);
      AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ListGDN3Win::OnTreeSelChanged); //树选择
      //AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",(FEvent)&ListGDN3Win::OnTreeExpanding); //树展开
      AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&ListGDN3Win::OnRowChanged);
      AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&ListGDN3Win::OnSelectDdlb);
      AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&ListGDN3Win::OnSelectDataShowDdlb);
      return 1;
   }
@@ -707,14 +711,14 @@
      }
      HTREEITEM hItem = tv_folder.GetCaretItem();
      if (hItem <= 0) return 1;
      if (!hItem) return 1;
      KXMLDOMElement e = tv_folder.GetItemData(hItem);
      xstring  no = e.getAttribute(L"no");
      if (no.find(L"Customer:") >= 0)
      {
         arg.AddArg(L"CustomerID", e.getAttribute(L"id"));
         xstring name = e.getAttribute(L"name");
         if (name.find(L"(L") >= 0) name = name.left(name.find(L"(L"));
         if (name.find(L"(") >= 0) name = name.left(name.find(L"("));
         arg.AddArg(L"CustomerName", name);
      }
      return 1;