From 7a91c3a1ed37b0332d4ff0ebeae60bd6da3665c0 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期二, 16 七月 2024 18:28:58 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj
---
jrj/project/business/BasicCode/TestingCompanyMaint.cpp | 321 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 321 insertions(+), 0 deletions(-)
diff --git a/jrj/project/business/BasicCode/TestingCompanyMaint.cpp b/jrj/project/business/BasicCode/TestingCompanyMaint.cpp
new file mode 100644
index 0000000..12a369a
--- /dev/null
+++ b/jrj/project/business/BasicCode/TestingCompanyMaint.cpp
@@ -0,0 +1,321 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) TestingCompanyMaint : public xframe
+{
+public:
+ KXMLDOMDocument m_configDoc;
+ xstring m_userid;
+ xstring m_username;
+ xstring ContactID;
+ xdwtable dw_base;
+ xcell dw_cell;
+public:
+ TestingCompanyMaint(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static TestingCompanyMaint* CreateInstance(void* implPtr, void* hWnd)
+ {
+ TestingCompanyMaint* pWin = new TestingCompanyMaint(implPtr, (HWND)hWnd);
+ return pWin;
+ }
+ int alert(xstring str)
+ {
+ //win::MessageBox(GetHWND(),str,L"提示22:",0);
+ TApp::alert(this, str);
+ return 0;
+ }
+ int setCellReadOnly()
+ {
+ dw_base = new xdwtable;
+ dw_base.setNativePointer(GetControl(L"dw_base"));
+ dw_cell = new xcell;
+ dw_cell.setNativePointer(dw_base.QueryItem(L"ixcell"));
+ xstring strnew = L"<cellprop celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellvalid='' cellinitial=''/>";
+ dw_cell.SetCellProps(2, 2, strnew);
+ return 0;
+ }
+ int OnSetFocus(TEvent* evt, LPARAM p)
+ {
+ SetAgent(L"maint");
+ return 1;
+ }
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+ int OnClear() {
+ if (m_EntityID == L"") {
+ m_userid = publiccode::GetUser().id;
+ m_username = publiccode::GetUser().name;
+ dw_base = new xdwtable;
+ dw_base.setNativePointer(GetControl(L"dw_base"));
+ dw_base.SetItemString(1, L"PartyID", GetGuid());
+ dw_base.SetItemString(1, L"PStatus", L"1");
+ dw_base.SetItemDisplayString(1, L"PStatus", L"有效");
+ dw_base.SetItemString(1, L"CreatorID", m_userid);
+ dw_base.SetItemString(1, L"PADStatus", L"1");
+ dw_base.SetItemString(1, L"Type", L"20");
+ dw_base.SetItemString(1, L"AddressID", GetGuid());
+ dw_base.SetItemString(1, L"PADIdentifyAddressFlag", L"Y");
+ dw_base.SetItemString(1, L"PrimaryFlag", L"Y");
+ dw_base.SetItemString(1, L"EnterName", m_userid);
+ dw_base.SetItemDisplayString(1, L"EnterName", m_username);
+ dw_base.SetItemString(1, L"CreateDate", publiccode::GetCurrentDate());
+ }
+ else
+ {
+ setCellReadOnly();
+ }
+ return 0;
+ }
+
+ int OnAddrow()
+ {
+ dw_base = new xdwtable;
+ dw_base.setNativePointer(GetControl(L"dw_base"));
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_base.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"item")
+ {
+ dw.InsertRow(0);
+ int rows = dw.GetRowCount();
+ dw.SetRow(rows);
+ }
+ return 1;
+ }
+ int OnInsertRow()
+ {
+ dw_base = new xdwtable;
+ dw_base.setNativePointer(GetControl(L"dw_base"));
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_base.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"item")
+ {
+ int row = dw.GetRow();
+ if (row < 1) return 0;
+ dw.InsertRow(row);
+ dw.SetRow(row);
+ }
+ return 1;
+ }
+
+ int OnDeleteRow()
+ {
+ dw_base = new xdwtable;
+ dw_base.setNativePointer(GetControl(L"dw_base"));
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_base.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"item")
+ {
+ int row = dw.GetRow();
+ if (row < 1) return 0;
+ /*xstring del = dw.GetItemString(row,8);
+ if(del!=L"")
+ {
+ if(m_dels==L"")
+ {
+ m_dels=del;
+ }
+ else
+ {
+ xstring temp=m_dels;
+ m_dels=del + L"|" + temp;
+ //+= L"|"+del;
+ }
+
+ }*/
+ dw.DeleteRow(row);
+ dw.SetRow(row - 1);
+ }
+ return 1;
+ }
+ xstring getGoodsNo()
+ {
+ xml x;
+
+ xaserverarg arg;
+
+ if (getUrl(L"/sale/data/LogisticsCode/pref/shipcompany/PartyNo", arg.GetString(), x) != 1)
+ {
+ trace(x.xml());
+ return L"";
+ }
+ KXMLDOMElement e = x.documentElement();
+ if (e)
+ {
+ xstring code = e.text();
+ trace(code);
+ return L"P" + code;
+ }
+ return L"P1000";
+ }
+ int OnPreSave()
+ {
+ dw_base.AcceptText();
+ dw_base = new xdwtable;
+ dw_base.setNativePointer(GetControl(L"dw_base"));
+ xstring ShipNo = dw_base.GetItemString(1, L"ShipNo");
+ if (ShipNo == L"")
+ {
+ dw_base.SetItemString(1, L"ShipNo", getGoodsNo());
+ }
+ xdwtable dwcon = new xdwtable;
+ dwcon.setNativePointer(dw_base.FindDwTable(L"item", 0));
+ int i;
+ for (i = 1; i <= dwcon.GetRowCount(); i++)
+ {
+ xstring aTemp;
+ xstring aName = dwcon.GetItemString(i, L"ContacterName");
+ trace(aName);
+ if (aName == L"" )
+ {
+ aTemp = dwcon.GetItemString(i, L"Mobile") + dwcon.GetItemString(i, L"TEL") + dwcon.GetItemString(i, L"Fax") + dwcon.GetItemString(i, L"Email") + dwcon.GetItemString(i, L"PCRemark");
+ trace(aTemp);
+ if (aTemp != L"")
+ {
+ alert(L"联系人名称必填!");
+ return -1;
+ }
+ }
+ else {
+ xstring ContactID = dwcon.GetItemString(i, L"ContactID");
+ if (ContactID == L"" )
+ {
+ dwcon.SetItemString(i, L"ContactID", GetGuid());
+ dwcon.SetItemString(i, L"PCStatus", L"1");
+ dw_base.SetItemString(1, L"PrimaryContactID", dwcon.GetItemString(1, L"ContactID"));
+ }
+
+
+
+ }
+ }
+ return 1;
+ }
+ int OnSave()
+ {
+
+ dw_base = new xdwtable;
+ dw_base.setNativePointer(GetControl(L"dw_base"));
+ xstring SName = dw_base.GetItemString(1, L"Name");
+ if (SName == L"") {
+ alert(L"请输入船公司名称!");
+ return -1;
+ }
+ int rec = OnPreSave();
+ if (rec == -1) return -1;
+ xml x;
+
+ dw_base.DwUpdateAllTo(x);
+ trace(x.xml());
+ xaserverarg arg;
+
+ arg.AddArg(L"content", x.xml());
+ arg.AddArg(L"dbmap", L"Shipcompany.dbmap");
+ //arg.AddArg(L"m_dels",m_dels);
+
+ if (getUrl(L"/sale/data/LogisticsCode/entity/shipcompany/save", arg.GetString(), x) != 1)
+ {
+ trace(L"error:" +(xstring)x.xml());
+ alert(L"保存失败!");
+ return 0;
+ }
+ else
+ {
+ trace(x.xml());
+ if (x.selectSingleNode(L"error"))
+ {
+ alert(L"保存出错2!");
+ return 0;
+ }
+ alert(L"保存成功!");
+ dw_base.ResetUpdateStatus();
+ setCellReadOnly();
+ }
+ dw_base.Redraw();
+ //m_dels=L"";
+ return 0;
+ }
+ int OnCmdDispatch(xstring comdid)
+ {
+ trace(comdid);
+ if (comdid.find(L"action:bill.row.add", 0) >= 0) {
+ OnAddrow();
+ }
+ else if (comdid.find(L"bill.row.insert", 0) >= 0) {
+ OnInsertRow();
+ }
+ else if (comdid.find(L"bill.row.delete", 0) >= 0) {
+ OnDeleteRow();
+ }
+ else if (comdid.find(L"bill.save", 0) >= 0) {
+ //trace(1);
+ dw_base.AcceptText();
+ OnSave();
+ }
+ return 0;
+ }
+
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+ int OnCellChanged(TEvent* evt, LPARAM p)
+ {
+
+ dw_base = new xdwtable;
+ dw_base.setNativePointer(GetControl(L"dw_base"));
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ //trace(colname);
+ if (colname == L"ShipNo")
+ {
+ xstring cspec = dw_base.GetItemString(1, 1);
+ trace(cspec);
+ xstring SpecRule = L"^\\d*$";
+ xaserverarg args;
+
+ args.AddArg(L"CSpec", cspec);
+ args.AddArg(L"SpecRule", SpecRule);
+ xml x = new xml;
+
+ getUrl(L"/sale/data/LogisticsCode/pref/forwarderno/check", args.GetString(), x);
+ if (x.selectSingleNode(L"root/spec"))
+ {
+ alert(L"请输入数字!");
+ return 0;
+ }
+
+ }
+ return 1;
+ }
+ int OnAttachEvent()
+ {
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&TestingCompanyMaint::OnXCommand);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&TestingCompanyMaint::OnSetFocus);
+ AttachEvent(L"dw_base", L"DWV_ITEMCHANGED", (FEvent)&TestingCompanyMaint::OnCellChanged);
+ return 1;
+ }
+
+ int onload()
+ {
+
+ OnAttachEvent();
+ //if(!m_configDoc) return -1;
+
+ maint::onload();
+
+ OnClear();
+
+ }
+};
\ No newline at end of file
--
Gitblit v1.9.3