From 89c226a7da5ffc6748ff3ef70aacad7625bafa3e Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 05 九月 2024 15:03:11 +0800
Subject: [PATCH] update so payterm

---
 jrj/ext-jrj/JPtr.cpp                                  |    1 
 jrj/jarch.impl/JStringImpl.hpp                        |    3 
 jrj/ext-jrj/JFactoryStringImpl.h                      |   16 +++
 jrj/project/business/SO/delivery.base.maint.so.cpp    |   26 ++--
 jrj/ext-jrj/JFactoryStringImpl.cpp                    |    1 
 jrj/project/business/SO/paymentterm.base.maint.so.cpp |   23 ++--
 jrj/ext-jrj/JFactory.hpp                              |    9 +
 /dev/null                                             |    7 -
 jrj/jarch/JObjectSvr.hpp                              |    6 
 jrj/jarch.impl/JStringImpl.cpp                        |   16 +++
 jrj/ext-jrj/ext-jrj.def                               |    5 +
 jrj/ext-jrj/JPtr.hpp                                  |   21 ++++
 jrj/ext-jrj/ext-jrj.vcxproj                           |   46 +++++++--
 jrj/project/business/SO3.maint.cpp                    |   36 ++++++
 jrj/ext-jrj/dllmain.cpp                               |   52 +++++++++
 15 files changed, 216 insertions(+), 52 deletions(-)

diff --git a/jrj/ext-jrj/JFactory.hpp b/jrj/ext-jrj/JFactory.hpp
new file mode 100644
index 0000000..dfa799e
--- /dev/null
+++ b/jrj/ext-jrj/JFactory.hpp
@@ -0,0 +1,9 @@
+#pragma once
+#include "jobject.hpp"
+template<class T>
+class JFactory : public JObject
+{
+public:
+	virtual T* make() = 0;
+};
+
diff --git a/jrj/ext-jrj/JFactoryStringImpl.cpp b/jrj/ext-jrj/JFactoryStringImpl.cpp
new file mode 100644
index 0000000..0192e6f
--- /dev/null
+++ b/jrj/ext-jrj/JFactoryStringImpl.cpp
@@ -0,0 +1 @@
+#include "JFactoryStringImpl.h"
diff --git a/jrj/ext-jrj/JFactoryStringImpl.h b/jrj/ext-jrj/JFactoryStringImpl.h
new file mode 100644
index 0000000..31b2df9
--- /dev/null
+++ b/jrj/ext-jrj/JFactoryStringImpl.h
@@ -0,0 +1,16 @@
+#pragma once
+#include "JFactory.hpp"
+#include "JStringImpl.hpp"
+class JFactoryStringImpl :
+    public JFactory<JString>
+{
+    JString* make()
+    {
+        return new JStringImpl();
+    }
+    void Release()
+    {
+        if (this)delete this;
+    }
+};
+
diff --git a/jrj/ext-jrj/JPtr.cpp b/jrj/ext-jrj/JPtr.cpp
new file mode 100644
index 0000000..91b0a66
--- /dev/null
+++ b/jrj/ext-jrj/JPtr.cpp
@@ -0,0 +1 @@
+#include "JPtr.hpp"
diff --git a/jrj/ext-jrj/JPtr.hpp b/jrj/ext-jrj/JPtr.hpp
new file mode 100644
index 0000000..d3f722c
--- /dev/null
+++ b/jrj/ext-jrj/JPtr.hpp
@@ -0,0 +1,21 @@
+#pragma once
+#include "jobject.hpp"
+template<class Ty>
+class JPtr :
+    public JObject
+{
+public:
+    JPtr(Ty* impl) :impl(impl) {}
+    ~JPtr() {
+        ((JObject*)impl)->Release();
+    }
+public:
+    Ty* operator ->() {
+        return impl;
+    }
+public:
+    void Release() {}
+private:
+    Ty* impl;
+};
+
diff --git a/jrj/ext-jrj/dllmain.cpp b/jrj/ext-jrj/dllmain.cpp
index daed8c8..a0816b0 100644
--- a/jrj/ext-jrj/dllmain.cpp
+++ b/jrj/ext-jrj/dllmain.cpp
@@ -1,10 +1,22 @@
 锘�// dllmain.cpp : 瀹氫箟 DLL 搴旂敤绋嬪簭鐨勫叆鍙g偣銆�
 #include "pch.h"
 
-BOOL APIENTRY DllMain( HMODULE hModule,
-                       DWORD  ul_reason_for_call,
-                       LPVOID lpReserved
-                     )
+#include "JObject.hpp"
+#include "JFactoryStringImpl.h"
+//#include "JFileStream.hpp"
+//#include "JDataBlock.hpp"
+//#include "JDataStore.hpp"
+//#include "JDataSet.hpp"
+
+extern "C"
+{
+    bool WINAPI CreateJObjectInstance(LPTSTR pStrObject, JObject*& pJObject);
+}
+
+BOOL APIENTRY DllMain(HMODULE hModule,
+    DWORD  ul_reason_for_call,
+    LPVOID lpReserved
+)
 {
     switch (ul_reason_for_call)
     {
@@ -17,3 +29,35 @@
     return TRUE;
 }
 
+
+bool WINAPI CreateJObjectInstance(LPTSTR pStrObject, JObject*& pJObject)
+{
+    pJObject = nullptr;
+    if (wcscmp(pStrObject, L"JFactoryString") == 0)
+    {
+        pJObject = new JFactoryStringImpl();
+        return true;
+    }
+    if (wcscmp(pStrObject, L"JString") == 0)
+    {
+        pJObject = new JStringImpl();
+        return true;
+    }
+    /*
+     else if (wcscmp(pStrObject, L"JDataStore")==0)
+     {
+         pJObject = new JDataStore();
+         return true;
+     }
+     else if (wcscmp(pStrObject, L"JDataBlock")==0)
+     {
+         pJObject = new JDataBlock();
+         return true;
+     }
+     else if (wcscmp(pStrObject, L"JDataSet")==0)
+     {
+         pJObject = new JDataSet();
+         return true;
+     }*/
+    return  false;
+}
diff --git a/jrj/ext-jrj/ext-jrj.def b/jrj/ext-jrj/ext-jrj.def
new file mode 100644
index 0000000..ac085c7
--- /dev/null
+++ b/jrj/ext-jrj/ext-jrj.def
@@ -0,0 +1,5 @@
+LIBRARY	"ext-jrj.dll"
+
+EXPORTS
+    ; 此处可以是显式导出
+CreateJObjectInstance
diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj
index 974209d..d441f91 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -91,6 +91,7 @@
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableUAC>false</EnableUAC>
+      <ModuleDefinitionFile>ext-jrj.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -110,17 +111,18 @@
       <OptimizeReferences>true</OptimizeReferences>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableUAC>false</EnableUAC>
+      <ModuleDefinitionFile>ext-jrj.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
       <SDLCheck>true</SDLCheck>
-      <PreprocessorDefinitions>_DEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_XWIN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_XWIN;_XKEYCHECK_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ConformanceMode>true</ConformanceMode>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
-      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project;..\jarch</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>.;..;..\xframe;..\xframe\system;..\project;..\jarch;..\jarch.impl;../ext-jrj</AdditionalIncludeDirectories>
       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
       <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
@@ -130,6 +132,7 @@
       <EnableUAC>false</EnableUAC>
       <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;tsclib.lib;jarch.object.lib;%(AdditionalDependencies);$(CoreLibraryDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>D:\xclient64</AdditionalLibraryDirectories>
+      <ModuleDefinitionFile>ext-jrj.def</ModuleDefinitionFile>
     </Link>
     <PostBuildEvent>
       <Command>copy $(OutDirFullPath)ext-jrj.dll D:\xclient64\ext\ext-jrj.dll</Command>
@@ -141,11 +144,11 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <SDLCheck>true</SDLCheck>
-      <PreprocessorDefinitions>NDEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_XWIN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>NDEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_XWIN;_XKEYCHECK_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ConformanceMode>true</ConformanceMode>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
-      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project;..\jarch</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project;..\jarch;..\jarch.impl;.;..\ext-jrj;..</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
@@ -155,15 +158,29 @@
       <EnableUAC>false</EnableUAC>
       <AdditionalLibraryDirectories>D:\xclient64r\sdk\lib</AdditionalLibraryDirectories>
       <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;tsclib.lib;jarch.object.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>ext-jrj.def</ModuleDefinitionFile>
     </Link>
     <PostBuildEvent>
       <Command>copy $(OutDirFullPath)ext-jrj.dll D:\xclient64r\ext\ext-jrj.dll</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClInclude Include="..\jarch\factory\JObjectSvr.hpp" />
+    <ClInclude Include="..\jarch.impl\JStringImpl.hpp" />
+    <ClInclude Include="..\jarch\JByteStream.hpp" />
+    <ClInclude Include="..\jarch\JCharStream.hpp" />
+    <ClInclude Include="..\jarch\JConnect.hpp" />
+    <ClInclude Include="..\jarch\JDataSet.hpp" />
+    <ClInclude Include="..\jarch\JDataSource.hpp" />
+    <ClInclude Include="..\jarch\JDataStore.hpp" />
+    <ClInclude Include="..\jarch\JDouble.hpp" />
+    <ClInclude Include="..\jarch\JInt.hpp" />
     <ClInclude Include="..\jarch\JObject.hpp" />
+    <ClInclude Include="..\jarch\JObjectSvr.hpp" />
+    <ClInclude Include="..\jarch\JSession.hpp" />
+    <ClInclude Include="..\jarch\JStream.hpp" />
     <ClInclude Include="..\jarch\JString.hpp" />
+    <ClInclude Include="..\jarch\JWin.hpp" />
+    <ClInclude Include="..\jarch\JXPage.hpp" />
     <ClInclude Include="..\project\business\SystemSettings\SysUser.hpp" />
     <ClInclude Include="..\project\viewobject\custom.view.hpp" />
     <ClInclude Include="..\project\viewobject\customer.view.hpp" />
@@ -249,9 +266,13 @@
     <ClInclude Include="..\xframe\xcontrol\xshtml.hpp" />
     <ClInclude Include="..\xframe\xcontrol\xtreeview.hpp" />
     <ClInclude Include="framework.h" />
+    <ClInclude Include="JFactory.hpp" />
+    <ClInclude Include="JFactoryStringImpl.h" />
+    <ClInclude Include="JPtr.hpp" />
     <ClInclude Include="pch.h" />
   </ItemGroup>
   <ItemGroup>
+    <ClCompile Include="..\jarch.impl\JStringImpl.cpp" />
     <ClCompile Include="..\project\analysis\DataVanalysisWin.cpp" />
     <ClCompile Include="..\project\business\AP\APBank.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
@@ -469,7 +490,7 @@
     <ClCompile Include="..\project\business\Customer\XmShare.Custumer.v3.cpp" />
     <ClCompile Include="..\project\business\Enquiry.list.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\project\business\EnquiryEx3.list.cpp" />
     <ClCompile Include="..\project\business\Enquiry\Enquiry.maint.cpp">
@@ -871,16 +892,16 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\project\business\SO\delivery.base.maint.so.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\project\business\SO\maint.Document.SO3.v3.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\project\business\SO\paymentterm.base.maint.so.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\project\business\SO\Product.FetchNo.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
@@ -1098,6 +1119,8 @@
     <ClCompile Include="..\xframe\src\nstring.cpp" />
     <ClCompile Include="..\xframe\src\xstring.cpp" />
     <ClCompile Include="dllmain.cpp" />
+    <ClCompile Include="JFactoryStringImpl.cpp" />
+    <ClCompile Include="JPtr.cpp" />
     <ClCompile Include="pch.cpp">
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
@@ -1105,6 +1128,9 @@
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
     </ClCompile>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="ext-jrj.def" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/jrj/jarch.impl/JStringImpl.cpp b/jrj/jarch.impl/JStringImpl.cpp
new file mode 100644
index 0000000..884165f
--- /dev/null
+++ b/jrj/jarch.impl/JStringImpl.cpp
@@ -0,0 +1,16 @@
+#include "pch.h"
+#include "JStringImpl.hpp"
+#include <stdio.h>
+JStringImpl::JStringImpl()
+{
+	printf("hit here");
+}
+JStringImpl::~JStringImpl()
+{
+
+}
+
+void JStringImpl::Release()
+{
+	if (this)delete this;
+}
diff --git a/jrj/jarch/JStringImpl.hpp b/jrj/jarch.impl/JStringImpl.hpp
similarity index 69%
rename from jrj/jarch/JStringImpl.hpp
rename to jrj/jarch.impl/JStringImpl.hpp
index 34a174c..baade6a 100644
--- a/jrj/jarch/JStringImpl.hpp
+++ b/jrj/jarch.impl/JStringImpl.hpp
@@ -4,6 +4,9 @@
     public JString
 {
 public:
+    JStringImpl();
+    ~JStringImpl();
+public:
     void Release();
 };
 
diff --git a/jrj/jarch/factory/JObjectSvr.hpp b/jrj/jarch/JObjectSvr.hpp
similarity index 78%
rename from jrj/jarch/factory/JObjectSvr.hpp
rename to jrj/jarch/JObjectSvr.hpp
index 938140d..b1a9f19 100644
--- a/jrj/jarch/factory/JObjectSvr.hpp
+++ b/jrj/jarch/JObjectSvr.hpp
@@ -1,7 +1,5 @@
 #pragma once
 #include "jobject.hpp"
-#include <tchar.h>
-#include <wtypes.h>
 
 #ifdef JARCHOBJECT_EXPORTS
 #define JOBJECT_API __declspec(dllexport)
@@ -18,9 +16,9 @@
 	static JObjectSvr* get();
 public:
 	template<class Ty>
-	static Ty* CreateInstance(LPWSTR pStrObject)
+	static Ty* CreateInstance(LPCWSTR pStrObject)
 	{
-		return (Ty*)get()->CreateInstance(nullptr,pStrObject);
+		return (Ty*)get()->CreateInstance(nullptr,(LPWSTR)pStrObject);
 	}
 	JObject* CreateInstance(LPWSTR pStrUri, LPWSTR pStrObject);
 	void RegisterObjectsByXmlFile(LPWSTR pStrFile);
diff --git a/jrj/jarch/JStringImpl.cpp b/jrj/jarch/JStringImpl.cpp
deleted file mode 100644
index a0af576..0000000
--- a/jrj/jarch/JStringImpl.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "pch.h"
-#include "JStringImpl.hpp"
-
-void JStringImpl::Release()
-{
-	if (this)delete this;
-}
diff --git a/jrj/project/business/SO/delivery.base.maint.so.cpp b/jrj/project/business/SO/delivery.base.maint.so.cpp
index a464f22..8edfda2 100644
--- a/jrj/project/business/SO/delivery.base.maint.so.cpp
+++ b/jrj/project/business/SO/delivery.base.maint.so.cpp
@@ -1,4 +1,4 @@
-#include <wobject/xstring.hpp>
+锘�#include <wobject/xstring.hpp>
 #include <xcontrol/xtreeview.hpp>
 #include <xcontrol/xdwgrid.hpp>
 #include <xcontrol/xcell.hpp>
@@ -12,8 +12,6 @@
 	{
 	public:
 		xdwtable	dw_1;
-
-		xvcontrol vc;
 		xcell	dw_cell;
 
 	public:
@@ -27,7 +25,7 @@
 
 		xstring OnCreateTxt()
 		{
-			//dw_1.AcceptText(); //不能加会报错
+			//dw_1.AcceptText(); //涓嶈兘鍔犱細鎶ラ敊
 			xstring sType;
 			xstring sDeliveryRule;
 			xstring sDeliveryDays;
@@ -73,8 +71,11 @@
 
 		int OnOk()
 		{
+			xml x;
 			dw_1.AcceptText();
-
+			dw_1.DwUpdateAllTo(x);
+			GetArg().SetArg(L"content", x.xml());
+			GetArg().SetArg(L"process",L"ok");
 			CloseWindow();
 
 			return 1;
@@ -88,7 +89,7 @@
 
 			if (colname == L"DeliveryRule")
 			{
-				xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
+				xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='淇濇姢' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
 				xstring sUp = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
 
 				if (value == L"1" || value == L"2" || value == L"3")
@@ -110,7 +111,7 @@
 
 			}
 
-			//生成交货期
+			//鐢熸垚浜よ揣鏈�
 			if (colname == L"DeliveryRule" || colname == L"DeliveryDays" || colname == L"ScheduleShipDate")
 			{
 				xstring sTxt = OnCreateTxt();
@@ -144,6 +145,7 @@
 
 		int OnInit()
 		{
+			/*
 			int iArgs = GetArg();
 
 			XXmlContentSvr xdoc = new XXmlContentSvr;
@@ -153,16 +155,14 @@
 
 			vbind bind = new vbind;
 			bind.bind(dw_1, vc);
-
+			*/
 			xml x;
-			x ;
-		
-			x.loadXML(vc.GetContent());
-
+			xstring xs = GetArg().GetArgString(L"content");
+			x.loadXML(xs.c_str());
 			dw_1.Retrieve(x);
 
 			xstring sDeliveryRule = dw_1.GetItemString(1, L"DeliveryRule");
-			xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
+			xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='淇濇姢' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
 			if (sDeliveryRule != L"1" && sDeliveryRule != L"2" && sDeliveryRule != L"3")
 				dw_cell.SetCellProps(3, 3, sP);
 			if (sDeliveryRule != L"5")
diff --git a/jrj/project/business/SO/paymentterm.base.maint.so.cpp b/jrj/project/business/SO/paymentterm.base.maint.so.cpp
index dd42b0b..bbf2ade 100644
--- a/jrj/project/business/SO/paymentterm.base.maint.so.cpp
+++ b/jrj/project/business/SO/paymentterm.base.maint.so.cpp
@@ -1,4 +1,4 @@
-#include <wobject/xstring.hpp>
+锘�#include <wobject/xstring.hpp>
 #include <xcontrol/xtreeview.hpp>
 #include <xcontrol/xdwgrid.hpp>
 #include <xcontrol/xcell.hpp>
@@ -16,8 +16,6 @@
 		xdwtable	dw_p;
 
 		xcell dw_cell;
-		vcontrol vc;
-
 		xstring sCryno;
 
 	public:
@@ -187,6 +185,11 @@
 			xstring sTxt = OnCreateTxt();
 			dw_1.SetItemString(1, L"PaymentTermEx", sTxt);
 
+			xml x;
+			dw_1.DwUpdateAllTo(x);
+			GetArg().SetArg(L"content", x.xml());
+			GetArg().SetArg(L"process", L"ok");
+
 			CloseWindow();
 
 			return 1;
@@ -347,8 +350,8 @@
 
 		int OnInit()
 		{
-			xaserver Args = GetArg();
-
+			xaserverarg Args = GetArg();
+			/*
 			XXmlContentSvr xdoc = new XXmlContentSvr;
 			xdoc.setNativePointer(Args);
 			vc = new vcontrol;
@@ -356,13 +359,13 @@
 
 			vbind bind = new vbind;
 			bind.bind(dw_1, vc);
-
-			xml x;
-			
+				xml x;
 			x.loadXML(vc.GetContent());
-
+			*/
 			//alert(x.GetXml());
-
+			xml x;
+			xstring xs = GetArg().GetArgString(L"content");
+			x.loadXML(xs.c_str());
 			dw_1.Retrieve(x);
 
 			//if (x.GetXmlDoc().documentElement.selectSingleNode(L"CurrencyCode"))
diff --git a/jrj/project/business/SO3.maint.cpp b/jrj/project/business/SO3.maint.cpp
index 5bb3ca6..5057518 100644
--- a/jrj/project/business/SO3.maint.cpp
+++ b/jrj/project/business/SO3.maint.cpp
@@ -9,6 +9,11 @@
 #include "viewobject/saleorder.view.hpp"
 #include "viewobject/quote.view.hpp"
 
+#include "jstring.hpp"
+#include "JFactory.hpp"
+#include "jobjectsvr.hpp"
+#include <memory>
+#include "JPtr.hpp"
 class __declspec(dllexport) BaseMaintSOWin : public maint
 {
 	xdwtable dw_props;
@@ -223,17 +228,34 @@
 		xstring colname = hdr->colname;
 		if (value == L"支付条款")
 		{
-			//int  p1 = vc.xdoc.getNativePointer();
-			//openUrl(L"/sale/view/SaleOrder/xpage/payment", p1);
+			xaserverarg arg;
+			xml x;
+			dw_base.DwUpdateAllTo(x);
+			arg.SetArg(L"content", x.xml());
+			openUrl(L"/sale/view/SaleOrder/xpage/payment", (LPARAM)arg);
+			if (arg.GetArgString(L"process") == L"ok")
+			{
+				x.loadXML(arg.GetArgString(L"content"));
+				dw_base.Retrieve(x);
+			}
 			dw_base.AcceptText();
+			dw_base.Redraw();
 			return 1;
 		}
 
 		//交货期维护
 		if (value == L"交货期")
 		{
-			//int p2 = vc.xdoc.getNativePointer();
-			//openUrl(L"/sale/view/SaleOrder/xpage/delivery1", p2);
+			xaserverarg arg;
+			xml x;
+			dw_base.DwUpdateAllTo(x);
+			arg.SetArg(L"content", x.xml());
+			openUrl(L"/sale/view/SaleOrder/xpage/delivery1", (LPARAM)arg);
+			if (arg.GetArgString(L"process") == L"ok")
+			{
+				x.loadXML(arg.GetArgString(L"content"));
+				dw_base.Retrieve(x);
+			}
 			dw_base.AcceptText();
 			dw_base.Redraw();
 			return 1;
@@ -939,8 +961,14 @@
 		return 1;
 	}
 
+
 	int onload()
 	{
+		using JFString = JFactory<JString>;
+		JPtr<JFString> jfString(JObjectSvr::CreateInstance<JFString>(L"JFactoryString"));
+		//auto jfString = JObjectSvr::CreateInstance<JFString>(L"JFactoryString");
+		JPtr<JString> pStr(jfString->make());
+
 		dw_props = GetControl(L"dw_props");
 		/*KXMLDOMDocument x = SaleOrderView::GetMaintFormForBase();
 		dw_props.SetDataObject(x);

--
Gitblit v1.9.3