LiFan
2025-02-13 03ef0b51103c735077c784c7df81ae2bcc1599ab
jrj/project/business/SO/maint.Document.SO3.v3.cpp
@@ -1,5 +1,6 @@
#include <wobject/xstring.hpp>
#include <xcontrol/xtreeview.hpp>
#include <xcontrol/xlistview.hpp>
#include <xcontrol/xdwgrid.hpp>
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
@@ -78,7 +79,7 @@
         int  LVNI_CUT = 0x0004;
         int  LVNI_DROPHILITED = 0x0008;
         int nItem = xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
         int nItem = lv_view.GetNextItem( -1, LVNI_FOCUSED);
         if (nItem < 0) return 1;
         int LVIF_PARAM = 0x0004;
@@ -88,8 +89,8 @@
         lvItem.iSubItem = 0;
         lvItem.mask = LVIF_PARAM;
         xlistview::GetItem(lv_view.GetId(), lvItem);
         KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement);
         lv_view.GetItem( lvItem);
         KXMLDOMElement ele = lvItem.lParam;
         xstring src = ele.getAttribute(L"url");
         xstring name = ele.getAttribute(L"caption");
@@ -122,7 +123,7 @@
         xstring name = d.mid(d.find(L"|##@@|",0)+6, d.length());
         */
      
         xaserver::__CreateDirectory(L"C:/Temp");
         xaserver::CreateDirectory(L"C:/Temp");
         if (arg)
         {
            if (arg.GetArgString(L"process") == L"data")
@@ -145,7 +146,7 @@
            alert(L"文件打开失败1!");
            return -1;
         }
         //openRet = win32::ShellExecute(0,L"open",L"C:/Temp/"+name,L"",L"",5);
         //openRet = ShellExecuteW(0,L"open",L"C:/Temp/"+name,L"",L"",5);
         openRet = ShellExecuteW(0, L"open", L"C:/Temp/" + sfile + ext, L"", L"", 5);
         if (openRet < 32)
         {
@@ -180,7 +181,7 @@
            xml x;
            
            xaserverarg args ;
            args.setNativePointer(args.CreateInstance());
            args.AddArg(L"myurl", myurl);
            args.AddArg(L"name", ret);
            args.AddArg(L"filepath", sname);
@@ -213,6 +214,7 @@
         }
         return 0;
      }
#if 0
      int OnDocumentOpen()
      {
         int  LVNI_ALL = 0x0000;
@@ -221,7 +223,7 @@
         int  LVNI_CUT = 0x0004;
         int  LVNI_DROPHILITED = 0x0008;
         int nItem = xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
         int nItem = lv_view.GetNextItem( -1, LVNI_FOCUSED);
         if (nItem < 0) return 1;
         int LVIF_PARAM = 0x0004;
@@ -231,8 +233,8 @@
         lvItem.iSubItem = 0;
         lvItem.mask = LVIF_PARAM;
         xlistview::GetItem(lv_view.GetId(), lvItem);
         KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement);
         lv_view.GetItem( lvItem);
         KXMLDOMElement ele = lvItem.lParam;
         xstring src = ele.getAttribute(L"url");
         xstring file = L"";
@@ -241,7 +243,7 @@
         xstring name = ele.getAttribute(L"caption");
         
         xaserver::__CreateDirectory(L"C:/Temp");
         xaserver::CreateDirectory(L"C:/Temp");
         xstring str = file.left(2);
         xstring ext = L"";
         if (name.find(L".") >= 0) ext = name.mid(name.find(L"."), name.length());
@@ -263,7 +265,7 @@
         return -1;
      }
#endif
      int OnDeleteFile()
      {
         int  LVNI_ALL = 0x0000;
@@ -272,7 +274,7 @@
         int  LVNI_CUT = 0x0004;
         int  LVNI_DROPHILITED = 0x0008;
         int nItem = xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
         int nItem = lv_view.GetNextItem( -1, LVNI_FOCUSED);
         if (nItem < 0) return 1;
         int LVIF_PARAM = 0x0004;
@@ -282,8 +284,8 @@
         lvItem.iSubItem = 0;
         lvItem.mask = LVIF_PARAM;
         xlistview::GetItem(lv_view.GetId(), lvItem);
         KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement);
         lv_view.GetItem( lvItem);
         KXMLDOMElement ele = lvItem.lParam;
         xstring src = ele.getAttribute(L"url");
         xstring file = L"";
@@ -295,7 +297,7 @@
            return 0;
         xaserverarg arg ;
         arg.setNativePointer(arg.CreateInstance());
         arg.AddArg(L"filepath", file);
         xml x ;
         if (xurl::get(L"/sale/data/TDocument3/file/delete", arg.GetString(), x) != 1)
@@ -306,7 +308,7 @@
         else
         {
            //alert(x.GetXmlDoc().text);
            xlistview::DeleteItem(lv_view.GetId(), nItem);
            lv_view.DeleteItem( nItem);
         }
         return 1;
@@ -315,9 +317,9 @@
      xstring GetPayType()
      {
         xcombobox cbx_type = GetControl(L"cbx_type");
         int h = xcombobox::GetCurSel(cbx_type.GetId());
         int h = cbx_type.GetCurSel();
         if (h < 0) return L"";
         return xcombobox::GetLBText(cbx_type.GetId(), h);
         return cbx_type.GetLBText( h);
      }
      //命令发布函数
@@ -364,12 +366,13 @@
         AttachEvent(L"WM_XCOMMAND", (FEvent)&DocSO3::OnXCommand);
         //获取焦点事件,用于重置工具条
         //AttachEvent(L"WM_SETFOCUS",OnSetFocus);
         return 1;
      }
      /*
      int  OnRetrieve()
      {
         xml x = new xml;
         xml x ;
         x.setNativePointer(xml::CreateInstance());
         xaserverarg arg = new xaserverarg;
         arg.setNativePointer(arg.CreateInstance());
@@ -390,11 +393,11 @@
      int SetListViewHeaderColumn(xstring Url)
      {
         const int LVCFMT_LEFT = 0;
         for (int i = 0; i < 3; i++)  lv_view.DeleteColumn(lv_view.GetId(), 1);
         lv_view.InsertColumn(lv_view.GetId(), 0, L"类型", 0, 80, 0);
         lv_view.InsertColumn(lv_view.GetId(), 0, L"创建日期", LVCFMT_LEFT, 80, 0);
         lv_view.InsertColumn(lv_view.GetId(), 0, L"创建人员", LVCFMT_LEFT, 80, 0);
         lv_view.InsertColumn(lv_view.GetId(), 0, L"名称", 0, 120, 0);
         for (int i = 0; i < 3; i++)  lv_view.DeleteColumn( 1);
         lv_view.InsertColumn( 0, L"类型", 0, 80, 0);
         lv_view.InsertColumn( 0, L"创建日期", LVCFMT_LEFT, 80, 0);
         lv_view.InsertColumn( 0, L"创建人员", LVCFMT_LEFT, 80, 0);
         lv_view.InsertColumn( 0, L"名称", 0, 120, 0);
         columnCount = 3;
         return 1;
@@ -402,7 +405,7 @@
      int Retrieve(xstring entityid)
      {
         lv_view.DeleteItemAll(lv_view.GetId());
         lv_view.DeleteItemAll();
         xstring src = L"object/Forwarder";
         xml x = ViewObject::RetrieveData(L"/sale/data/TDocument3/folder/listex", L"src", src, L"entityid", entityid);
         if (x)
@@ -417,10 +420,10 @@
                  KXMLDOMElement e = nlist.item(i);
                  xstring name = e.getAttribute(L"caption");
                  int nItem = xlistview::InsertItemEx(lv_view.GetId(), 0, name, 23, cast(e as int));
                  xlistview::SetItemText(lv_view.GetId(), nItem, 1, e.getAttribute(L"Creator"));
                  xlistview::SetItemText(lv_view.GetId(), nItem, 2, e.getAttribute(L"CreateDate"));
                  xlistview::SetItemText(lv_view.GetId(), nItem, 3, e.getAttribute(L"Type"));
                  int nItem = lv_view.InsertItemEx( 0, name, 23,e);
                  lv_view.SetItemText( nItem, 1, e.getAttribute(L"Creator"));
                  lv_view.SetItemText( nItem, 2, e.getAttribute(L"CreateDate"));
                  lv_view.SetItemText( nItem, 3, e.getAttribute(L"Type"));
               }
            }
@@ -446,7 +449,7 @@
      int onload()
      {
         SetArg();
         lv_view = GetControl(L"lv_view");
         columnCount = 0;
         SetListViewHeaderColumn(L"");
@@ -454,7 +457,7 @@
         if (GetWinParam())
         {
            xaserverarg arg;
            xaserverarg arg= GetArg();
            entityid = arg.GetArgString(L"entityid");
            Type = arg.GetArgString(L"Type");
            ApprovalStatus = arg.GetArgString(L"ApprovalStatus");