xj qian
2024-08-21 e3488c13f1bcbcd39f8b9b267a3897fcc0d838aa
jrj/project/business/AR/ExchangeSignFast.cpp
@@ -11,7 +11,7 @@
   public:
      xdwgrid   dw_unexch;
      xdwgrid   dw_list;
      xdwgrid  dw_obj;
      xdwgrid*  dw_obj;
      xdwtable dw_arg;
      xnode   m_agentNode;   //Agent Condition
@@ -75,7 +75,7 @@
         dw_list.DwUpdateAllToEx(x);
         //trace(x.xml());
         xml x0 = ViewObject::MakeXml();
         xml x0;
         x0.loadXML(L"<data/>");
         KXMLDOMNodeList t = x.selectNodes(L"data/Item[@update.modify or @update.delete]");
@@ -85,7 +85,7 @@
         {
            e1.appendChild(t.item(i));
         }
         xaserverarg arg = ViewObject::MakeArg();
         xaserverarg arg;
         arg.AddArg(L"content", x0.xml());
         if (xurl::get(L"/sale/data/AR/update/item", arg.GetString(), x) != 1)
@@ -127,14 +127,14 @@
         return 0;
      }
      int OnCombboChanged(ref TCommandEvent evt, int lParam)
      int OnCombboChanged(TEvent * evt, int lParam)
      {
         xstring id = L"";
         xstring name = L"";
         int h = xcombobox::GetCurSel(evt.hCtrl);
         int h = xcombobox::GetCurSel(evt->command.hCtrl);
         if (h > -1)
         {
            xstring txt = xcombobox::GetLBText(evt.hCtrl, h);
            xstring txt = (string)xcombobox::GetLBText(evt->command.hCtrl, h);
            if (txt == L"限定客户")
            {
               OnRetrieve(1);
@@ -152,7 +152,7 @@
         dw_unexch.AcceptText();
         int row = dw_unexch.GetRow();
         int hCursor = xutil::SetCursorWait();
         HCURSOR hCursor = xutil::SetCursorWait();
         double AdjustAmount = dw_unexch.GetItemDouble(row, L"AdjustAmount");//调整数
         double amted = dw_unexch.GetItemDouble(row, L"实收汇金额");//往次
         double samt = dw_unexch.GetItemDouble(row, L"应收汇金额");//应收汇金额
@@ -164,10 +164,10 @@
            {
               dw_unexch.ItemChangeTo(row, L"ExchAmt", L"");
            }
            double amt1 = dw_obj.GetItemDouble(dw_obj.GetRow(), L"BalanceAmt");
            double amt1 = dw_obj->GetItemDouble(dw_obj->GetRow(), L"BalanceAmt");
            int v1 = (amt * 100.0).toString().toInt();
            int v2 = (amt1 * 100.0).toString().toInt();
            int v1 = xstring(amt * 100.0).toInt();
            int v2 = xstring(amt1 * 100.0).toInt();
            if (v2 > v1)
            {
               dw_unexch.ItemChangeTo(row, L"Amount", xstring(amt));
@@ -175,8 +175,8 @@
            }
            else
            {
               dw_unexch.ItemChangeTo(row, L"Amount", dw_obj.GetItemString(dw_obj.GetRow(), L"BalanceAmt"));
               //dw_unexch.ItemChangeTo(row,L"ExchAmt",dw_obj.GetItemString(dw_obj.GetRow(),L"BalanceAmt"));
               dw_unexch.ItemChangeTo(row, L"Amount", dw_obj->GetItemString(dw_obj->GetRow(), L"BalanceAmt"));
               //dw_unexch.ItemChangeTo(row,L"ExchAmt",dw_obj->GetItemString(dw_obj->GetRow(),L"BalanceAmt"));
            }
         }
         else
@@ -192,7 +192,7 @@
      int evalExchAmt()
      {
         double amt = 0;
         xstring currencyCode = dw_obj.GetItemString(dw_obj.GetRow(), L"CurrencyCode");
         xstring currencyCode = dw_obj->GetItemString(dw_obj->GetRow(), L"CurrencyCode");
         for (int i = 1; i <= dw_list.GetRowCount(); i++)
         {
            double amt0 = dw_list.GetItemDouble(i, L"Amount");
@@ -207,11 +207,11 @@
         }
         if (dw_obj)
         {
            dw_obj.SetItemDouble(dw_obj.GetRow(), L"SignAmt", amt);
            double amt1 = dw_obj.GetItemDouble(dw_obj.GetRow(), L"Amount");
            dw_obj->SetItemDouble(dw_obj->GetRow(), L"SignAmt", amt);
            double amt1 = dw_obj->GetItemDouble(dw_obj->GetRow(), L"Amount");
            double BalanceAmt = amt1 - amt;
            dw_obj.SetItemDouble(dw_obj.GetRow(), L"BalanceAmt", BalanceAmt);
            dw_obj.Redraw();
            dw_obj->SetItemDouble(dw_obj->GetRow(), L"BalanceAmt", BalanceAmt);
            dw_obj->Redraw();
         }
         return 1;
      }
@@ -243,14 +243,14 @@
               dw_list.SetItemString(crow, L"SEItemID", publiccode::GetGuid());
               if (dw_obj)
               {
                  if (dw_obj.GetRowCount() > 0)
                     dw_list.SetItemString(crow, L"SEID", dw_obj.GetGuid(dw_obj.GetRow()));
                  if (dw_obj->GetRowCount() > 0)
                     dw_list.SetItemString(crow, L"SEID", dw_obj->GetGuid(dw_obj->GetRow()));
               }
               dw_list.SetItemString(crow, colname, value);
               dw_list.SetItemString(crow, colname.c_str(), value);
            }
            else
            {
               dw_list.SetItemString(crow, colname, value);
               dw_list.SetItemString(crow, colname.c_str(), value);
            }
            dw_list.Redraw();
            evalExchAmt();
@@ -311,6 +311,7 @@
         AttachEvent(L"dw_unexch", L"DWV_DOUBLECLICKED", (FEvent)&ExchangeSignFastWin::OnDoubleClicked);//行双击
         AttachEvent(L"cbx_customer", L"CBN_SELCHANGE", (FEvent)&ExchangeSignFastWin::OnCombboChanged);//属性组切换list中列的数量变化
         AttachEvent(L"dw_unexch", L"DWV_ITEMCHANGED", (FEvent)&ExchangeSignFastWin::OnItemChanged);
         return 1;
      }
@@ -330,11 +331,11 @@
         
         xaserverarg arg ;
         arg.setNativePointer(arg.CreateInstance());
         int row = dw_obj.GetRow();
         int row = dw_obj->GetRow();
         if (row < 1) return 1;
         xstring CustomerID = dw_obj.GetItemString(row, L"CustomerID");
         xstring CustomerID = dw_obj->GetItemString(row, L"CustomerID");
         //alert(CustomerID);
         xstring SEID = dw_obj.GetGuid(dw_obj.GetRow());
         xstring SEID = dw_obj->GetGuid(dw_obj->GetRow());
         trace(L"+++L" + CustomerID + L"+++L" + SEID);
@@ -347,9 +348,9 @@
         xstring path1 = L"/sale/data/AR/item/exch/listwithcustomer";
         if (customer == 0)  path1 = L"/sale/data/AR/item/exch/list";
         arg.AddArg(L"QueryTxt", GetControl(L"sle_search").GetText());
         arg.AddArg(L"QueryTxt", xcontrol(GetControl(L"sle_search")).GetText());
         arg.AddArg(L"QueryArg", GetQueryArg());
         trace(L"SEID+++L" + SEID + L"+++QueryTxt+++L" + GetControl(L"sle_search").GetText() + L"+++QueryArg+++L" + GetQueryArg());
         trace(L"SEID+++L" + SEID + L"+++QueryTxt+++L" + xcontrol(GetControl(L"sle_search")).GetText() + L"+++QueryArg+++L" + GetQueryArg());
         if (getUrl(path, arg.GetString(), x) != 1)
         {
            trace(L"错误信息1=L" + xstring(x.text()));
@@ -404,7 +405,7 @@
         /*xaserverarg arg = GetParam();
         xstring CustomerIDOne = arg.GetArgString(L"CustomerID");
         xstring SEIDOne = arg.GetArgString(L"SEID");*/
         if (GetWinParam())dw_obj = GetParam();
         if (GetWinParam())dw_obj = (xdwgrid*)GetWinParam();
         OnAttachEvent();
         return 1;