Quellcode durchsuchen

删除原始的cs文件 增加转换文件

main
hulei vor 1 Woche
Ursprung
Commit
84029f1801
100 geänderte Dateien mit 5163 neuen und 21351 gelöschten Zeilen
  1. 0
    24
      ant-design-pro-vue3/src/views/front/develop/Communication/CommonSettings.cs
  2. 0
    25
      ant-design-pro-vue3/src/views/front/develop/Communication/Package/IPackage.cs
  3. 0
    1007
      ant-design-pro-vue3/src/views/front/develop/Communication/Package/Msg858302.cs
  4. 0
    894
      ant-design-pro-vue3/src/views/front/develop/Communication/Package/Msg858303.cs
  5. 0
    427
      ant-design-pro-vue3/src/views/front/develop/Communication/Package/Msg858304.cs
  6. 0
    355
      ant-design-pro-vue3/src/views/front/develop/Communication/Package/MsgPackage.cs
  7. 0
    165
      ant-design-pro-vue3/src/views/front/develop/Communication/Package/MsgXml01.cs
  8. 0
    22
      ant-design-pro-vue3/src/views/front/develop/Communication/Package/PackageOptions.cs
  9. 0
    30
      ant-design-pro-vue3/src/views/front/develop/Communication/Package/PackageType.cs
  10. 0
    186
      ant-design-pro-vue3/src/views/front/develop/Communication/SocketListener/BufferManager.cs
  11. 0
    1294
      ant-design-pro-vue3/src/views/front/develop/Communication/SocketListener/SocketManager.cs
  12. 0
    2933
      ant-design-pro-vue3/src/views/front/develop/Constract/ContractBase/TradeAPIsHelper.cs
  13. 8
    8
      ant-design-pro-vue3/src/views/front/develop/Constract/ContractBase/TradeAPIsHelper.ts
  14. 0
    5892
      ant-design-pro-vue3/src/views/front/develop/Constract/ContractBase/TradeBusHelper.cs
  15. 3
    3
      ant-design-pro-vue3/src/views/front/develop/Constract/ContractBase/TradeInfoHelper.ts
  16. 0
    435
      ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/ContractManager.cs
  17. 0
    20
      ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IAuthorizeContract.cs
  18. 0
    43
      ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IEvaluationContract.cs
  19. 0
    48
      ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IPaymentFeeContract.cs
  20. 0
    33
      ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IPrintContract.cs
  21. 0
    16
      ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IRecheckContract.cs
  22. 0
    24
      ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/ISubmitContract.cs
  23. 0
    190
      ant-design-pro-vue3/src/views/front/develop/Constract/Entry/AuthorizeEntry.cs
  24. 0
    239
      ant-design-pro-vue3/src/views/front/develop/Constract/Entry/CashCodeEntry.cs
  25. 0
    23
      ant-design-pro-vue3/src/views/front/develop/Constract/Entry/PrintEntry.cs
  26. 0
    139
      ant-design-pro-vue3/src/views/front/develop/Constract/Entry/PrintflowEntry.cs
  27. 0
    213
      ant-design-pro-vue3/src/views/front/develop/Constract/Entry/RecheckEntry.cs
  28. 0
    468
      ant-design-pro-vue3/src/views/front/develop/Constract/Entry/SubmitEntry.cs
  29. 0
    956
      ant-design-pro-vue3/src/views/front/develop/Constract/Extend/Reconciles.cs
  30. 0
    80
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ATMAmountClearing.cs
  31. 98
    32
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ATMAmountClearing.ts
  32. 0
    126
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/AccountInterestCalculation.cs
  33. 108
    73
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/AccountInterestCalculation.ts
  34. 0
    107
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/AnticipationFreezeStoppaymentDeduct.cs
  35. 97
    64
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/AnticipationFreezeStoppaymentDeduct.ts
  36. 0
    86
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckAccountDeducInterest.cs
  37. 103
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckAccountDeducInterest.ts
  38. 0
    101
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckAccountStat.cs
  39. 121
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckAccountStat.ts
  40. 0
    312
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckBlackList.cs
  41. 323
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckBlackList.ts
  42. 0
    110
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckBlackList_DQS.cs
  43. 132
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckBlackList_DQS.ts
  44. 0
    86
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckCustomerCertificate.cs
  45. 103
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckCustomerCertificate.ts
  46. 0
    104
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckGreyList.cs
  47. 126
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckGreyList.ts
  48. 0
    86
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckStatusPledge.cs
  49. 96
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckStatusPledge.ts
  50. 0
    107
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckTradeRule.cs
  51. 125
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckTradeRule.ts
  52. 0
    107
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ChecksTellerSmallestCertificate.cs
  53. 125
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ChecksTellerSmallestCertificate.ts
  54. 0
    100
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CountedInterest.cs
  55. 115
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CountedInterest.ts
  56. 0
    79
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/GetRates.cs
  57. 94
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/GetRates.ts
  58. 0
    88
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/IDNumberVerification.cs
  59. 105
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/IDNumberVerification.ts
  60. 0
    107
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/MessageComprehensive.cs
  61. 122
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/MessageComprehensive.ts
  62. 0
    137
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/PasswordAuthentication.cs
  63. 157
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/PasswordAuthentication.ts
  64. 0
    79
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/PhoneComprehensive.cs
  65. 97
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/PhoneComprehensive.ts
  66. 0
    120
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ProductUnderLevelSubjects.cs
  67. 137
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ProductUnderLevelSubjects.ts
  68. 154
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryAccountDeductInfo.ts
  69. 0
    94
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryAccountDetail.cs
  70. 181
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryAccountDetail.ts
  71. 156
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryAccountInfoByCustomer.ts
  72. 110
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCollateralInformationByHTCode.ts
  73. 117
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryComboBoxData.ts
  74. 143
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerCertificateList.ts
  75. 0
    184
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerInfoByCode.cs
  76. 157
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerInfoByCode.ts
  77. 0
    1000
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerInformation.cs
  78. 262
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerInformation.ts
  79. 0
    112
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryDicData.cs
  80. 121
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryDicData.ts
  81. 0
    92
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryErrorCodeInfo.cs
  82. 93
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryErrorCodeInfo.ts
  83. 0
    198
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeeBlackList.cs
  84. 214
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeeBlackList.ts
  85. 0
    99
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeeNumberList.cs
  86. 112
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeeNumberList.ts
  87. 0
    135
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeePaymentInfo.cs
  88. 153
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeePaymentInfo.ts
  89. 0
    99
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedDepositDateType.cs
  90. 111
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedDepositDateType.ts
  91. 0
    149
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedDepositProduct.cs
  92. 161
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedDepositProduct.ts
  93. 0
    143
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedPay.cs
  94. 157
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedPay.ts
  95. 0
    162
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFreezeAccountInformation.cs
  96. 172
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFreezeAccountInformation.ts
  97. 0
    180
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFreezeList.cs
  98. 194
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFreezeList.ts
  99. 0
    301
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryGuaranteeInfomationByNum.cs
  100. 0
    0
      ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryGuaranteeInfomationByNum.ts

+ 0
- 24
ant-design-pro-vue3/src/views/front/develop/Communication/CommonSettings.cs Datei anzeigen

@@ -1,24 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using Platform.Common.RunningParameters;
6
-
7
-namespace TellerSystem.Communication
8
-{
9
-    public class CommonSettings
10
-    {
11
-        #region
12
-        /// <summary>
13
-        /// 通讯采用的加密方式
14
-        /// </summary>
15
-        public static string KeyStr
16
-        {
17
-            get
18
-            {
19
-                return ConfigManager.GetInstance().GetConfigValue("KeyStr", ConfigType.System);
20
-            }
21
-        }
22
-        #endregion
23
-    }
24
-}

+ 0
- 25
ant-design-pro-vue3/src/views/front/develop/Communication/Package/IPackage.cs Datei anzeigen

@@ -1,25 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-
6
-namespace TellerSystem.Communication.Package
7
-{
8
-    interface IPackage
9
-    {
10
-
11
-        /// <summary>
12
-        /// 组包操作
13
-        /// </summary>
14
-        ///<param name="msg">核心返回数据包</param>
15
-        /// <returns>报文数据包</returns>
16
-        byte[] Integrate( Message msg);
17
-        /// <summary>
18
-        /// 解包操作
19
-        /// </summary>
20
-        /// <param name="msg">核心返回数据包</param>
21
-        /// <param name="data">核心返回数据包</param>
22
-        /// <returns></returns>
23
-        bool Analyze( Message msg,byte[] data);
24
-    }
25
-}

+ 0
- 1007
ant-design-pro-vue3/src/views/front/develop/Communication/Package/Msg858302.cs
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


+ 0
- 894
ant-design-pro-vue3/src/views/front/develop/Communication/Package/Msg858303.cs Datei anzeigen

@@ -1,894 +0,0 @@
1
-using System;
2
-using System.Text;
3
-using Platform.Common;
4
-using Platform.Common.RunningParameters;
5
-using Platform.Common.LogSystem;
6
-using TellerSystem.Communication.MessageHelper;
7
-
8
-namespace TellerSystem.Communication.Package
9
-{
10
-    /// <summary>
11
-    /// 8583 128域类型报文,TCP通讯方式的组包,解包处理。
12
-    /// </summary>
13
-    class Msg858303 : IPackage
14
-    {
15
-        //定义静态实例
16
-        public static Msg858303 Instance;
17
-        /// <summary>
18
-        ///静态实例初始化函数
19
-        /// </summary>
20
-        static public Msg858303 GetInstance()
21
-        {
22
-            if (Instance == null)
23
-            {
24
-                Instance = new Msg858303();
25
-            }
26
-            return Instance;
27
-        }
28
-
29
-        /// <summary>
30
-        /// 组包操作
31
-        /// </summary>
32
-        /// <returns>报文数据包</returns>
33
-        public byte[] Integrate(Message msg)
34
-        {
35
-            byte[] returnData = null;
36
-
37
-            try
38
-            {
39
-                returnData = DoIntegrate(msg);
40
-            }
41
-            catch (Exception ex)
42
-            {
43
-                //写错误信息
44
-                //MsgPackage.LogObj.Error(ex.Message);
45
-                throw;
46
-            }
47
-            return returnData;
48
-        }
49
-
50
-        /// <summary>
51
-        /// 解包操作
52
-        /// </summary>
53
-        /// <param name="msg">核心返回数据包</param>
54
-        /// <param name="data">核心返回数据包</param>
55
-        /// <returns></returns>
56
-        public bool Analyze(Message msg, byte[] data)
57
-        {
58
-            try
59
-            {
60
-                //进行解包处理
61
-                DoAnalyze(msg, data);
62
-            }
63
-            catch (Exception ex)
64
-            {
65
-
66
-                return false;
67
-            }
68
-            return true;
69
-        }
70
-
71
-        #region 组包处理
72
-
73
-        /// <summary>
74
-        /// 组包处理
75
-        /// </summary>
76
-        /// <param name="msg"></param>
77
-        /// <returns></returns>
78
-        private byte[] DoIntegrate(Message msg)
79
-        {
80
-            //报文数据区
81
-            byte[] msgData;
82
-            //报文总长度
83
-            int totalLen;
84
-            //8位长度对应字符串
85
-            string strLen;
86
-            //报文数据区的长度
87
-            int msgDataLen;
88
-            //60位报文头
89
-            string msgTitle;
90
-            //5报文类型
91
-            byte[] msgKindByte;
92
-            //位图区域
93
-            byte[] bitMapByte = new byte[16];
94
-            //有效数据内容
95
-            string bitDataStr = string.Empty;
96
-            byte[] bitDataByte;
97
-            //组包数据包
98
-            byte[] totalMsgData;
99
-
100
-            //文件标志 0xff==no file   0x7f==file
101
-            byte fileFlag;
102
-            //根据当前交易附件标志设置文件标志
103
-            if (msg.FileFlag)
104
-            {
105
-                fileFlag = 0x7f;
106
-            }
107
-            //无文件
108
-            else
109
-            {
110
-                fileFlag = 0xff;
111
-            }
112
-            try
113
-            {
114
-                //报文类型
115
-                msgKindByte = PlatformSettings.Encoding.GetBytes("     ");
116
-                //组织报文数据区域信息,位图区,数据区
117
-                //GetBitData(msg, bitMapByte, ref bitDataStr);
118
-                //bitDataByte = PlatformSettings.Encoding.GetBytes(bitDataStr);
119
-                bitDataByte = msg.IntegrateFd(out bitMapByte);
120
-
121
-                //报文数据区长度
122
-                msgDataLen = msgKindByte.Length + bitMapByte.Length + bitDataByte.Length;
123
-                //报文总长度
124
-                totalLen = msgDataLen + 63;
125
-                //8位长度对应字符串
126
-                strLen = Convert.ToString(totalLen).PadLeft(8, '0');
127
-                //60位报文头
128
-                msgTitle = Convert.ToString(msgDataLen).PadLeft(4, '0');
129
-                //lianyintong 报文头要求
130
-                //00:渠道编号,00:系统编号
131
-                msgTitle = "0000" + "MDBS1" + "    ";
132
-
133
-                msgTitle = msgTitle.PadRight(63, ' ');
134
-
135
-                //合并5位报文类型,位图,数据区域
136
-                msgData = new byte[msgDataLen];
137
-                //合并操作
138
-                for (int i = 0; i < msgData.Length; i++)
139
-                {
140
-                    if (i < msgKindByte.Length)
141
-                    {
142
-                        msgData[i] = msgKindByte[i];
143
-                    }
144
-
145
-                    if (i > msgKindByte.Length - 1 & i < msgKindByte.Length + bitMapByte.Length)
146
-                    {
147
-                        msgData[i] = bitMapByte[i - msgKindByte.Length];
148
-                    }
149
-                    if (i > msgKindByte.Length + bitMapByte.Length - 1)
150
-                    {
151
-                        msgData[i] = bitDataByte[i - msgKindByte.Length - bitMapByte.Length];
152
-                    }
153
-                }
154
-                //合并组包数据
155
-                byte[] len8 = PlatformSettings.Encoding.GetBytes(strLen);
156
-                //报文头字节数组
157
-                byte[] msgTitleByte = PlatformSettings.Encoding.GetBytes(msgTitle);
158
-                totalMsgData = new byte[len8.Length + msgTitleByte.Length + msgData.Length];
159
-                for (int j = 0; j < totalMsgData.Length - 1; j++)
160
-                {
161
-                    if (j < len8.Length)
162
-                    {
163
-                        totalMsgData[j] = len8[j];
164
-                    }
165
-                    if (j > len8.Length - 1 & j < len8.Length + msgTitleByte.Length)
166
-                    {
167
-                        totalMsgData[j] = msgTitleByte[j - len8.Length];
168
-                    }
169
-                    if (j > len8.Length + msgTitleByte.Length - 1)
170
-                    {
171
-                        totalMsgData[j] = msgData[j - len8.Length - msgTitleByte.Length];
172
-                    }
173
-                }
174
-                //设置文件标志位
175
-                //totalMsgData[totalMsgData.Length - 1] = fileFlag;
176
-            }
177
-            catch (Exception ex)
178
-            {
179
-                //写错误信息
180
-                //MsgPackage.LogObj.Error(ex.Message);
181
-                throw;
182
-            }
183
-            return totalMsgData;
184
-        }
185
-
186
-        /// <summary>
187
-        /// 生成报文位图区,数据区
188
-        /// </summary>
189
-        /// <param name="msg"></param>
190
-        /// <param name="bitMap"></param>
191
-        /// <param name="data"></param>
192
-        /// <returns></returns>
193
-        private void GetBitData(Message msg, byte[] bitMap, ref string data)
194
-        {
195
-            //当前域数据
196
-            string curData = "";
197
-            StringBuilder tmpStr = new StringBuilder();
198
-            StringBuilder logStr = new StringBuilder();
199
-            try
200
-            {
201
-                //位图字符串
202
-                //初始化位图区域(都为零)
203
-                string bitStr = "0".PadLeft(128, '0'); ;
204
-                //128位位图数组
205
-                byte[] bitByte = PlatformSettings.Encoding.GetBytes(bitStr);
206
-                //8583(128)类型报文第一位图值为1
207
-                bitByte[0] = Convert.ToByte('1');
208
-
209
-                //设置对应位图值
210
-                for (int i = 1; i < 128; i++)
211
-                {
212
-                    curData = "";
213
-                    //取得当前域的数据
214
-                    logStr.Append(GetBitItemData(msg, i + 1, ref curData));
215
-
216
-                    //处理当前域位图信息
217
-                    //当前域值不为空时,对应位图为1.
218
-                    if (curData != "")
219
-                    {
220
-                        bitByte[i] = Convert.ToByte('1');
221
-                        //处理当前域的数据信息
222
-                        //每个域的内容里不允许有‘\0'和'\r',将‘\0’替换为‘ ’
223
-                        curData = curData.Replace('\0', ' ').Replace('\n', ' ').Replace('\r', ' ');
224
-                        tmpStr.Append(curData);
225
-                    }
226
-                }
227
-                //位图字符串
228
-                bitStr = PlatformSettings.Encoding.GetString(bitByte);
229
-                //写位图信息
230
-                //MsgPackage . LogObj.Debug("\n请求位图:\n" + bitStr.Replace( '\0','\n'));
231
-                //写报文数据信息
232
-                //MsgPackage.LogObj.Info("\n请求数据:\n" + logStr.ToString());
233
-                PlatformLogger.CommunicationInfo("\n请求数据:\n" + logStr.ToString());
234
-                //转换为16位字符串)));))
235
-                for (int j = 0; j < 16; j++)
236
-                {
237
-                    int k = (j) * 8;
238
-                    bitMap[j] = Convert.ToByte(Convert.ToInt32(bitStr.Substring(k, 8), 2));
239
-                }
240
-            }
241
-            catch (Exception ex)
242
-            {
243
-                //写错误信息
244
-                PlatformLogger.SystemErrorInfo("获取8583位图数据出现异常!", ex);
245
-                throw;
246
-            }
247
-            data = tmpStr.ToString();
248
-        }
249
-
250
-        /// <summary>
251
-        /// 处理某一域的数据内容
252
-        /// </summary>
253
-        /// <param name="msg"></param>
254
-        /// <param name="i">当前域序号</param>
255
-        /// <param name="curData">当前域数据</param>
256
-        /// <returns>日志信息</returns>
257
-        private static string GetBitItemData(Message msg, int i, ref string curData)
258
-        {
259
-            #region 采用新的报文结构
260
-            //MsgBitMap msgBitMap = new MsgBitMap();
261
-            ////取得当前域的数据内容
262
-            //string tmpStr00 = string.Empty;
263
-            //string tmpStr01 = "Fd" + Convert.ToString(i + 1);
264
-            //string tmpFalg01 = "Flag" + Convert.ToString(i + 1);
265
-            //string tmpStr02 = "Bit" + Convert.ToString(i + 1);
266
-            //string length = MsgBitMap.BitMap[i, 0];
267
-            //int tmpLen = 0;
268
-            //string tmpData = "";
269
-            //bool tmpFlag = false;
270
-            //string[,] bitMap;
271
-            //string returnStr = "";
272
-            //string tmpStr = "";
273
-            //switch (length)
274
-            //{
275
-            //    //停用
276
-            //    case "-1":
277
-            //        {
278
-            //            break;
279
-            //        }
280
-            //    //定长
281
-            //    case "0":
282
-            //        {
283
-            //            //无子域
284
-            //            if (MsgBitMap.BitMap[i, 3] == "0")
285
-            //            {
286
-            //                tmpData = CommomFunctions.NVL(msg.GetType().GetProperty(tmpStr01).GetValue(msg, null), "").ToString();
287
-            //                //当前域有数据
288
-            //                if (tmpData != "")
289
-            //                {
290
-            //                    curData = CommomFunctions.GetLenStr(tmpData, Convert.ToInt32(MsgBitMap.BitMap[i, 1]), false);
291
-            //                    //日志信息
292
-            //                    returnStr = tmpStr01 + ":[" + curData + "]\n";
293
-            //                }
294
-            //            }
295
-            //            //有子域
296
-            //            else if (MsgBitMap.BitMap[i, 3] == "1")
297
-            //            {
298
-            //                tmpStr00 = tmpStr01 + "_00";
299
-            //                tmpData = CommomFunctions.NVL(msg.GetType().GetProperty(tmpStr00).GetValue(msg, null), "").ToString();
300
-            //                if (tmpData != "")
301
-            //                {
302
-            //                    tmpFlag = true;
303
-            //                    curData = tmpData;
304
-            //                    //日志信息
305
-            //                    returnStr = tmpStr00 + ":[" + curData + "]\n";
306
-            //                }
307
-            //                else
308
-            //                {
309
-            //                    tmpFlag =
310
-            //                        Convert.ToBoolean(
311
-            //                            CommomFunctions.NVL(msg.GetType().GetProperty(tmpFalg01).GetValue(msg, null), ""));
312
-            //                    if (tmpFlag)
313
-            //                    {
314
-            //                        bitMap = (string[,])msgBitMap.GetType().GetField(tmpStr02).GetValue(tmpStr02);
315
-            //                        for (int j = 0; j < (bitMap.Length / 3); j++)
316
-            //                        {
317
-            //                            //定长
318
-            //                            if (bitMap[j, 0] == "0")
319
-            //                            {
320
-            //                                //取得当前子域的数据
321
-            //                                string tmpStr01Sub = tmpStr01 + "_" + (j + 1).ToString().PadLeft(2, '0');
322
-            //                                tmpStr = CommomFunctions.GetLenStr(
323
-            //                                    CommomFunctions.NVL(
324
-            //                                        msg.GetType().GetProperty(tmpStr01Sub).GetValue(msg, null), "").
325
-            //                                        ToString
326
-            //                                        (), Convert.ToInt32(bitMap[j, 1]), false);
327
-            //                                curData += tmpStr;
328
-            //                                //日志信息
329
-            //                                returnStr += tmpStr01Sub + ":[" + tmpStr + "]\n";
330
-            //                            }
331
-            //                            //目前子域不允许为变长类型,程序暂不处理子域为变长情况。
332
-            //                            else
333
-            //                            {
334
-            //                            }
335
-            //                        }
336
-            //                    }
337
-            //                }
338
-            //                curData = CommomFunctions.GetLenStr(curData, Convert.ToInt32(MsgBitMap.BitMap[i, 1]),
339
-            //                                                           false);
340
-            //            }
341
-            //            break;
342
-            //        }
343
-            //    //变长
344
-            //    default:
345
-            //        {
346
-            //            //无子域
347
-            //            if (MsgBitMap.BitMap[i, 3] == "0")
348
-            //            {
349
-            //                tmpData = CommomFunctions.NVL(msg.GetType().GetProperty(tmpStr01).GetValue(msg, null), "").ToString();
350
-            //                //当前域有数据
351
-            //                if (tmpData != "")
352
-            //                {
353
-            //                    tmpFlag = true;
354
-            //                    curData = tmpData;
355
-            //                    //日志信息
356
-            //                    returnStr = tmpStr01 + ":[" + curData + "]\n";
357
-            //                }
358
-            //            }
359
-            //            //有子域
360
-            //            else if (MsgBitMap.BitMap[i, 3] == "1")
361
-            //            {
362
-            //                tmpStr00 = tmpStr01 + "_00";
363
-            //                tmpData = CommomFunctions.NVL(msg.GetType().GetProperty(tmpStr00).GetValue(msg, null), "").ToString();
364
-            //                if (tmpData != "")
365
-            //                {
366
-            //                    tmpFlag = true;
367
-            //                    curData = tmpData;
368
-            //                    //日志信息
369
-            //                    returnStr = tmpStr00 + ":[" + curData + "]\n";
370
-            //                }
371
-            //                else
372
-            //                {
373
-            //                    tmpFlag =
374
-            //                        Convert.ToBoolean(
375
-            //                            CommomFunctions.NVL(msg.GetType().GetProperty(tmpFalg01).GetValue(msg, null), ""));
376
-            //                    //当前域有数据
377
-            //                    if (tmpFlag)
378
-            //                    {
379
-            //                        bitMap = (string[,])msgBitMap.GetType().GetField(tmpStr02).GetValue(tmpStr02);
380
-            //                        for (int j = 0; j < (bitMap.Length / 3); j++)
381
-            //                        {
382
-            //                            //定长
383
-            //                            if (bitMap[j, 0] == "0")
384
-            //                            {
385
-            //                                //取得当前子域的数据
386
-            //                                string tmpStr01Sub = tmpStr01 + "_" + (j + 1).ToString().PadLeft(2, '0');
387
-            //                                tmpStr = CommomFunctions.GetLenStr(
388
-            //                                    CommomFunctions.NVL(
389
-            //                                        msg.GetType().GetProperty(tmpStr01Sub).GetValue(msg, null), "").
390
-            //                                        ToString
391
-            //                                        (), Convert.ToInt32(bitMap[j, 1]), false);
392
-            //                                curData += tmpStr;
393
-            //                                //日志信息
394
-            //                                returnStr += tmpStr01Sub + ":[" + tmpStr + "]\n";
395
-            //                            }
396
-            //                            //目前子域不允许为变长类型,程序暂不处理子域为变长情况。
397
-            //                            else
398
-            //                            {
399
-            //                            }
400
-            //                        }
401
-            //                    }
402
-            //                }
403
-            //            }
404
-            //            if (tmpFlag)
405
-            //            {
406
-            //                //长度大于最大长度
407
-            //                tmpLen = PlatformSettings.Encoding.GetByteCount(curData);
408
-            //                if (tmpLen > Convert.ToInt32(MsgBitMap.BitMap[i, 1]))
409
-            //                {
410
-            //                    //从开始位置截取变量,变量长度不允许大于最大长度
411
-            //                    curData = CommomFunctions.GetLenStr(curData,
412
-            //                                                        Convert.ToInt32(MsgBitMap.BitMap[i, 1]),
413
-            //                                                        false);
414
-            //                }
415
-            //                //生成当前域内容
416
-            //                curData = tmpLen.ToString().PadLeft(Convert.ToInt16(length), '0') + curData;
417
-            //            }
418
-            //            break;
419
-            //        }
420
-            //}
421
-
422
-            //return returnStr;
423
-            #endregion
424
-
425
-            #region 新的处理方法
426
-            var result = string.Empty;
427
-            var fdName = i.ToString().PadLeft(3, '0') + "0";
428
-            if (!msg.BitMapInstance.FdBitMap.ContainsKey(fdName))
429
-                throw new ArgumentOutOfRangeException(string.Format("Fd报文定义集合中未找到Code等于[{0}]的域定义!", fdName));
430
-            var fdItem = msg.BitMapInstance.FdBitMap[fdName];
431
-
432
-            if (fdItem.Children == null || fdItem.Children.Count == 0)
433
-            {
434
-                //无子域
435
-                result = msg.GetFdFormatValue(fdItem.Code);
436
-            }
437
-            else
438
-            {
439
-                //有子域,子域暂时只存在定长域
440
-                var child = new StringBuilder();
441
-                foreach (var item in fdItem.Children)
442
-                {
443
-                    child.Append(msg.GetFdFormatValue(item.Code));
444
-                }
445
-                result = child.ToString();
446
-            }
447
-            switch (fdItem.FieldType)
448
-            {
449
-                case "-1":
450
-                    {
451
-                        //不使用该域
452
-                        result = string.Empty;
453
-                        break;
454
-                    }
455
-                case "0":
456
-                    {
457
-                        //定长域
458
-                        //判断长度,暂时不考虑子域合集长度与大域长度不一致的情况
459
-                        break;
460
-                    }
461
-                default:
462
-                    {
463
-                        //变长域
464
-                        var len = int.Parse(fdItem.FieldType);
465
-                        var data = PlatformSettings.Encoding.GetBytes(result);
466
-                        if (data.Length > 0)
467
-                        {
468
-                            if (data.Length > fdItem.Length)
469
-                            {
470
-                                byte[] tmp = new byte[fdItem.Length];
471
-                                Array.Copy(data, tmp, fdItem.Length);
472
-                                data = tmp;
473
-                            }
474
-                            var length = data.Length.ToString().PadLeft(len, '0');
475
-                            result = length + PlatformSettings.Encoding.GetString(data);
476
-                        }
477
-                        break;
478
-                    }
479
-            }
480
-            //组装返回域内容和日志信息
481
-            curData = result;
482
-            return string.Format("FD{0}:[{1}]", fdItem.Code, result);
483
-            #endregion
484
-        }
485
-
486
-        #endregion
487
-
488
-        #region 解包处理
489
-
490
-        /// <summary>
491
-        /// 解包操作
492
-        /// </summary>
493
-        /// <param name="msg"></param>
494
-        /// <param name="returnData"></param>
495
-        /// <returns></returns>
496
-        public void DoAnalyze(Message msg, byte[] returnData)
497
-        {
498
-            try
499
-            {
500
-                //报文前68位内容       
501
-                byte[] msg68 = new byte[71];
502
-                string msgStr68 = "";
503
-                //报文总长度
504
-                int msgTotalLen = 0;
505
-                //报文数据区长度        
506
-                int msgDataLen = 0;
507
-                //报文数据区内容
508
-                byte[] msgData;
509
-                //报文有效数据内容
510
-                byte[] msgDataReal;
511
-                //报文位图区
512
-                byte[] msgBit;
513
-                string msgBitStr = "";
514
-                //报文前68位(8位报文长度+60位报文头)
515
-                for (int i = 0; i < 71; i++)
516
-                {
517
-                    msg68[i] = returnData[i];
518
-                }
519
-                //报文前68位字符串内容
520
-                msgStr68 = PlatformSettings.Encoding.GetString(msg68);
521
-                //报文总长度              
522
-                msgTotalLen = Convert.ToInt32(msgStr68.Substring(0, 8));
523
-                //报文有效数据内容长度
524
-                msgDataLen = msgTotalLen - 63;
525
-                //取得报文数据区内容
526
-                msgData = new byte[msgDataLen];
527
-                Array.Copy(returnData, 71, msgData, 0, msgTotalLen - 63);
528
-
529
-                //文件标志
530
-                //byte fileDataFlag = returnData[msgTotalLen + 8];
531
-
532
-                #region delete 解包封装
533
-                ////报文数据区格式为 5位报文类型+16位位图区域+有效数据区
534
-                ////报文位图区
535
-                //msgBit = new byte[16];
536
-                //Array.Copy(msgData, 5, msgBit, 0, 16);
537
-                ////扩展16位字符串转换为128位01格式的位图字符串
538
-                //foreach (byte bytes in msgBit)
539
-                //{
540
-                //    msgBitStr += Convert.ToString(bytes, 2).PadLeft(8, '0');
541
-                //}
542
-                ////写调试日志
543
-                ////MsgPackage.LogObj.Debug("\n位图:\n" + msgBitStr);
544
-                //PlatformLogger.CommunicationInfo("\n位图:\n" + msgBitStr);
545
-                ////报文数据内容
546
-                //msgDataReal = new byte[msgDataLen - 21];
547
-                //Array.Copy(msgData, 21, msgDataReal, 0, msgDataLen - 21);
548
-                ////写调试日志
549
-                ////MsgPackage.LogObj.Debug("数据:\n" + PlatformSettings.Encoding.GetString(msgDataReal));
550
-                //PlatformLogger.CommunicationInfo("数据:\n" + PlatformSettings.Encoding.GetString(msgDataReal));
551
-                ////详细解析每个域的信息
552
-                ////Message tmpMsg = AnilyzeFd(msgBitStr, msgDataReal);
553
-                //if (!msg.AnilyzeFd(msgBitStr, msgDataReal))
554
-                //{
555
-                //    //解包失败
556
-                //    throw new FormatException("8583通讯解包操作失败!具体情况请查看日志!");
557
-                //}
558
-                if (!msg.AnilyzeFd(msgData))
559
-                {
560
-                    //解包失败
561
-                    throw new FormatException("8583通讯解包操作失败!具体情况请查看日志!");
562
-                }
563
-                #endregion
564
-
565
-                //将解析后结果复制到当前交易对象中
566
-                //MsgPackage.Clone(msg, tmpMsg);
567
-                //有文件附件的处理
568
-                //if (fileDataFlag == 0x7f)
569
-                //{
570
-                //    //取得文件长度
571
-                //    //文件部分的格式为:30位的文件名+8位的文件长度+文件内容
572
-                //    Int64 fileLen = returnData.Length - msgTotalLen - 9 - 30 - 8;
573
-                //    //报文文件内容               
574
-                //    byte[] fileData = new byte[fileLen];
575
-                //    Array.Copy(returnData, msgTotalLen + 47, fileData, 0, fileLen);
576
-                //    //返回解包后文件数据
577
-                //    msg.FileData = PlatformSettings.Encoding.GetString(fileData);
578
-                //    //写调试日志
579
-                //    //MsgPackage.LogObj.Debug("\n文件数据:\n" + PlatformSettings.Encoding.GetString(fileData));
580
-                //    PlatformLogger.CommunicationInfo("\n文件数据:\n" + PlatformSettings.Encoding.GetString(fileData));
581
-                //}
582
-            }
583
-            catch (Exception ex)
584
-            {
585
-                //写错误信息
586
-                //MsgPackage.LogObj.Error(ex.Message);
587
-                PlatformLogger.SystemErrorInfo("报文解包出现异常!", ex);
588
-                throw;
589
-            }
590
-        }
591
-
592
-        #region 解包域数据部分将封装到Message对象中去
593
-        ///// <summary>
594
-        ///// 解析数据域详细数据
595
-        ///// </summary>
596
-        ///// <param name="bitMapValue"></param>
597
-        ///// <param name="data"></param>
598
-        ///// <returns></returns>
599
-        //private Message AnilyzeFd(string bitMapValue, byte[] data)
600
-        //{
601
-        //    Int64 curPosition = 0;
602
-        //    //临时数据存储对象
603
-        //    Message tmpMsg = new Message();
604
-        //    //MsgBitMap msgBitMap = new MsgBitMap();
605
-        //    string[,] bitMap;
606
-        //    StringBuilder logStr = new StringBuilder();
607
-        //    try
608
-        //    {
609
-        //        for (int i = 0; i < bitMapValue.Length; i++)
610
-        //        {
611
-        //            if (bitMapValue[i] == '1')
612
-        //            {
613
-        //                //第一位为标志位
614
-        //                if (i + 1 == 1)
615
-        //                {
616
-        //                    continue;
617
-        //                }
618
-
619
-        //                #region 旧的处理方案
620
-        //                ////当前域的类型
621
-        //                //string length = MsgBitMap.BitMap[i, 0];
622
-        //                ////取得当前域的数据内容
623
-        //                //string tmpStr01 = "Fd" + Convert.ToString(i + 1);
624
-        //                //string tmpStr02 = "Bit" + Convert.ToString(i + 1);
625
-        //                //switch (length)
626
-        //                //{
627
-        //                //    //停用
628
-        //                //    case "-1":
629
-        //                //        {
630
-        //                //            break;
631
-        //                //        }
632
-        //                //    //定长
633
-        //                //    case "0":
634
-        //                //        {
635
-        //                //            Int64 tmpLen = Convert.ToInt64(MsgBitMap.BitMap[i, 1]);
636
-        //                //            //初始化字节数组
637
-        //                //            byte[] tmpData = new byte[tmpLen];
638
-        //                //            //取得当前域字节数据
639
-        //                //            for (int n = 0; n < tmpLen; n++)
640
-        //                //            {
641
-        //                //                tmpData[n] = data[curPosition + n];
642
-        //                //            }
643
-        //                //            //新位置
644
-        //                //            curPosition = curPosition + tmpLen;
645
-
646
-        //                //            //无子域))
647
-        //                //            if (MsgBitMap.BitMap[i, 3] == "0")
648
-        //                //            {
649
-        //                //                tmpMsg.GetType().GetProperty(tmpStr01).SetValue(tmpMsg,
650
-        //                //                                                             Encoding.GetEncoding(
651
-        //                //                                                                 CommonParames.Coding).GetString(
652
-        //                //                                                                     tmpData), null);
653
-        //                //                //日志信息
654
-        //                //                logStr.Append(tmpStr01 + ":[" + Encoding.GetEncoding(
655
-        //                //                    CommonParames.Coding).GetString(
656
-        //                //                        tmpData) + "]\n");
657
-        //                //            }
658
-        //                //            //有子域
659
-        //                //            else if (MsgBitMap.BitMap[i, 3] == "1")
660
-        //                //            {
661
-        //                //                //取得0子域的数据
662
-        //                //                string tmpStr01Sub0 = tmpStr01 + "_" + "".PadLeft(2, '0');
663
-        //                //                tmpMsg.GetType().GetProperty(tmpStr01Sub0).SetValue(tmpMsg,
664
-        //                //                                                             Encoding.GetEncoding(
665
-        //                //                                                                 CommonParames.Coding).GetString(
666
-        //                //                                                                     tmpData), null);
667
-        //                //                //日志信息
668
-        //                //                logStr.Append(tmpStr01Sub0 + ":[" + Encoding.GetEncoding(
669
-        //                //                    CommonParames.Coding).GetString(
670
-        //                //                        tmpData) + "]\n");
671
-
672
-        //                //                Int64 tempPosition = 0;
673
-        //                //                bitMap = (string[,])msgBitMap.GetType().GetField(tmpStr02).GetValue(tmpStr02);
674
-        //                //                for (int j = 0; j < (bitMap.Length / 3); j++)
675
-        //                //                {
676
-        //                //                    //定长
677
-        //                //                    if (bitMap[j, 0] == "0")
678
-        //                //                    {
679
-        //                //                        //取得当前子域的数据
680
-        //                //                        string tmpStr01Sub = tmpStr01 + "_" + (j + 1).ToString().PadLeft(2, '0');
681
-
682
-        //                //                        byte[] tmpCurData = new byte[Convert.ToInt64(bitMap[j, 1])];
683
-        //                //                        Array.Copy(tmpData, tempPosition, tmpCurData, 0,
684
-        //                //                                   Convert.ToInt64(bitMap[j, 1]));
685
-        //                //                        //给对应子域赋值
686
-        //                //                        tmpMsg.GetType().GetProperty(tmpStr01Sub).SetValue(tmpMsg,
687
-        //                //                                                                     Encoding.GetEncoding(
688
-        //                //                                                                         CommonParames.Coding).
689
-        //                //                                                                         GetString(tmpCurData), null);
690
-        //                //                        //日志信息
691
-        //                //                        logStr.Append(tmpStr01Sub + ":[" + Encoding.GetEncoding(
692
-        //                //                                                                         CommonParames.Coding).
693
-        //                //                                                                         GetString(tmpCurData) + "]\n");
694
-
695
-        //                //                        tempPosition += Convert.ToInt64(bitMap[j, 1]);
696
-
697
-        //                //                    }
698
-        //                //                    //目前子域不允许为变长类型,程序暂不处理子域为变长情况。
699
-        //                //                    else
700
-        //                //                    {
701
-        //                //                    }
702
-        //                //                }
703
-        //                //            }
704
-        //                //            break;
705
-        //                //        }
706
-        //                //    //变长
707
-        //                //    default:
708
-        //                //        {
709
-        //                //            //获取变长长度
710
-        //                //            Int32 tmpLen = Convert.ToInt32(MsgBitMap.BitMap[i, 0]);
711
-        //                //            //初始化字节数组
712
-        //                //            byte[] tmpData = new byte[tmpLen];
713
-        //                //            //取得当前域字节数据
714
-        //                //            for (int n = 0; n < tmpLen; n++)
715
-        //                //            {
716
-        //                //                tmpData[n] = data[curPosition + n];
717
-        //                //            }
718
-        //                //            //新位置
719
-        //                //            curPosition = curPosition + tmpLen;
720
-
721
-        //                //            tmpLen = Convert.ToInt32(CommomFunctions.NVL(PlatformSettings.Encoding.GetString(tmpData), 0));
722
-        //                //            //初始化字节数组
723
-        //                //            tmpData = new byte[tmpLen];
724
-        //                //            //取得当前域字节数据
725
-        //                //            for (int m = 0; m < tmpLen; m++)
726
-        //                //            {
727
-        //                //                tmpData[m] = data[curPosition + m];
728
-        //                //            }
729
-        //                //            //新位置
730
-        //                //            curPosition = curPosition + tmpLen;
731
-
732
-        //                //            //无子域))
733
-        //                //            if (MsgBitMap.BitMap[i, 3] == "0")
734
-        //                //            {
735
-        //                //                tmpMsg.GetType().GetProperty(tmpStr01).SetValue(tmpMsg,
736
-        //                //                                                             Encoding.GetEncoding(
737
-        //                //                                                                 CommonParames.Coding).GetString(
738
-        //                //                                                                     tmpData), null);
739
-        //                //                //日志信息
740
-        //                //                logStr.Append(tmpStr01 + ":[" + Encoding.GetEncoding(
741
-        //                //                    CommonParames.Coding).GetString(
742
-        //                //                        tmpData) + "]\n");
743
-        //                //            }
744
-        //                //            //有子域
745
-        //                //            else if (MsgBitMap.BitMap[i, 3] == "1")
746
-        //                //            {
747
-        //                //                //取得0子域的数据
748
-        //                //                string tmpStr01Sub0 = tmpStr01 + "_" + "".PadLeft(2, '0');
749
-        //                //                tmpMsg.GetType().GetProperty(tmpStr01Sub0).SetValue(tmpMsg,
750
-        //                //                                                             Encoding.GetEncoding(
751
-        //                //                                                                 CommonParames.Coding).GetString(
752
-        //                //                                                                     tmpData), null);
753
-        //                //                //日志信息
754
-        //                //                logStr.Append(tmpStr01Sub0 + ":[" + Encoding.GetEncoding(
755
-        //                //                    CommonParames.Coding).GetString(
756
-        //                //                        tmpData) + "]\n");
757
-
758
-        //                //                Int64 tempPosition = 0;
759
-        //                //                bitMap = (string[,])msgBitMap.GetType().GetField(tmpStr02).GetValue(tmpStr02);
760
-        //                //                for (int j = 0; j < (bitMap.Length / 3); j++)
761
-        //                //                {
762
-        //                //                    //定长
763
-        //                //                    if (bitMap[j, 0] == "0")
764
-        //                //                    {
765
-        //                //                        //取得当前子域的数据
766
-        //                //                        string tmpStr01Sub = tmpStr01 + "_" + (j + 1).ToString().PadLeft(2, '0');
767
-
768
-        //                //                        byte[] tmpCurData = new byte[Convert.ToInt64(bitMap[j, 1])];
769
-        //                //                        //当前域数据长度不够定长子域的长度时执行
770
-        //                //                        if ((tmpData.Length - tempPosition) < tmpCurData.Length)
771
-        //                //                        {
772
-        //                //                            break;
773
-        //                //                        }
774
-        //                //                        Array.Copy(tmpData, tempPosition, tmpCurData, 0,
775
-        //                //                                   Convert.ToInt64(bitMap[j, 1]));
776
-        //                //                        //给对应子域赋值
777
-        //                //                        tmpMsg.GetType().GetProperty(tmpStr01Sub).SetValue(tmpMsg,
778
-        //                //                                                                     Encoding.GetEncoding(
779
-        //                //                                                                         CommonParames.Coding).
780
-        //                //                                                                         GetString(tmpCurData), null);
781
-        //                //                        //日志信息
782
-        //                //                        logStr.Append(tmpStr01Sub + ":[" + Encoding.GetEncoding(
783
-        //                //                                                                         CommonParames.Coding).
784
-        //                //                                                                         GetString(tmpCurData) + "]\n");
785
-
786
-        //                //                        tempPosition += Convert.ToInt64(bitMap[j, 1]);
787
-        //                //                    }
788
-        //                //                    //目前子域不允许为变长类型,程序暂不处理子域为变长情况。
789
-        //                //                    else
790
-        //                //                    {
791
-        //                //                    }
792
-        //                //                }
793
-        //                //            }
794
-        //                //            break;
795
-        //                //        }
796
-        //                //}
797
-        //                #endregion
798
-
799
-        //                #region 新的处理方案
800
-        //                var fdName = (i + 1).ToString().PadLeft(3, '0') + "0";
801
-        //                if (!MsgBitMap.Instance.FdBitMap.ContainsKey(fdName))
802
-        //                {
803
-        //                    continue;
804
-        //                }
805
-        //                var item = MsgBitMap.Instance.FdBitMap[fdName];
806
-        //                switch (item.FieldType)
807
-        //                {
808
-        //                    case "-1":
809
-        //                        {
810
-        //                            break;
811
-        //                        }
812
-        //                    case "0":
813
-        //                        {
814
-        //                            //定长域
815
-        //                            var tmp = new byte[item.Length];
816
-        //                            //截取数据区域,判定新位置
817
-        //                            Array.Copy(data, curPosition, tmp, 0, tmp.Length);
818
-        //                            curPosition = curPosition + tmp.Length;
819
-
820
-        //                            if (item.Children == null || item.Children.Count == 0)
821
-        //                            {
822
-        //                                tmpMsg.SetFdValue(item.Code, PlatformSettings.Encoding.GetString(tmp));
823
-        //                            }
824
-        //                            else
825
-        //                            {
826
-        //                                //循环给子域赋值,子域暂时只存在定长域
827
-        //                                int index = 0;
828
-        //                                foreach (var child in item.Children)
829
-        //                                {
830
-        //                                    //子域为定长
831
-        //                                    var childData = new byte[child.Length];
832
-        //                                    Array.Copy(tmp, index, childData, 0, childData.Length);
833
-        //                                    index += childData.Length;
834
-        //                                    tmpMsg.SetFdValue(child.Code, PlatformSettings.Encoding.GetString(childData));
835
-        //                                }
836
-        //                            }
837
-        //                            break;
838
-        //                        }
839
-        //                    default:
840
-        //                        {
841
-        //                            //变长域
842
-        //                            //获取数据长度
843
-        //                            var len = int.Parse(item.FieldType);
844
-        //                            var tmp = new byte[len];
845
-        //                            Array.Copy(data, curPosition, tmp, 0, tmp.Length);
846
-        //                            curPosition = curPosition + tmp.Length;
847
-        //                            //获取数据部分
848
-        //                            var length = int.Parse(PlatformSettings.Encoding.GetString(tmp));
849
-        //                            tmp = new byte[length];
850
-        //                            Array.Copy(data, curPosition, tmp, 0, tmp.Length);
851
-        //                            curPosition = curPosition + tmp.Length;
852
-
853
-        //                            if (item.Children == null || item.Children.Count == 0)
854
-        //                            {
855
-        //                                tmpMsg.SetFdValue(item.Code, PlatformSettings.Encoding.GetString(tmp));
856
-        //                            }
857
-        //                            else
858
-        //                            {
859
-        //                                //循环给子域赋值,子域暂时只存在定长域
860
-        //                                int index = 0;
861
-        //                                foreach (var child in item.Children)
862
-        //                                {
863
-        //                                    //子域为定长
864
-        //                                    var childData = new byte[child.Length];
865
-        //                                    Array.Copy(tmp, index, childData, 0, childData.Length);
866
-        //                                    index += childData.Length;
867
-        //                                    tmpMsg.SetFdValue(child.Code, PlatformSettings.Encoding.GetString(childData));
868
-        //                                }
869
-        //                            }
870
-        //                            break;
871
-        //                        }
872
-        //                }
873
-        //                #endregion
874
-        //            }
875
-        //        }
876
-        //    }
877
-        //    catch (Exception)
878
-        //    {
879
-        //        //解包出错时将已经解析的数据域写入交易日志文件
880
-        //        //MsgPackage.LogObj.Info("\n应答数据:\n" + logStr.ToString());
881
-        //        PlatformLogger.CommunicationInfo("\n应答数据:\n" + logStr.ToString());
882
-        //        throw;
883
-        //    }
884
-        //    //解包完成后将解析数据写入交易日志文件
885
-        //    //MsgPackage.LogObj.Info("\n应答数据:\n" + logStr.ToString());
886
-        //    PlatformLogger.CommunicationInfo("\n应答数据:\n" + logStr.ToString());
887
-        //    return tmpMsg;
888
-        //}
889
-        #endregion
890
-        #endregion
891
-
892
-    }
893
-
894
-}

+ 0
- 427
ant-design-pro-vue3/src/views/front/develop/Communication/Package/Msg858304.cs Datei anzeigen

@@ -1,427 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using Platform.Common;
6
-using Platform.Common.RunningParameters;
7
-using Platform.Common.LogSystem;
8
-
9
-namespace TellerSystem.Communication.Package
10
-{
11
-    /// <summary>
12
-    /// 8583 128域类型报文,Tcp通讯方式的组包,解包处理。承德Tips
13
-    /// </summary>
14
-    class Msg858304 : IPackage
15
-    {
16
-        //定义静态实例
17
-        public static Msg858304 Instance;
18
-        /// <summary>
19
-        ///静态实例初始化函数
20
-        /// </summary>
21
-        static public Msg858304 GetInstance()
22
-        {
23
-            if (Instance == null)
24
-            {
25
-                Instance = new Msg858304();
26
-            }
27
-            return Instance;
28
-        }
29
-
30
-        /// <summary>
31
-        /// 组包操作
32
-        /// </summary>
33
-        /// <returns>报文数据包</returns>
34
-        public byte[] Integrate(Message msg)
35
-        {
36
-            byte[] returnData = null;
37
-
38
-            try
39
-            {
40
-                returnData = DoIntegrate(msg);
41
-            }
42
-            catch (Exception ex)
43
-            {
44
-                //写错误信息
45
-                PlatformLogger.SystemErrorInfo("组包发生异常:", ex);
46
-                throw;
47
-            }
48
-            return returnData;
49
-        }
50
-
51
-        /// <summary>
52
-        /// 解包操作
53
-        /// </summary>
54
-        /// <param name="msg">核心返回数据包</param>
55
-        /// <param name="data">核心返回数据包</param>
56
-        /// <returns></returns>
57
-        public bool Analyze(Message msg, byte[] data)
58
-        {
59
-            try
60
-            {
61
-                //进行解包处理
62
-                DoAnalyze(msg, data);
63
-            }
64
-            catch (Exception ex)
65
-            {
66
-
67
-                return false;
68
-            }
69
-            return true;
70
-        }
71
-
72
-        #region 组包处理
73
-
74
-        /// <summary>
75
-        /// 组包处理
76
-        /// </summary>
77
-        /// <param name="msg"></param>
78
-        /// <returns></returns>
79
-        private byte[] DoIntegrate(Message msg)
80
-        {
81
-            #region new
82
-            ///*******************************************
83
-            // * 组包规则:
84
-            // * msgHeader         byte[68]   Tuxedo报文头
85
-            // * msgData           byte[]     报文数据
86
-            // * fileFlag          byte       是否发送附件 
87
-            // * *****************************************/
88
-
89
-            ////文件标志
90
-            //byte fileFlag = (byte)(msg.FileFlag ? 0x7f : 0xff);
91
-            ////报文数据
92
-            //byte[] bitMapData;
93
-            //var fdData = msg.IntegrateFd(out bitMapData);
94
-            //byte[] msgKindData = PlatformSettings.Encoding.GetBytes(MsgParames.MsgType.PadLeft(5, '0'));
95
-            //var msgData = new byte[msgKindData.Length + bitMapData.Length + fdData.Length];
96
-            //msgKindData.CopyTo(msgData, 0);
97
-            //bitMapData.CopyTo(msgData, msgKindData.Length);
98
-            //fdData.CopyTo(msgData, msgKindData.Length + bitMapData.Length);
99
-            ////加密报文数据
100
-            //MsgPackage.Encrypt(msgData, Encoding.ASCII.GetBytes(MsgParames.KeyStr), 1);
101
-            ////报文头
102
-            //var msgHeader = GetMsgT(msg, msgData.Length.ToString()).ToArray<byte>();
103
-            ////组装报文
104
-            //var totalData = new byte[msgHeader.Length + msgData.Length + 1];
105
-            //msgHeader.CopyTo(totalData, 0);
106
-            //msgData.CopyTo(totalData, msgHeader.Length);
107
-            //totalData[totalData.Length - 1] = fileFlag;
108
-
109
-            //return totalData;
110
-            #endregion
111
-
112
-
113
-            #region deleted
114
-            //报文数据区
115
-            byte[] msgData;
116
-            //报文总长度
117
-            int totalLen;
118
-            //8位长度对应字符串
119
-            string strLen;
120
-            //报文数据区的长度
121
-            int msgDataLen;
122
-            //60位报文头
123
-            string msgTitle;
124
-            //5报文类型
125
-            byte[] msgKindByte;
126
-            //位图区域
127
-            byte[] bitMapByte = new byte[16];
128
-            //有效数据内容
129
-            string bitDataStr = string.Empty;
130
-            byte[] bitDataByte;
131
-            //组包数据包
132
-            byte[] totalMsgData;
133
-
134
-            //文件标志 0xff==no file   0x7f==file
135
-            byte fileFlag;
136
-            //根据当前交易附件标志设置文件标志
137
-            if (msg.FileFlag)
138
-            {
139
-                fileFlag = 0x7f;
140
-            }
141
-            //无文件
142
-            else
143
-            {
144
-                fileFlag = 0xff;
145
-            }
146
-            try
147
-            {
148
-                //报文类型
149
-                msgKindByte = PlatformSettings.Encoding.GetBytes("00000");
150
-                //组织报文数据区域信息,位图区,数据区
151
-                //GetBitData(msg, bitMapByte, ref bitDataStr);
152
-                //bitDataByte = PlatformSettings.Encoding.GetBytes(bitDataStr);
153
-                bitDataByte = msg.IntegrateFd(out bitMapByte);
154
-
155
-                //报文数据区长度
156
-                msgDataLen = msgKindByte.Length + bitMapByte.Length + bitDataByte.Length;
157
-                //报文总长度
158
-                totalLen = msgDataLen + 60;
159
-                //8位长度对应字符串
160
-                strLen = Convert.ToString(totalLen).PadLeft(8, '0');
161
-                //60位报文头
162
-                msgTitle = msgDataLen.ToString().PadLeft(4, '0').PadLeft(60, ' ');//GetMsgT(msg, msgDataLen.ToString());
163
-
164
-                //合并5位报文类型,位图,数据区域
165
-                msgData = new byte[msgDataLen];
166
-                //合并操作
167
-                for (int i = 0; i < msgData.Length; i++)
168
-                {
169
-                    if (i < msgKindByte.Length)
170
-                    {
171
-                        msgData[i] = msgKindByte[i];
172
-                    }
173
-
174
-                    if (i > msgKindByte.Length - 1 & i < msgKindByte.Length + bitMapByte.Length)
175
-                    {
176
-                        msgData[i] = bitMapByte[i - msgKindByte.Length];
177
-                    }
178
-                    if (i > msgKindByte.Length + bitMapByte.Length - 1)
179
-                    {
180
-                        msgData[i] = bitDataByte[i - msgKindByte.Length - bitMapByte.Length];
181
-                    }
182
-                }
183
-
184
-                //MsgPackage.LogObj.Debug("加密前数据:"+PlatformSettings.Encoding.GetString(msgData));
185
-                //加密报文数据区
186
-                //MsgPackage.Encrypt(msgData, Encoding.ASCII.GetBytes(CommonSettings.KeyStr), 1);
187
-                //MsgPackage.LogObj.Debug("加密后数据:" + PlatformSettings.Encoding.GetString(msgData));
188
-
189
-                //合并组包数据
190
-                //8位的报文长度
191
-                byte[] len8 = PlatformSettings.Encoding.GetBytes(strLen);//new byte[0];
192
-                //报文头字节数组
193
-                byte[] msgTitleByte = PlatformSettings.Encoding.GetBytes(msgTitle);
194
-                totalMsgData = new byte[len8.Length + msgTitleByte.Length + msgData.Length + 1];
195
-                for (int j = 0; j < totalMsgData.Length - 1; j++)
196
-                {
197
-                    if (j < len8.Length)
198
-                    {
199
-                        totalMsgData[j] = len8[j];
200
-                    }
201
-                    if (j > len8.Length - 1 & j < len8.Length + msgTitleByte.Length)
202
-                    {
203
-                        totalMsgData[j] = msgTitleByte[j - len8.Length];
204
-                    }
205
-                    if (j > len8.Length + msgTitleByte.Length - 1)
206
-                    {
207
-                        totalMsgData[j] = msgData[j - len8.Length - msgTitleByte.Length];
208
-                    }
209
-                }
210
-                //设置文件标志位
211
-                totalMsgData[totalMsgData.Length - 1] = fileFlag;
212
-
213
-                //处理附件
214
-                if (msg.FileFlag)
215
-                {
216
-                    //文件追加到数据后
217
-                    var file = PlatformSettings.Encoding.GetBytes(msg.FileData);
218
-                    var lenData = PlatformSettings.Encoding.GetBytes(file.Length.ToString().PadLeft(8, '0'));
219
-                    var fileName = PlatformSettings.Encoding.GetBytes((LoginUserInfo.KinbrNo + LoginUserInfo.TtyName).PadRight(30));
220
-                    var ret = new byte[totalMsgData.Length + fileName.Length + lenData.Length + file.Length + 1];
221
-                    Array.Copy(totalMsgData, ret, totalMsgData.Length);
222
-                    Array.Copy(fileName, 0, ret, totalMsgData.Length, fileName.Length);
223
-                    Array.Copy(lenData, 0, ret, totalMsgData.Length + fileName.Length, lenData.Length);
224
-                    Array.Copy(file, 0, ret, totalMsgData.Length + fileName.Length + lenData.Length, file.Length);
225
-                    //补充一个结束字符
226
-                    ret[ret.Length - 1] = 0xff;
227
-                    totalMsgData = ret;
228
-                }
229
-                //MsgPackage.LogObj.Debug("报文整体数据:" + PlatformSettings.Encoding.GetString(totalMsgData));
230
-            }
231
-            catch (Exception ex)
232
-            {
233
-                //写错误信息
234
-                PlatformLogger.SystemErrorInfo("组包发生异常!", ex);
235
-                throw;
236
-            }
237
-            return totalMsgData;
238
-            #endregion
239
-        }
240
-
241
-        /// <summary>
242
-        /// 生成TUXEDO方式报文头
243
-        /// </summary>
244
-        /// <param name="msg">域信息</param>
245
-        /// <param name="msgDataLen"></param>
246
-        /// <returns></returns>
247
-        private string GetMsgT(Message msg, string msgDataLen)
248
-        {
249
-            string clnm = "";                 //5位   空串
250
-            string svcnm = "";                //15位  Tuxedo交易服务名
251
-            string reqtype = "";              //1位   "4"
252
-            string branchNo = "";             //5位   机构编号
253
-            string tty = "";                  //9位   终端号
254
-            string titaOr8583;                //1位   代码中的值 8’
255
-            string cbs = "";                  //10位  空串
256
-            string macflg = "";               //1位   空串
257
-            string mac = "";                  //8位   空串
258
-            string result = "";               //1位   '0'
259
-            string len = "";                  //4位   8583数据区长度
260
-            //TUXEDO方式报文头
261
-            StringBuilder tmpMstTile = new StringBuilder();
262
-
263
-            //设置对应变量的值
264
-            clnm = "".PadLeft(5, ' ');
265
-            tmpMstTile.Append(clnm);
266
-            svcnm = "".PadLeft(15, ' ');
267
-            tmpMstTile.Append(svcnm);
268
-            reqtype = "4";
269
-            tmpMstTile.Append(reqtype);
270
-            //TODO:机构号扩展为10位,故报文大小变成68
271
-            branchNo = msg.Fd3.PadLeft(10, ' ');
272
-            tmpMstTile.Append(branchNo);
273
-            //TODO:由于tty采用12位,故修改为12位(保证核心已经修改)
274
-            //tty = msg.Fd10.PadLeft(9, ' ');
275
-            tty = msg.Fd10.PadLeft(12, ' ');
276
-            tmpMstTile.Append(tty);
277
-            titaOr8583 = "8";
278
-            tmpMstTile.Append(titaOr8583);
279
-            cbs = "".PadLeft(10, ' ');
280
-            tmpMstTile.Append(cbs);
281
-            macflg = "".PadLeft(1, ' ');
282
-            tmpMstTile.Append(macflg);
283
-            mac = "".PadLeft(8, ' ');
284
-            tmpMstTile.Append(mac);
285
-            result = "0";
286
-            tmpMstTile.Append(result);
287
-            len = msgDataLen.PadLeft(4, '0');
288
-            tmpMstTile.Append(len);
289
-
290
-            return tmpMstTile.ToString();
291
-        }
292
-        #endregion
293
-
294
-        #region 解包处理
295
-
296
-        /// <summary>
297
-        /// 解包操作
298
-        /// </summary>
299
-        /// <param name="msg"></param>
300
-        /// <param name="returnData"></param>
301
-        /// <returns></returns>
302
-        public void DoAnalyze(Message msg, byte[] returnData)
303
-        {
304
-            try
305
-            {
306
-                //丢弃前8位
307
-                var ret = new byte[returnData.Length - 8];
308
-                Array.Copy(returnData, 8, ret, 0, ret.Length);
309
-                returnData = ret;
310
-
311
-                //报文前68位内容       
312
-                byte[] msg60 = new byte[60];
313
-                //报文数据区长度        
314
-                int msgDataLen = 0;
315
-                //报文数据区内容
316
-                byte[] msgData;
317
-                //报文有效数据内容
318
-                byte[] msgDataReal;
319
-                //报文位图区
320
-                byte[] msgBit;
321
-                string msgBitStr = "";
322
-
323
-                //报文前60位(60位报文头)
324
-                for (int i = 0; i < 60; i++)
325
-                {
326
-                    msg60[i] = returnData[i];
327
-                }
328
-
329
-                //报文数据区长度 
330
-                byte[] tmpLen = new byte[4];
331
-                Array.Copy(msg60, 56, tmpLen, 0, 4);
332
-                msgDataLen = Convert.ToInt32(PlatformSettings.Encoding.GetString(tmpLen));
333
-
334
-                //报文前60位字符串内容
335
-                //MsgStr60 = Encoding.GetEncoding(CAppInfo.CodingStr).GetString(Msg60);
336
-
337
-                //返回数据中的长度没有去掉报文头的长度,在此去掉--huanghuaxun
338
-                if (msgDataLen > 68)
339
-                    msgDataLen -= 68;
340
-                #region 20140423 王全
341
-                //承德平台无此返回报文场景
342
-                ////如果报文数据区第五位为0xff
343
-                ////总共报文数据区为4位应答码.
344
-                //if (returnData[72] == (byte)'\0')
345
-                //{
346
-                //    //应答码错误信息
347
-                //    byte[] tmpData = new byte[4];
348
-                //    //取得应答码错误信息内容
349
-                //    Array.Copy(returnData, 68, tmpData, 0, 4);
350
-                //    //返回应答码
351
-                //    msg.Fd12 = PlatformSettings.Encoding.GetString(tmpData);
352
-                //    return;
353
-                //}
354
-                #endregion
355
-
356
-                //取得报文数据区内容
357
-                msgData = new byte[msgDataLen];
358
-                Array.Copy(returnData, 60, msgData, 0, msgDataLen);
359
-                //文件标志
360
-                byte fileDataFlag = returnData[20];
361
-                //解密数据区内容
362
-                //MsgPackage.Encrypt(msgData, Encoding.ASCII.GetBytes(CommonSettings.KeyStr),
363
-                //                   0);
364
-                #region delete 解包封装
365
-                ////报文数据区格式为 5位报文类型+16位位图区域+有效数据区
366
-                ////报文位图区
367
-                ////报文位图区存在2种情况,当位图区第1域为0时,位图长度为64(压缩为8位数据),否则为128(压缩为16位数据)
368
-                ////标志位,是否采用128位位图
369
-                //bool IsBitmap128 = Convert.ToString(msgData[5], 2).PadLeft(8, '0').StartsWith("1");
370
-
371
-                //msgBit = new byte[IsBitmap128 ? 16 : 8];
372
-                //Array.Copy(msgData, 5, msgBit, 0, msgBit.Length);
373
-                ////扩展16位字符串转换为128位01格式的位图字符串
374
-                //foreach (byte bytes in msgBit)
375
-                //{
376
-                //    msgBitStr += Convert.ToString(bytes, 2).PadLeft(8, '0');
377
-                //}
378
-                ////写调试日志
379
-                ////MsgPackage.LogObj.Debug("\n返回位图:\n" + msgBitStr.Replace('\0', '\n'));
380
-                ////报文数据内容
381
-                //int startIndex = 5 + (IsBitmap128 ? 16 : 8);
382
-                //msgDataReal = new byte[msgDataLen - startIndex];
383
-                //Array.Copy(msgData, startIndex, msgDataReal, 0, msgDataReal.Length);
384
-                ////写调试日志
385
-                ////MsgPackage.LogObj.Debug("\n解包前应答数据:\n" + PlatformSettings.Encoding.GetString(msgDataReal).Replace('\0', '\n'));
386
-
387
-                ////详细解析每个域的信息
388
-                ////Message tmpMsg = AnilyzeFd(msgBitStr, msgDataReal, msg);
389
-                //if (!msg.AnilyzeFd(msgBitStr, msgDataReal))
390
-                //{
391
-                //    //解包失败
392
-                //    throw new FormatException("8583通讯解包操作失败!具体情况请查看日志!");
393
-                //}
394
-                if (!msg.AnilyzeFd(msgData))
395
-                {
396
-                    //解包失败
397
-                    throw new FormatException("8583通讯解包操作失败!具体情况请查看日志!");
398
-                }
399
-                #endregion
400
-                //将解析后结果复制到当前交易对象中
401
-                //MsgPackage.Clone(msg, tmpMsg);
402
-                //有文件附件的处理
403
-                //存在附件,规则[文件名称:30][数据长度:8][数据:n]
404
-                var fileLen = returnData.Length - 68 - msgDataLen - 38 - 1;
405
-                if (fileLen > 0)
406
-                {
407
-                    //报文文件内容               
408
-                    byte[] fileData = new byte[fileLen];
409
-                    //加8位数据长度
410
-                    Array.Copy(returnData, 68 + msgDataLen + 38 + 1, fileData, 0, fileLen);
411
-                    //返回解包后文件数据
412
-                    msg.FileData = PlatformSettings.Encoding.GetString(fileData);
413
-                    //写调试日志
414
-                    PlatformLogger.CommunicationInfo("\n文件数据:\n" + PlatformSettings.Encoding.GetString(fileData));
415
-                }
416
-            }
417
-            catch (Exception ex)
418
-            {
419
-                //写错误信息
420
-                PlatformLogger.SystemErrorInfo("解析报文失败!", ex);
421
-                throw;
422
-            }
423
-        }
424
-        #endregion
425
-
426
-    }
427
-}

+ 0
- 355
ant-design-pro-vue3/src/views/front/develop/Communication/Package/MsgPackage.cs Datei anzeigen

@@ -1,355 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using System.Text.RegularExpressions;
6
-using Platform.Common;
7
-using Platform.ServiceProxy.ServiceHelper;
8
-using Platform.Common.RunningParameters;
9
-using Platform.Common.LogSystem;
10
-using TellerSystem.ServiceProxy.Ext;
11
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
12
-using System.Diagnostics;
13
-using TellerSystem.Communication.SocketListener;
14
-using System.IO;
15
-
16
-namespace TellerSystem.Communication.Package
17
-{
18
-    /// <summary>
19
-    /// 交易处理相关操作
20
-    /// </summary>
21
-    class MsgPackage
22
-    {
23
-        //报文处理接口对象
24
-        public static Dictionary<PackageType, IPackage> PackageList = new Dictionary<PackageType, IPackage>
25
-        {
26
-            {PackageType.Msg858301,Msg858301.GetInstance()},
27
-            {PackageType.Msg858302,Msg858302.GetInstance()},
28
-             {PackageType.Msg858304,Msg858304.GetInstance()},
29
-             {PackageType.MsgXml01,MsgXml01.GetInstance()}
30
-        };
31
-
32
-        /// <summary>
33
-        /// 交易处理
34
-        /// </summary>
35
-        /// <param name="msg">报文对象</param>
36
-        /// <param name="transit">callserver,callagn,calltips</param>
37
-        /// <returns></returns>
38
-        public static bool Trade(Message msg, PackageType packageType, string transit)
39
-        {
40
-            //组包后数据
41
-            byte[] integrateData;
42
-            //交易整体数据
43
-            byte[] totalData;
44
-            //通讯返回数据
45
-            byte[] returnData;
46
-            byte[] fileData = new byte[0];
47
-            bool retunValue = false;
48
-
49
-            //根据当前报文类型实例化报文处理对象
50
-            if (!PackageList.ContainsKey(packageType))
51
-            {
52
-                PlatformLogger.TradeErrorInfo("MsgPackage.Trade:不支持的报文类型!-->" + packageType.ToString(), null);
53
-                return false;
54
-            }
55
-            try
56
-            {
57
-                //根据当前报文类型实例化报文处理对象,
58
-                var package = PackageList[packageType];
59
-                //GetPackageInstance(transit);
60
-                //组包
61
-                integrateData = package.Integrate(msg);
62
-                //通讯
63
-                var fileName = msg.Fd3.Replace(" ", "") + msg.Fd10.Replace(" ", "");
64
-                Stopwatch watch = new Stopwatch();
65
-                watch.Start();
66
-                List<byte[]> list;
67
-                if (ServiceSettings.IsRecordPrintData)
68
-                {
69
-                    //登记通讯报文类型
70
-                    string msgType = msg.IsMainTrade ? packageType.ToString() : string.Empty;
71
-                    try
72
-                    {
73
-                        list = TradeHandle.DoTrade(transit, integrateData, msg.Fd3, fileName, PlatformSettings.Encoding.GetBytes(Message.Cconv(msg.FileData)), null, msg.SerialNumber, msgType);//生僻字转义:文件组包处理
74
-                    }
75
-                    catch { list = null; }
76
-                    //当主交易通讯情况,未返回数据,需要查询记录,尝试进行补偿
77
-                    if (msg.IsMainTrade && (list == null || list.Count == 0))
78
-                    {
79
-                        //考虑到网络波动,需尝试3次
80
-                        for (int i = 0; i < 3; i++)
81
-                        {
82
-                            try
83
-                            {
84
-                                var data = PrintManagerHandle.GetPrintExtDataById(msg.SerialNumber);
85
-                                if (data != null)
86
-                                {
87
-                                    PlatformLogger.SystemInfo("MsgPackage:主通讯补偿成功!" + msg.SerialNumber);
88
-                                    list = new List<byte[]> { data.Message };
89
-                                    if (data.MsgFile != null && data.MsgFile.Length > 0) list.Add(data.MsgFile);
90
-                                    break;
91
-                                }
92
-                            }
93
-                            catch (Exception ex) { PlatformLogger.SystemErrorInfo("MsgPackage:主通讯补偿失败!" + msg.SerialNumber, ex); }
94
-                            System.Threading.Thread.Sleep(200);
95
-                        }
96
-                        //登记入库
97
-                        TradeHandle.WriteImportantLog("主通讯触发补偿", msg.SerialNumber, ((list != null && list.Count > 0) ? "成功" : "失败"), "DoTrade", "2", string.Join(",", SocketManager.GetLocalIpAddressList()));
98
-                    }
99
-                }
100
-                else
101
-                {
102
-                    list = TradeHandle.DoTrade(transit, integrateData, msg.Fd3, fileName, PlatformSettings.Encoding.GetBytes(Message.Cconv(msg.FileData)), null, msg.SerialNumber);
103
-                }
104
-                watch.Stop();
105
-                if (watch.ElapsedMilliseconds > 2000)
106
-                    TradeHandle.WriteImportantLog("通讯时间统计", watch.ElapsedMilliseconds.ToString(), msg.Fd16, "DoTrade", "2", string.Join(",", SocketManager.GetLocalIpAddressList()));
107
-                //重置主交易标识
108
-                msg.IsMainTrade = false;
109
-                returnData = list[0];
110
-                //处理文件附件
111
-                if (list.Count > 1)
112
-                {
113
-                    fileData = list[1];
114
-                }
115
-                byte fileDataFlag = 0;
116
-                if (returnData != null && returnData.Length > 0)
117
-                {
118
-                    if (returnData.Length < 20)
119
-                        PlatformLogger.SystemErrorInfo(string.Format("MsgPackage:返回报文长度太短,无法获取附件标志!", returnData.Length), new Exception());
120
-                    fileDataFlag = returnData[20];
121
-                }
122
-                else
123
-                {
124
-                    //通讯出现异常,需要添加错误码
125
-                    msg.Fd12 = "COMM";
126
-                    return false;
127
-                }
128
-                //重置附件发送标志
129
-                msg.FileFlag = false;
130
-                totalData = new byte[returnData.Length + fileData.Length];
131
-                Array.Copy(returnData, 0, totalData, 0, returnData.Length);
132
-                Array.Copy(fileData, 0, totalData, returnData.Length, fileData.Length);
133
-                //解包
134
-                retunValue = package.Analyze(msg, totalData);
135
-
136
-
137
-            }
138
-            catch (Exception ex)
139
-            {
140
-                //写错误信息
141
-                PlatformLogger.SystemErrorInfo("Trade: 函数出错. ", ex);
142
-                return false;
143
-            }
144
-            return retunValue;
145
-        }
146
-
147
-        #region 报文处理相关功能函数
148
-
149
-        /// <summary>
150
-        /// 加密,解密函数
151
-        /// 加密:flg=1    解密:flg=0
152
-        /// </summary>
153
-        /// <param name="myData"></param>
154
-        /// <param name="key"></param>
155
-        /// <param name="flg"></param>
156
-        /// <returns></returns>
157
-        public static bool Encrypt(byte[] myData, byte[] key, int flg)
158
-        {
159
-            //TODO:焦作项目不用做数据加密,暂时写死
160
-            if (true) return true;
161
-
162
-            int klen;
163
-            klen = key.Length;
164
-            string value;
165
-            try
166
-            {
167
-                for (int i = 0; i < myData.Length; i++)
168
-                {
169
-                    //加密
170
-                    if (flg == 1)
171
-                    {   //溢出情况           
172
-                        if ((myData[i] + key[i % klen]) > 255)
173
-                        {
174
-                            value = Convert.ToString((myData[i]) + key[i % klen], 2);
175
-                            myData[i] = Convert.ToByte(Convert.ToInt32(value.Substring(value.Length - 8, 8), 2));
176
-                        }
177
-                        //正常情况
178
-                        else
179
-                        {
180
-                            myData[i] = Convert.ToByte(myData[i] + key[i % klen]);
181
-                        }
182
-                    }
183
-                    //解密
184
-                    else
185
-                    {
186
-                        //溢出情况
187
-                        if (myData[i] < key[i % klen])
188
-                        {
189
-                            value = Convert.ToString((myData[i]), 2).PadLeft(8, '0');
190
-                            value = "1" + value;
191
-                            myData[i] = Convert.ToByte(Convert.ToInt32(value, 2) - key[i % klen]);
192
-                        }
193
-                        //正常情况
194
-                        else
195
-                        {
196
-                            myData[i] = Convert.ToByte(myData[i] - key[i % klen]);
197
-                        }
198
-                    }
199
-                }
200
-            }
201
-            catch (Exception ex)
202
-            {
203
-                //写错误信息
204
-                PlatformLogger.SystemErrorInfo("加密解密出错!", ex);
205
-                throw;
206
-            }
207
-            return true;
208
-        }
209
-
210
-        /// <summary>
211
-        /// 复制对象的属性值
212
-        /// </summary>
213
-        /// <param name="obj">复制目标对象</param>
214
-        /// <param name="source">复制源对象</param>
215
-        public static void Clone(Message obj, Message source)
216
-        {
217
-            System.Reflection.PropertyInfo[] tmp = obj.GetType().GetProperties();
218
-
219
-            //复制所有的属性
220
-            for (int i = 0; i < tmp.Length; i++)
221
-            {
222
-                tmp[i].SetValue(obj, tmp[i].GetValue(source, null), null);
223
-            }
224
-            //复制所有的filed
225
-        }
226
-
227
-
228
-        /// <summary>
229
-        /// 字节数组修复为GDK编码规则
230
-        /// </summary>
231
-        /// <param name="data"></param>
232
-        public static void CheckByte(byte[] data)
233
-        {
234
-            byte[] tmpData = null;
235
-            string tmpStr = string.Empty;
236
-            if (data == null || data.Length == 0)
237
-                return;
238
-            for (int i = 0; i < data.Length; i++)
239
-            {
240
-                //如果是ascii码字符,直接跳过 
241
-                if (data[i] < 128)
242
-                    continue;
243
-                //added by liuyong 2010-4-16 start
244
-                else
245
-                {
246
-                    if ((i + 1) >= data.Length)
247
-                        continue;
248
-                    tmpData = new byte[2];
249
-                    tmpData[0] = data[i];
250
-                    tmpData[1] = data[i + 1];
251
-
252
-                    tmpStr = PlatformSettings.Encoding.GetString(tmpData);
253
-                    //全角字符且不是汉字则不进行转换
254
-                    if (IsSbc(tmpStr) && !IsChinese(tmpStr))
255
-                    {
256
-                        i++;
257
-                        continue;
258
-                    }
259
-                }
260
-                //added by liuyong 2010-4-16 end
261
-                if (data[i] >= 0x81 && data[i] <= 0xa0)//GBK/3高位区间 129-160
262
-                {
263
-                    if ((i + 1) >= data.Length)
264
-                        continue;
265
-                    if (data[i + 1] < 0x40 || data[i + 1] > 0xfe)  //64 254
266
-                    {
267
-                        data[i] = 61;
268
-                        continue;
269
-                    }
270
-                    i++;
271
-                }
272
-                else if (data[i] >= 0xa1 && data[i] <= 0xa9)//GBK/1 高位区间 161-169
273
-                {
274
-                    if ((i + 1) >= data.Length)
275
-                        continue;
276
-                    if (data[i + 1] < 0xa1 || data[i + 1] > 0xef)  //161 239
277
-                    {
278
-                        data[i] = 61;
279
-                        continue;
280
-                    }
281
-                    i++;
282
-                }
283
-                else if (data[i] >= 0xaa && data[i] <= 0xfe)//GBK/4高位区间  170-254
284
-                {
285
-                    if ((i + 1) >= data.Length)
286
-                        continue;
287
-                    if (data[i + 1] < 0x40) //64
288
-                    {
289
-                        data[i] = 61;
290
-                        continue;
291
-                    }
292
-                    else if (data[i + 1] > 0xa0) //160
293
-                    {
294
-                        //GBK/2高位区间
295
-                        if ((data[i] >= 0xb0 && data[i] <= 0xf7)) //176-247
296
-                        {
297
-                            //低位错误,证明是随机字符,高低位同时修复161 254
298
-                            if (data[i + 1] < 0xa1 || data[i + 1] > 0xfe)
299
-                            {
300
-                                data[i] = 61;
301
-                                continue;
302
-                            }
303
-                        }
304
-                    }
305
-                    i++;
306
-                }
307
-                else //错误乱码直接修复
308
-                {
309
-                    data[i] = 61;
310
-                }
311
-            }
312
-        }
313
-
314
-        /// <summary>
315
-        /// 判断字符串是否是全角字符
316
-        /// </summary>
317
-        /// <param name="str"></param>
318
-        /// <returns></returns>
319
-        private static bool IsSbc(string str)
320
-        {
321
-            bool blRet = false;
322
-            if (2 * str.Length == Encoding.Default.GetByteCount(str))
323
-            {
324
-                blRet = true;
325
-            }
326
-            else
327
-            {
328
-                blRet = false;
329
-            }
330
-            return blRet;
331
-        }
332
-
333
-        /// <summary>
334
-        /// 判断是否为中文
335
-        /// </summary>
336
-        /// <param name="word"></param>
337
-        /// <returns></returns>
338
-        private static bool IsChinese(string word)
339
-        {
340
-            Regex rx = null;
341
-            if (string.IsNullOrEmpty(word))
342
-                return false;
343
-
344
-            rx = new Regex("^[\u4e00-\u9fa5]$");
345
-
346
-            if (rx.IsMatch(word))
347
-                return true;
348
-            else
349
-                return false;
350
-        }
351
-
352
-        #endregion
353
-
354
-    }
355
-}

+ 0
- 165
ant-design-pro-vue3/src/views/front/develop/Communication/Package/MsgXml01.cs Datei anzeigen

@@ -1,165 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using Platform.Common.RunningParameters;
6
-using Platform.Common.LogSystem;
7
-using System.Xml;
8
-using System.IO;
9
-
10
-namespace TellerSystem.Communication.Package
11
-{
12
-    class MsgXml01 : IPackage
13
-    {
14
-        //定义静态实例
15
-        public static MsgXml01 Instance;
16
-        /// <summary>
17
-        ///静态实例初始化函数
18
-        /// </summary>
19
-        static public MsgXml01 GetInstance()
20
-        {
21
-            if (Instance == null)
22
-            {
23
-                Instance = new MsgXml01();
24
-            }
25
-            return Instance;
26
-        }
27
-
28
-        public byte[] Integrate(Message msg)
29
-        {
30
-            //整个发送包的byte数组,是下面两个的总和,= 8位 + 报文体
31
-            byte[] totalMsgData;
32
-            //8位报文体长度的byte数组
33
-            byte[] dataPartLength;
34
-            //报文体的byte数组
35
-            byte[] dataPart;
36
-            try
37
-            {
38
-                string xmlFirstLine = "<?xml version=\"1.0\" encoding=\"GBK\"?>";
39
-                string upTagBegin = "<service>";
40
-                string xmlHeader = Msg8583ToHeader(msg);
41
-                string xmlData = msg.FileData;
42
-                string upTagEnd = "</service>";
43
-                //报文体(string类型)
44
-                string dataPartStr = xmlFirstLine + upTagBegin + xmlHeader + xmlData + upTagEnd;
45
-                dataPart = PlatformSettings.Encoding.GetBytes(dataPartStr);
46
-                //报文体长度(Int类型)
47
-                int dataPartLengthInt = dataPart.Length;
48
-                //报文体长度(string类型,且左边用0补齐8位)
49
-                string dataPartLengthStr = dataPartLengthInt.ToString().PadLeft(8, '0');
50
-                dataPartLength = PlatformSettings.Encoding.GetBytes(dataPartLengthStr);
51
-                totalMsgData = new byte[8 + dataPartLengthInt];
52
-                for (int j = 0; j < totalMsgData.Length; j++)
53
-                {
54
-                    if (j < 8)
55
-                    {
56
-                        totalMsgData[j] = dataPartLength[j];
57
-                    }
58
-                    else
59
-                    {
60
-                        totalMsgData[j] = dataPart[j - 8];
61
-                    }
62
-                }
63
-            }
64
-            catch (Exception ex)
65
-            {
66
-                PlatformLogger.SystemErrorInfo("组包发生异常!", ex);
67
-                throw;
68
-            }
69
-
70
-            return totalMsgData;
71
-        }
72
-
73
-        private string Msg8583ToHeader(Message msg)
74
-        {
75
-            var result = new StringBuilder();
76
-            result.Append("<SysHead>");
77
-            //交易码
78
-            result.Append(string.Format("<Txcode>{0}</Txcode>", msg.Fd16.Trim()));
79
-            //前台流水
80
-            result.Append(string.Format("<FrontTrace>{0}</FrontTrace>", msg.Fd96_Q.Trim()));
81
-            //交易日期
82
-            result.Append(string.Format("<Txdate>{0}</Txdate>", msg.Fd5.Trim()));
83
-            //交易时间
84
-            result.Append(string.Format("<Txtime>{0}</Txtime>", msg.Fd6.Trim()));
85
-            //机构编号
86
-            result.Append(string.Format("<InstNo>{0}</InstNo>", msg.Fd2.Trim()));
87
-            //柜员号
88
-            result.Append(string.Format("<UserNo>{0}</UserNo>", msg.Fd7.Trim()));
89
-            
90
-            result.Append("</SysHead>");
91
-            return result.ToString();
92
-        }
93
-
94
-        public bool Analyze(Message msg, byte[] data)
95
-        {
96
-            try
97
-            {
98
-                //进行解包处理
99
-                DoAnalyze(msg, data);
100
-            }
101
-            catch (Exception ex)
102
-            {
103
-                return false;
104
-            }
105
-            return true;
106
-        }
107
-        /// <summary>
108
-        /// 解包操作
109
-        /// </summary>
110
-        /// <param name="msg"></param>
111
-        /// <param name="returnData"></param>
112
-        /// <returns></returns>
113
-        public void DoAnalyze(Message msg, byte[] returnData)
114
-        {
115
-            try
116
-            {
117
-                //报文XML区长度        
118
-                int xmlDataLen = 0;
119
-                //报文数据区长度 
120
-                byte[] tmpLen = new byte[8];
121
-                Array.Copy(returnData, 0, tmpLen, 0, 8);
122
-                xmlDataLen = Convert.ToInt32(PlatformSettings.Encoding.GetString(tmpLen));
123
-
124
-                //丢弃前8位
125
-                var ret = new byte[xmlDataLen];
126
-                Array.Copy(returnData, 8, ret, 0, xmlDataLen);
127
-                returnData = ret;
128
-                XmlDocument doc = new XmlDocument();
129
-                string xmlStr=PlatformSettings.Encoding.GetString(returnData);
130
-                //日志
131
-                PlatformLogger.CommunicationInfo("\n返回报文数据:\n" + xmlStr);
132
-
133
-                doc.LoadXml(xmlStr);
134
-                var node = doc.SelectSingleNode("/service/SysHead");
135
-                msg.Fd16 = node.ChildNodes[0].InnerText;
136
-                msg.Fd5 = node.ChildNodes[1].InnerText;
137
-                msg.Fd6 = node.ChildNodes[2].InnerText;
138
-                msg.Fd2 = node.ChildNodes[3].InnerText;
139
-                msg.Fd7 = node.ChildNodes[4].InnerText;
140
-
141
-                msg.Fd12 = node.ChildNodes[5].InnerText;
142
-                //msg.Fd13 = node.ChildNodes[6].InnerText;
143
-                var nodeOfBody=doc.SelectSingleNode("/service/Body");
144
-                if(nodeOfBody != null)
145
-                msg.FileData = doc.SelectSingleNode("/service/Body").OuterXml;
146
-                //var fileLen = returnData.Length - 8 - xmlDataLen ;
147
-                //if (fileLen > 0)
148
-                //{
149
-                //    byte[] fileData = new byte[fileLen];
150
-                //    Array.Copy(returnData, 8 + xmlDataLen, fileData, 0, fileLen);
151
-                //    //返回解包后文件数据
152
-                //    msg.FileData = PlatformSettings.Encoding.GetString(fileData);
153
-                //    //写调试日志
154
-                //    PlatformLogger.CommunicationInfo("\n文件数据:\n" + PlatformSettings.Encoding.GetString(fileData));
155
-                //}
156
-            }
157
-            catch (Exception ex)
158
-            {
159
-                //写错误信息
160
-                PlatformLogger.SystemErrorInfo("解析报文失败!", ex);
161
-                throw;
162
-            }
163
-        }
164
-    }
165
-}

+ 0
- 22
ant-design-pro-vue3/src/views/front/develop/Communication/Package/PackageOptions.cs Datei anzeigen

@@ -1,22 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-
6
-namespace TellerSystem.Communication.Package
7
-{
8
-    /// <summary>
9
-    /// 支持的报文组装方式
10
-    /// </summary>
11
-    public enum PackageOptions
12
-    {
13
-        /// <summary>
14
-        /// 客户端组组解包 
15
-        /// </summary>
16
-        PackageOnClient,
17
-        /// <summary>
18
-        /// 服务端组组解包 
19
-        /// </summary>
20
-        PackageOnServer
21
-    }
22
-}

+ 0
- 30
ant-design-pro-vue3/src/views/front/develop/Communication/Package/PackageType.cs Datei anzeigen

@@ -1,30 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-
6
-namespace TellerSystem.Communication.Package
7
-{
8
-    /// <summary>
9
-    /// 支持的报文组装类型
10
-    /// </summary>
11
-    public enum PackageType
12
-    {
13
-        /// <summary>
14
-        ///  使用858301报文
15
-        /// </summary>
16
-        Msg858301,
17
-        /// <summary>
18
-        ///  使用858302报文
19
-        /// </summary>
20
-        Msg858302,
21
-        /// <summary>
22
-        /// 使用858304报文
23
-        /// </summary>
24
-        Msg858304,
25
-        /// <summary>
26
-        /// 反假币xml报文
27
-        /// </summary>
28
-        MsgXml01,
29
-    }
30
-}

+ 0
- 186
ant-design-pro-vue3/src/views/front/develop/Communication/SocketListener/BufferManager.cs Datei anzeigen

@@ -1,186 +0,0 @@
1
-/*----------------------------------------------------------------------------------------------
2
- 
3
-       Copyright (C) DHCC 版权所有
4
-
5
-       系统名:
6
-       类  名:  BufferManager
7
-       概  要: 
8
-       创建者:  Hu Ha
9
-       创建日:  01/18/2010 17:13:01
10
-       履  历:    No.        日期           Ver.No        修改人             描述																																																																										
11
-
12
-------------------------------------------------------------------------------------------------*/
13
-
14
-using System;
15
-using System.Collections.Generic;
16
-using System.Text;
17
-
18
-namespace TellerSystem.Communication.SocketListener
19
-{
20
-    /// <summary>
21
-    /// 提供接收和发送缓冲区的管理
22
-    /// </summary>
23
-    public sealed class BufferManager
24
-    {
25
-        private byte[] m_receiveBuffer;
26
-        private byte[] m_sendBuffer;
27
-
28
-        private int m_maxRequest;
29
-        private int m_receiveBufferSize;
30
-        private int m_sendBufferSize;
31
-
32
-        private int m_bufferBlockIndex;
33
-        private Stack<int> m_bufferBlockIndexStack;
34
-
35
-        private static object Locker = new object();
36
-
37
-        /// <summary>
38
-        /// Initializes a new instance of the <see cref="BufferManager"/> class.
39
-        /// </summary>
40
-        /// <param name="maxRequest">The max request.</param>
41
-        /// <param name="receivevBufferSize">Size of the receivev buffer.</param>
42
-        /// <param name="sendBufferSize">Size of the send buffer.</param>
43
-        public BufferManager(int maxRequest, int receivevBufferSize, int sendBufferSize)
44
-        {
45
-            m_maxRequest = maxRequest;
46
-            m_receiveBufferSize = receivevBufferSize;
47
-            m_sendBufferSize = sendBufferSize;
48
-
49
-            m_bufferBlockIndex = 0;
50
-            m_bufferBlockIndexStack = new Stack<int>(maxRequest);
51
-
52
-            m_receiveBuffer = new byte[m_receiveBufferSize * m_maxRequest];
53
-            m_sendBuffer = new byte[m_sendBufferSize * m_maxRequest];
54
-        }
55
-
56
-        /// <summary>
57
-        /// 接收缓冲区总长度
58
-        /// </summary>
59
-        public int ReceiveBufferSize
60
-        {
61
-            get { return m_receiveBufferSize; }
62
-        }
63
-
64
-        /// <summary>
65
-        /// 发送缓冲区总长度
66
-        /// </summary>
67
-        public int SendBufferSize
68
-        {
69
-            get { return m_sendBufferSize; }
70
-        }
71
-
72
-        /// <summary>
73
-        /// 接收缓冲区
74
-        /// </summary>
75
-        public byte[] ReceiveBuffer
76
-        {
77
-            get { return m_receiveBuffer; }
78
-        }
79
-
80
-        /// <summary>
81
-        /// 发送缓冲区
82
-        /// </summary>
83
-        public byte[] SendBuffer
84
-        {
85
-            get { return m_sendBuffer; }
86
-        }
87
-
88
-        /// <summary>
89
-        /// 释放缓冲区索引
90
-        /// </summary>
91
-        /// <param name="bufferBlockIndex"></param>
92
-        public void FreeBufferBlockIndex(int bufferBlockIndex)
93
-        {
94
-            if (bufferBlockIndex >= this.m_maxRequest || bufferBlockIndex < 0)
95
-            {
96
-                return;
97
-            }
98
-
99
-            lock (Locker)
100
-            {
101
-                if (this.m_bufferBlockIndexStack.Contains(bufferBlockIndex))
102
-                    return;
103
-
104
-                m_bufferBlockIndexStack.Push(bufferBlockIndex);
105
-            }
106
-        }
107
-
108
-        /// <summary>
109
-        /// 获取缓冲区空闲的索引
110
-        /// </summary>
111
-        /// <returns></returns>
112
-        public int GetBufferBlockIndex()
113
-        {
114
-            lock (Locker)
115
-            {
116
-                int blockIndex = -1;
117
-
118
-                // 有用过释放的缓冲块
119
-                if (m_bufferBlockIndexStack.Count > 0)
120
-                {
121
-                    blockIndex = m_bufferBlockIndexStack.Pop();
122
-                }
123
-                else
124
-                {
125
-                    // 有未用缓冲区块
126
-                    if (m_bufferBlockIndex < m_maxRequest)
127
-                    {
128
-                        blockIndex = m_bufferBlockIndex++;
129
-                    }
130
-                }
131
-
132
-                return blockIndex;
133
-            }
134
-        }
135
-
136
-        /// <summary>
137
-        /// 获取接收缓冲区偏移量
138
-        /// </summary>
139
-        /// <param name="bufferBlockIndex">此接收缓冲区在整个缓冲区的索引</param>
140
-        /// <returns>接收缓冲区偏移量</returns>
141
-        public int GetReceiveBufferOffset(int bufferBlockIndex)
142
-        {
143
-            if (bufferBlockIndex >= this.m_maxRequest)
144
-            {
145
-                throw new ArgumentException(string.Format("索引超出最大请求数:{0}", this.m_maxRequest.ToString()));
146
-            }
147
-
148
-            if (bufferBlockIndex < 0)
149
-            {
150
-                return 0;
151
-            }
152
-
153
-            return bufferBlockIndex * m_receiveBufferSize;
154
-        }
155
-
156
-        /// <summary>
157
-        /// 获取发送缓冲区偏移量
158
-        /// </summary>
159
-        /// <param name="bufferBlockIndex">此发送缓冲区在整个缓冲区的索引</param>
160
-        /// <returns>发送缓冲区偏移量</returns>
161
-        public int GetSendBufferOffset(int bufferBlockIndex)
162
-        {
163
-            if (bufferBlockIndex >= this.m_maxRequest)
164
-            {
165
-                throw new ArgumentException(string.Format("索引超出最大请求数:{0}", this.m_maxRequest.ToString()));
166
-            }
167
-
168
-            if (bufferBlockIndex < 0)
169
-            {
170
-                return 0;
171
-            }
172
-
173
-            return bufferBlockIndex * m_sendBufferSize;
174
-        }
175
-
176
-        /// <summary>
177
-        /// 清理缓冲区
178
-        /// </summary>
179
-        public void Clear()
180
-        {
181
-            m_bufferBlockIndexStack.Clear();
182
-            m_receiveBuffer = null;
183
-            m_sendBuffer = null;
184
-        }
185
-    }
186
-}

+ 0
- 1294
ant-design-pro-vue3/src/views/front/develop/Communication/SocketListener/SocketManager.cs
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


+ 0
- 2933
ant-design-pro-vue3/src/views/front/develop/Constract/ContractBase/TradeAPIsHelper.cs
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


+ 8
- 8
ant-design-pro-vue3/src/views/front/develop/Constract/ContractBase/TradeAPIsHelper.ts Datei anzeigen

@@ -1079,18 +1079,18 @@ class TradeAPIsHelper {
1079 1079
         message.Fd100_1 = SinAmt;
1080 1080
         message.Fd34 = args.DeAccountSeqn;
1081 1081
         if (!this.CallServer(message)) {
1082
-            this.ShowErrorMessageBox(this.GetError(message));
1082
+            // this.ShowErrorMessageBox(this.GetError(message));hulei_弹窗先注释
1083 1083
             return null;
1084 1084
         }
1085 1085
         if (message.Fd12 !== '0000') {
1086
-            this.ShowErrorMessageBox(this.GetError(message));
1086
+            // this.ShowErrorMessageBox(this.GetError(message));hulei_弹窗先注释
1087 1087
             return null;
1088 1088
         } else {
1089 1089
             result = {
1090 1090
                 Account: args.Account,
1091 1091
                 Money: args.Amt,
1092 1092
                 OperationType: args.OperationType ? args.OperationType.trim() : '',
1093
-                Txcode: this.Page.TradeInfoData.GetTradeInfo(this.Page).TradeCode,
1093
+                Txcode: "9042",//this.Page.TradeInfoData.GetTradeInfo(this.Page).TradeCode,
1094 1094
                 CTSigns: args.CTSigns ? args.CTSigns.trim() : '',
1095 1095
                 SinAmt: args.Amt.toString() && args.Amt !== 0 ? args.Amt.toString() : SinAmt,
1096 1096
             } as CheckConditionElements;
@@ -1120,8 +1120,8 @@ class TradeAPIsHelper {
1120 1120
         return result;
1121 1121
     }
1122 1122
 
1123
-    public SetAuthCheckTitle(element: FrameworkElement, str: string): void {
1124
-        CheckManager.SetAuthCheckTitle(element, str);
1123
+    public SetAuthCheckTitle(str: string): void {
1124
+        CheckManager.SetAuthCheckTitle(str);//hulei_cs 去掉FrameworkElement
1125 1125
     }
1126 1126
 
1127 1127
     // 获取菜单属性
@@ -1161,8 +1161,8 @@ class TradeAPIsHelper {
1161 1161
                 return true;
1162 1162
             }
1163 1163
             const status = LoginUserInfo.GetUserInfo("WorkState");
1164
-            if (TradeAPIsHelper._SignInStateList_.includes(status)) return true;
1165
-            this.ShowWarnMessageBox("当前柜员非签到状态,请先签到...");
1164
+            if (TradeAPIsHelper._SignInStateList_.includes(status as string)) return true;
1165
+            // this.ShowWarnMessageBox("当前柜员非签到状态,请先签到...");hulei_弹窗提示先注销
1166 1166
             return false;
1167 1167
         } else {
1168 1168
             return true;
@@ -1180,7 +1180,7 @@ class TradeAPIsHelper {
1180 1180
                 }
1181 1181
                 if (!flag) return true;
1182 1182
             }
1183
-            const msg: Message = {};
1183
+            const msg: Message = null;
1184 1184
             this.InitFd(msg);
1185 1185
             this.CommSend(msg);
1186 1186
             msg.Fd16 = "K119";

+ 0
- 5892
ant-design-pro-vue3/src/views/front/develop/Constract/ContractBase/TradeBusHelper.cs
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


+ 3
- 3
ant-design-pro-vue3/src/views/front/develop/Constract/ContractBase/TradeInfoHelper.ts Datei anzeigen

@@ -1,6 +1,6 @@
1 1
 import { reactive } from 'vue'
2 2
 import type { PageBase } from './PageBase'
3
-import type { TradeInfoData } from './TradeInfoData'
3
+import { TradeInfoData } from "@/views/front/develop/Library.Ext/TradeExtension/TradeInfo/TradeInfoData"
4 4
 
5 5
 /**
6 6
  * 交易基础信息的访问辅助类
@@ -11,7 +11,7 @@ export class TradeInfoHelper {
11 11
 
12 12
     constructor(page: PageBase) {
13 13
         this._page = page
14
-        this._tradeInfoData = TradeInfoData.GetTradeInfo(page)
14
+        this._tradeInfoData = TradeInfoData.GetTradeInfo()//hulei_cs重写 过去交易的方法
15 15
     }
16 16
 
17 17
     /**
@@ -80,4 +80,4 @@ export class TradeInfoHelper {
80 80
 // Vue组件封装
81 81
 export const useTradeInfo = (page: PageBase) => {
82 82
     return reactive(new TradeInfoHelper(page))
83
-}
83
+}

+ 0
- 435
ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/ContractManager.cs Datei anzeigen

@@ -1,435 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Contract.ContractBase;
6
-using TellerSystem.Communication;
7
-using TellerSystem.Library.Ext.TradeExtension;
8
-using Platform.Common.LogSystem;
9
-using TellerSystem.Library.Ext.Function;
10
-using Platform.Presentation.Interfaces;
11
-using Platform.Common.BasicFunctions;
12
-using Platform.Presentation.PagesHelper;
13
-using Platform.Print;
14
-using TellerSystem.PrintTemplate.Extension;
15
-using TellerSystem.ServiceProxy.Ext.TradeBusinessEntitys;
16
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
17
-using System.Windows;
18
-using System.Windows.Controls;
19
-using Platform.Common.RunningParameters;
20
-using TellerSystem.Contract.Function;
21
-using TellerSystem.Contract.Entry;
22
-
23
-namespace TellerSystem.Contract.Contracts
24
-{
25
-    /// <summary>
26
-    /// 契约执行流程定义
27
-    /// </summary>
28
-    public static class ContractManager
29
-    {
30
-        public static bool RaiseSubmit(this PageBase page)
31
-        {
32
-            if (page is ISubmitContract)
33
-            {
34
-                AuthDataHelper authdata = new AuthDataHelper(page);
35
-                authdata.ClearAuthData();
36
-                var contract = page as ISubmitContract;
37
-                if (contract == null || contract.SubmitEntry == null) return false;
38
-                //重复提交的情况
39
-                if (contract.SubmitEntry.Submitted)
40
-                {
41
-                    TradeHandle.WriteTraceLog("ContractManager.RaiseSubmit:阻断错误的重复提交!", contract.SubmitEntry.MessageData.Fd16);
42
-                    return false;
43
-                }
44
-                Message message = null;
45
-                //组装提交数据失败或组装对象为null,流程失败
46
-                if (!contract.PreviewSubmitting(out message)) return false;
47
-                if (message == null || message.Fd16 != page.TradeInfo.MainCode)
48
-                {
49
-                    PlatformLogger.TradeErrorInfo("提交通讯错误:", new Exception("提交报文与主交易码不一致,请检查..."));
50
-                }
51
-                //初始化提交入口对象,执行提交流程
52
-                var entry = contract.SubmitEntry;
53
-                if (entry == null || !entry.LoadData(page, message)) return false;
54
-                //检查复核
55
-                if (!RaiseRecheck(page, message)) return false;
56
-                //检查授权             
57
-                if (!RaiseAuthorize(page, message)) return false;
58
-                //检查收费
59
-                if (!RaisePaymentFee(page, message)) return false;
60
-                //触发提交
61
-                if (!entry.RaiseSubmit()) return false;
62
-            }
63
-            return true;
64
-        }
65
-
66
-        /// <summary>
67
-        /// 触发授权流程
68
-        /// </summary>
69
-        /// <param name="page"></param>
70
-        /// <param name="message"></param>
71
-        /// <param name="powerCode"></param>
72
-        /// <returns></returns>
73
-        public static bool RaiseAuthorize(this PageBase page, Message message, string powerCode = "0")
74
-        {
75
-            if (page is IAuthorizeContract)
76
-            {
77
-                var contract = page as IAuthorizeContract;
78
-                if (contract == null) return false;
79
-                //考试系统无需进行授权
80
-                if (ExamSystem.Instance.InExamMode) return true;
81
-                //若交易未启用授权标志,则认为无需进行授权
82
-                if (string.Compare(page.TradeAPIs.GetTradeMetadata("isAuth"), "true", true) != 0)
83
-                    return true;
84
-                //if (string.IsNullOrWhiteSpace(powerCode)) return false;
85
-                //获取授权入口
86
-                if (contract.AuthorizeEntries == null || contract.AuthorizeEntries.Count == 0) return false;
87
-
88
-                var entry = contract.AuthorizeEntries.Find(x => { return x.PowerCode == powerCode; });
89
-                if (entry == null) return false;
90
-                entry.LoadData(page, message);
91
-                return entry.RaiseAuthorize();
92
-            }
93
-            return true;
94
-        }
95
-
96
-        /// <summary>
97
-        /// 触发复核流程
98
-        /// </summary>
99
-        /// <param name="page"></param>
100
-        /// <param name="message"></param>
101
-        /// <param name="powerCode"></param>
102
-        /// <returns></returns>
103
-        public static bool RaiseRecheck(this PageBase page, Message message, string powerCode = "0")
104
-        {
105
-            if (page is IRecheckContract)
106
-            {
107
-                var contract = page as IRecheckContract;
108
-                if (contract == null) return false;
109
-                //考试系统无需进行复核
110
-                if (ExamSystem.Instance.InExamMode) return true;
111
-                //若交易未启用复核标志,则认为无需进行复核
112
-                if (string.Compare(page.TradeAPIs.GetTradeMetadata("isRecheck"), "true", true) != 0)
113
-                    return true;
114
-                //if (string.IsNullOrWhiteSpace(powerCode)) return false;
115
-                //获取授权入口
116
-                if (contract.RecheckEntries == null || contract.RecheckEntries.Count == 0) return false;
117
-
118
-                var entry = contract.RecheckEntries.Find(x => { return x.PowerCode == powerCode; });
119
-                if (entry == null) return false;
120
-                entry.LoadData(page, message);
121
-                return entry.RaiseRecheck();
122
-            }
123
-            return true;
124
-        }
125
-
126
-        /// <summary>
127
-        /// 触发收费流程
128
-        /// </summary>
129
-        /// <param name="page"></param>
130
-        /// <param name="message"></param>
131
-        /// <returns></returns>
132
-        public static bool RaisePaymentFee(this PageBase page, Message message)
133
-        {
134
-            if (page is IPaymentFeeContract)
135
-            {
136
-                var contract = page as IPaymentFeeContract;
137
-                if (contract == null) return false;
138
-                //若交易未启用收费检查标志,则认为无需进行收费检查
139
-                if (string.Compare(page.TradeAPIs.GetTradeMetadata("isPaymentFee"), "true", true) != 0)
140
-                    return true;
141
-                //若交易通讯方式为核心前置CallGateway2CBS,则不触发收费
142
-                if (message.TransitNode == TellerSystem.Communication.MessageHelper.TransitType.CallGateway2CBS)
143
-                {
144
-                    PlatformLogger.CommunicationInfo("核心前置通讯不支持收费(TransitType.CallGateway2CBS)");
145
-                    return true;
146
-                }
147
-                //if (string.IsNullOrWhiteSpace(powerCode)) return false;
148
-                string FLAG = TradeManagerHandle.TT_SYSCONFIG_GetConfigValueByConfigID("2ea3a7e6cfa04f89a335bf1e363295de");
149
-                string filedata = string.Empty;
150
-                filedata = message.FileData;
151
-                //执行收费流程
152
-                var isPaymentFee = false;
153
-                //检查收费失败
154
-                var args = new PaymentFeeArguments(message);
155
-                if (!contract.CheckFee(args, out isPaymentFee)) return false;
156
-                //需要收费且,执行收费决策失败
157
-                if (isPaymentFee && !contract.RaisePaymentFee(args)) return false;
158
-                message.FileData = filedata;
159
-            }
160
-            return true;
161
-        }
162
-
163
-        /// <summary>
164
-        /// 触发评价流程
165
-        /// </summary>
166
-        /// <param name="page"></param>
167
-        public static void RaiseEvaluation(this PageBase page)
168
-        {
169
-            var contract = page as IEvaluationContract;
170
-            if (contract == null) return;
171
-            //TODO:菜单开关控制,暂注释
172
-            if (page.TradeAPIs.GetTradeMetadata("isEvaluation") != "true") return;
173
-            //评价数据收集
174
-            var record = new EvaluationRecord();
175
-            if (!contract.PreviewEvaluation(record))
176
-            {
177
-                //采用默认提取//"扣划账号", "扣费账号", "账号/科目号","合同编号",
178
-                var list_accno = page.PositioningUI(new List<string>() { "账/卡号", "账号", "卡    号", "账    号", "结算账号", "账/卡号", "贷款账号", "还款账号", "贷方账号", "记贷付款账号", "借据展示号", "记账账号", "收款人账号", "付款人账号", "签约账号", "账/卡 号", "本行账号", "申请人账号" }).Select(x => x.Item2).Where(x => x is TextBox).Select(x => (x as TextBox).Text).Distinct().ToDictionary(x => x);
179
-                var list_idno = page.PositioningUI(new List<string>() { "证件号码" }).Select(x => x.Item2).Where(x => x is TextBox).Select(x => (x as TextBox).Text).Distinct().ToDictionary(x => x);
180
-                var list_name = page.PositioningUI(new List<string>() { "户    名", "户  名", "客户名称" }).Select(x => x.Item2).Where(x => x is TextBox).Select(x => (x as TextBox).Text).Distinct().ToDictionary(x => x);//一个是半角一个全角
181
-                var list_amt = page.PositioningUI(new List<string>() { "交易金额", "开户金额", "支取金额" }).Select(x => x.Item2).Where(x => x is TextBox).Select(x => (x as TextBox).Text).Distinct().ToDictionary(x => x);
182
-                //如存在分歧,则提醒客户选择
183
-                record.AccNo = list_accno.Count == 1 ? list_accno.ElementAt(0).Value : string.Empty;
184
-                record.IdNo = list_idno.Count == 1 ? list_idno.ElementAt(0).Value : string.Empty;
185
-                record.Name = list_name.Count == 1 ? list_name.ElementAt(0).Value : string.Empty;
186
-                record.Amt = list_amt.Count == 1 ? list_amt.ElementAt(0).Value : string.Empty;
187
-                var gen = new Func<string, Dictionary<string, string>, UIElement>((title, dict) =>
188
-                {
189
-                    var line = new StackPanel { Orientation = Orientation.Horizontal };
190
-                    line.Children.Add(new TextBlock { Text = title, Width = 120 });
191
-                    var comboBox = new ComboBox { ItemsSource = dict, SelectedIndex = 0, Width = 300 };
192
-                    comboBox.Loaded += (s, e) =>
193
-                    {
194
-                        comboBox.SelectedIndex = 0;
195
-                        if (dict.Count < 2)
196
-                            comboBox.IsEnabled = false;
197
-                    };
198
-                    line.Children.Add(comboBox);
199
-                    return line;
200
-                });
201
-                do
202
-                {
203
-                    //TODO:是否每次都提示信息
204
-                    if (list_accno.Count >= 1 || list_idno.Count >= 1)
205
-                    {
206
-                        var content = new StackPanel();
207
-                        //组织页面
208
-                        content.Children.Add(gen("银行账号", list_accno));
209
-                        content.Children.Add(gen("身份证号", list_idno));
210
-                        content.Children.Add(gen("客户姓名", list_name));
211
-                        content.Children.Add(gen("发生金额", list_amt));
212
-                        if (page.TradeAPIs.ShowQuestionMessageBox(content, "请确认当前客户信息:", MessageBoxResult.Yes) == MessageBoxResult.Yes)
213
-                        {
214
-                            content.FindVisualTreeChildren(x => x is ComboBox).ForEach(x =>
215
-                            {
216
-                                var comboBox = x as ComboBox;
217
-                                if (comboBox.ItemsSource == list_accno)
218
-                                    record.AccNo = comboBox.GetSelectedValue();
219
-                                else if (comboBox.ItemsSource == list_idno)
220
-                                    record.IdNo = comboBox.GetSelectedValue();
221
-                                else if (comboBox.ItemsSource == list_name)
222
-                                    record.Name = comboBox.GetSelectedValue();
223
-                                else if (comboBox.ItemsSource == list_amt)
224
-                                    record.Amt = comboBox.GetSelectedValue();
225
-                            });
226
-                            break;
227
-                        }
228
-                    }
229
-                    else
230
-                        return;
231
-
232
-                } while (true);
233
-            }
234
-            PlatformLogger.SystemInfo("RaiseEvaluation:数据=>" + record.ToString());
235
-            //处理账户喝证件问题,如果账户不为空,证件为空
236
-            if (string.IsNullOrEmpty(record.IdNo.Trim()) && !string.IsNullOrEmpty(record.AccNo.Trim()))
237
-            {
238
-                //var ac = page.TradeAPIs.TF_Deposit_QueryDepositAccount(new QueryDepositAccount.Input()
239
-                //{
240
-                //    ZH = record.AccNo.Trim()
241
-                //});
242
-                //if (!ac.IsFailed)
243
-                //    record.IdNo = ac.ZJH;
244
-                var ac = page.TradeAPIs.TF_Customer_QueryCustomerInformation(new QueryCustomerInformation.Input()
245
-                {
246
-                    ZH = record.AccNo.Trim()
247
-                });
248
-                if (!ac.IsFailed && !string.IsNullOrEmpty(ac.ZJHM.Trim()))
249
-                {
250
-                    record.IdNo = ac.ZJHM.Trim();
251
-                }
252
-            }
253
-            //处理户名问题
254
-            //通过证件号或账号获取户名
255
-            if (string.IsNullOrEmpty(record.Name))
256
-            {
257
-                if (!string.IsNullOrEmpty(record.IdNo.Trim()))//如果证件号不为空,则优先通过证件号去获取户名
258
-                {
259
-                    var khInfo = page.TradeAPIs.TF_Customer_QueryCustomerInformation(new QueryCustomerInformation.Input()
260
-                    {
261
-                        ZJLX = "1",
262
-                        ZJHM = record.IdNo.Trim(),
263
-                    });
264
-                    if (!khInfo.IsFailed && !string.IsNullOrEmpty(khInfo.HM.Trim()))
265
-                    {
266
-                        record.Name = khInfo.HM.Trim();
267
-                    }
268
-                    else//如果通过证件号查询户名失败,则通过账号去获取户名
269
-                    {
270
-                        if (!string.IsNullOrEmpty(record.AccNo.Trim()))
271
-                        {
272
-                            var khInfo1 = page.TradeAPIs.TF_Customer_QueryCustomerInformation(new QueryCustomerInformation.Input()
273
-                            {
274
-                                ZH = record.AccNo.Trim()
275
-                            });
276
-                            if (!khInfo1.IsFailed && !string.IsNullOrEmpty(khInfo1.HM.Trim()))
277
-                            {
278
-                                record.Name = khInfo1.HM.Trim();
279
-                            }
280
-                            else
281
-                            {
282
-                                page.TradeAPIs.ShowInfoMessageBox("户名抓取失败,微信评价推送失败!");
283
-                                return;//取不到户名就不推送
284
-                            }
285
-                        }
286
-                        else
287
-                        {
288
-                            page.TradeAPIs.ShowInfoMessageBox("户名抓取失败,微信评价推送失败!");
289
-                            return;//取不到户名就不推送
290
-                        }
291
-                    }
292
-                }
293
-                else//如果证件号为空,则通过账号去获取户名
294
-                {
295
-                    if (!string.IsNullOrEmpty(record.AccNo.Trim()))
296
-                    {
297
-                        var khInfo1 = page.TradeAPIs.TF_Customer_QueryCustomerInformation(new QueryCustomerInformation.Input()
298
-                        {
299
-                            ZH = record.AccNo.Trim()
300
-                        });
301
-                        if (!khInfo1.IsFailed && !string.IsNullOrEmpty(khInfo1.HM.Trim()))
302
-                        {
303
-                            record.Name = khInfo1.HM.Trim();
304
-                        }
305
-                        else
306
-                        {
307
-                            page.TradeAPIs.ShowInfoMessageBox("户名抓取失败,微信评价推送失败!");
308
-                            return;//取不到户名就不推送
309
-                        }
310
-                    }
311
-                    else
312
-                    {
313
-                        page.TradeAPIs.ShowInfoMessageBox("户名抓取失败,微信评价推送失败!");
314
-                        return;//取不到户名就不推送
315
-                    }
316
-                }
317
-            }
318
-            //处理评价通讯
319
-            Message msg1 = new Message(Message.BitMap.Agn);
320
-            page.InitFd(msg1);
321
-            page.CommSend(msg1);
322
-            msg1.Fd16 = "2021";
323
-            if (!string.IsNullOrEmpty(record.AccNo))
324
-                msg1.Fd20 = "2";//类型 1身份证 2卡号
325
-            else if (!string.IsNullOrEmpty(record.IdNo))
326
-                msg1.Fd20 = "1";//类型 1身份证 2卡号
327
-
328
-            msg1.Fd30 = record.IdNo;//身份证号
329
-            msg1.Fd31 = record.AccNo;//卡号
330
-            msg1.Fd28 = LoginUserInfo.TellerNo;//柜员号
331
-            msg1.Fd32 = LoginUserInfo.TellerName;//柜员姓名
332
-            msg1.Fd23 = "3"; //来源方式 1 柜面//应微信银行请求改成3,20210929
333
-            StringBuilder ServerTime = new StringBuilder(TradeHandle.GetServerTime());
334
-            msg1.Fd33 = ServerTime.ToString().Replace("-", "").Replace(":", "").Replace(" ", "");//14位时间
335
-            msg1.Fd29 = LoginUserInfo.KinbrNo;//开户机构
336
-            msg1.Fd25 = page.TradeModel.Name + "(" + page.TradeModel.Code + ")";//业务名称
337
-            msg1.Fd37 = string.IsNullOrEmpty(record.Amt) ? "0.00" : record.Amt;//金额
338
-            msg1.Fd26 = record.Name;///客户姓名
339
-            msg1.Fd24 = "1";//联动礼品  1
340
-            msg1.Fd38 = page.TradeInfo.SerialNumber;//TODO:流水
341
-            //msg1.Fd27 = LoginUserInfo.KinbrName.Contains("前郭县阳光村镇银行") ? LoginUserInfo.KinbrName.Substring(9, LoginUserInfo.KinbrName.Length - 9).Trim() : LoginUserInfo.KinbrName;//机构名
342
-            msg1.Fd27 = LoginUserInfo.KinbrName.Contains("银行") ? LoginUserInfo.KinbrName.Split(new String[] { "银行" }, StringSplitOptions.RemoveEmptyEntries)[1] : LoginUserInfo.KinbrName;
343
-            page.CallAgn(msg1);
344
-            if (msg1.Fd12 != "0000")
345
-            {
346
-                page.TradeAPIs.ShowInfoMessageBox(page.GetError(msg1) + "\n,微信评价推送失败!");
347
-
348
-            }
349
-            else
350
-            {
351
-                page.TradeAPIs.ShowInfoMessageBox("微信评价推送成功!");
352
-            }
353
-        }
354
-
355
-        /// <summary>
356
-        /// 触发通用的打印流程,包含检查和预处理
357
-        /// </summary>
358
-        /// <param name="page"></param>
359
-        /// <param name="message"></param>
360
-        /// <param name="printList"></param>
361
-        /// <returns></returns>
362
-        public static bool RaisePrint(this PageBase page, Message message, List<PrintContainer> printList)
363
-        {
364
-            //参数检查
365
-            if (page == null || message == null || printList == null) return false;
366
-            //拆解批量打印场景
367
-            var pl = new List<PrintContainer>();
368
-            //if (string.Compare(PageData.TradeAPIs.GetTradeMetadata("isPrintNumber"), "true", true) == 0)
369
-            //    this.PageData.CreatePrintNum(this.PageData.GetTradeInfoData().SystemSerialNumber);
370
-            var printAttr = page.GetPrintAttributes();
371
-            //根据核心返回的是否存在流水  如果不下流水 前台也不创建柜员流水 add by jun 20150514
372
-            if (!string.IsNullOrWhiteSpace(message.Fd4))
373
-            {
374
-                printAttr.SerialNumber = page.CreateTellerSerialNumber(printAttr.SystemSerialNumber);
375
-                //获取PrintAttributes,抓取第四域作为业务流水号
376
-                printAttr.BusinessTransaction = message.Fd4;
377
-                //当业务流水号为无效值,且存在自定义流水号时加载
378
-                if (printAttr.BusinessTransaction == "000000000" && message.CustomizeTransitEntry != null && !string.IsNullOrEmpty(message.CustomizeTransitEntry.SerialNo))
379
-                    printAttr.BusinessTransaction = message.CustomizeTransitEntry.SerialNo;
380
-            }
381
-            //数据加载
382
-            foreach (PrintContainer item in printList)
383
-            {
384
-                PrintContainerExt.SetPrintElement(item, printAttr);
385
-                //采用接口方式的打印项需要进行数据加载
386
-                var printfee = item as IPrintFeeContract;
387
-                var print = item as IPrintContract;
388
-                if (print == null || print.PrintData == null)
389
-                {
390
-                    pl.Add(item);
391
-                }
392
-                else
393
-                {
394
-                    print.PrintData.LoadData(page, message);
395
-                    //此方法由交易定制,容易发生异常,故捕获
396
-                    try
397
-                    {
398
-                        if (item.DocumentId == "TellerSystem.Controls.Ext.PrintsHelper.Print_Fee")
399
-                        {
400
-                            Message msg = new Message();
401
-                            page.TradeAPIs.CommSend(msg);
402
-                            msg.Fd16 = "9550";
403
-                            msg.Fd4 = message.Fd4;
404
-                            page.TradeAPIs.CallServer(msg);
405
-                            printfee.LoadPrint(msg.FileData);
406
-                        }
407
-                        else
408
-                        {
409
-                            print.LoadPrintData();
410
-                        }
411
-                    }
412
-                    catch (Exception ex)
413
-                    {
414
-                        PlatformLogger.SystemErrorInfo("RaisePrintflow:调用LoadPrintData方法发生异常!", ex);
415
-                        //TradeHandle.WriteImportantLog("RaiseDefaultPrint:调用LoadPrintData方法发生异常!", ex.Message + "\n" + ex.StackTrace, this.TradeModel.Code, item.DocumentId, "6", string.Join(",", SocketManager.GetLocalIpAddressList()));
416
-                    }
417
-                    if (print.PrintData.IsBatchPrint)
418
-                    {
419
-                        //批量打印时,需要补充打印属性
420
-                        print.PrintData.BatchList.ForEach(x => { PrintContainerExt.SetPrintElement(x, printAttr); });
421
-                        pl.AddRange(print.PrintData.BatchList);
422
-                    }
423
-                    else
424
-                    {
425
-                        pl.Add(item);
426
-                    }
427
-                }
428
-            }
429
-            //解析打印规则
430
-            var list = page.TradeAPIs.DoPrintLimit(page.TradeModel.Code, pl);
431
-            page.PrintCertificate(list.ToArray());
432
-            return true;
433
-        }
434
-    }
435
-}

+ 0
- 20
ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IAuthorizeContract.cs Datei anzeigen

@@ -1,20 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Library.Ext.TradeExtension;
6
-using TellerSystem.Contract.ContractBase;
7
-using TellerSystem.Communication;
8
-using TellerSystem.Library.Ext.Function;
9
-using TellerSystem.Contract.Entry;
10
-
11
-namespace TellerSystem.Contract.Contracts
12
-{
13
-    public interface IAuthorizeContract
14
-    {
15
-        /// <summary>
16
-        /// 授权入口
17
-        /// </summary>
18
-        List<AuthorizeEntry> AuthorizeEntries { get; }
19
-    }
20
-}

+ 0
- 43
ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IEvaluationContract.cs Datei anzeigen

@@ -1,43 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-
6
-namespace TellerSystem.Contract.Contracts
7
-{
8
-    public interface IEvaluationContract
9
-    {
10
-        bool PreviewEvaluation(EvaluationRecord record);
11
-    }
12
-
13
-    /// <summary>
14
-    /// 预评价的记录
15
-    /// </summary>
16
-    public class EvaluationRecord
17
-    {
18
-        /// <summary>
19
-        /// 账号
20
-        /// </summary>
21
-        public string AccNo { get; set; }
22
-
23
-        /// <summary>
24
-        /// 身份证号
25
-        /// </summary>
26
-        public string IdNo { get; set; }
27
-
28
-        /// <summary>
29
-        /// 姓名
30
-        /// </summary>
31
-        public string Name { get; set; }
32
-
33
-        /// <summary>
34
-        /// 金额
35
-        /// </summary>
36
-        public string Amt { get; set; }
37
-
38
-        public override string ToString()
39
-        {
40
-            return string.Format("EvaluationRecord=[AccNo:{0},IdNo:{1},Name:{2},Amt:{3}]", AccNo, IdNo, Name, Amt);
41
-        }
42
-    }
43
-}

+ 0
- 48
ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IPaymentFeeContract.cs Datei anzeigen

@@ -1,48 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Communication;
6
-
7
-namespace TellerSystem.Contract.Contracts
8
-{
9
-    public interface IPaymentFeeContract
10
-    {
11
-        /// <summary>
12
-        /// 检查收费情况,是否需要进行收费
13
-        /// </summary>
14
-        /// <param name="message"></param>
15
-        /// <returns></returns>
16
-        bool CheckFee(PaymentFeeArguments args, out bool isPaymentFee);
17
-
18
-        /// <summary>
19
-        /// 执行收费决策界面
20
-        /// </summary>
21
-        /// <param name="message"></param>
22
-        /// <returns></returns>
23
-        bool RaisePaymentFee(PaymentFeeArguments args);
24
-    }
25
-
26
-    public class PaymentFeeArguments
27
-    {
28
-        #region ctor
29
-        public PaymentFeeArguments(Message message)
30
-        {
31
-            Message = message;
32
-            Metadata = new Dictionary<string, object>();
33
-        }
34
-        #endregion
35
-
36
-        #region 属性
37
-        /// <summary>
38
-        /// 通讯报文
39
-        /// </summary>
40
-        public Message Message { get; private set; }
41
-
42
-        /// <summary>
43
-        /// 元数据集合
44
-        /// </summary>
45
-        public Dictionary<string, object> Metadata { get; private set; }
46
-        #endregion
47
-    }
48
-}

+ 0
- 33
ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IPrintContract.cs Datei anzeigen

@@ -1,33 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Communication;
6
-using TellerSystem.Contract.ContractBase;
7
-using Platform.Print;
8
-using TellerSystem.Contract.Entry;
9
-
10
-namespace TellerSystem.Contract.Contracts
11
-{
12
-    public interface IPrintContract
13
-    {
14
-        /// <summary>
15
-        /// 打印数据入口,定义打印所需的数据集合
16
-        /// </summary>
17
-        PrintEntry PrintData { get; }
18
-        /// <summary>
19
-        /// 加载打印数据,该方法由系统自动调用
20
-        /// </summary>
21
-        void LoadPrintData(); 
22
-    }
23
-
24
-    public interface IPrintFeeContract
25
-    {
26
-       
27
-        /// <summary>
28
-        /// 加载打印数据,该方法由系统自动调用
29
-        /// </summary>
30
-        void LoadPrint(string kjfl);
31
-    }
32
- 
33
-}

+ 0
- 16
ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/IRecheckContract.cs Datei anzeigen

@@ -1,16 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Contract.Entry;
6
-
7
-namespace TellerSystem.Contract.Contracts
8
-{
9
-    public interface IRecheckContract
10
-    {
11
-        /// <summary>
12
-        /// 授权入口
13
-        /// </summary>
14
-        List<RecheckEntry> RecheckEntries { get; }
15
-    }
16
-}

+ 0
- 24
ant-design-pro-vue3/src/views/front/develop/Constract/Contracts/ISubmitContract.cs Datei anzeigen

@@ -1,24 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Communication;
6
-using TellerSystem.Contract.Entry;
7
-
8
-namespace TellerSystem.Contract.Contracts
9
-{
10
-    /// <summary>
11
-    /// 提交契约
12
-    /// </summary>
13
-    public interface ISubmitContract
14
-    {
15
-        /// <summary>
16
-        /// 提交准备
17
-        /// </summary>
18
-        bool PreviewSubmitting(out Message message);
19
-        /// <summary>
20
-        /// 提交入口
21
-        /// </summary>
22
-        SubmitEntry SubmitEntry { get; }
23
-    }
24
-}

+ 0
- 190
ant-design-pro-vue3/src/views/front/develop/Constract/Entry/AuthorizeEntry.cs Datei anzeigen

@@ -1,190 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Contract.ContractBase;
6
-using TellerSystem.Communication;
7
-using TellerSystem.Library.Ext.Function;
8
-using TellerSystem.Library.Ext.TradeExtension;
9
-using TellerSystem.ServiceProxy.Ext.ServiceEntitys;
10
-using System.Windows;
11
-using TellerSystem.Contract.Contracts;
12
-using TellerSystem.Contract.Function;
13
-
14
-namespace TellerSystem.Contract.Entry
15
-{
16
-    /// <summary>
17
-    /// 授权逻辑入口
18
-    /// </summary>
19
-    public class AuthorizeEntry : EntryBase
20
-    {
21
-        #region 构造
22
-        /// <summary>
23
-        /// 授权触发器,允许绑定权限编码
24
-        /// </summary>
25
-        /// <param name="powerCode"></param>
26
-        public AuthorizeEntry(string powerCode = "0")
27
-        {
28
-            PowerCode = powerCode;
29
-        }
30
-        /// <summary>
31
-        /// 权限编号
32
-        /// </summary>
33
-        public string PowerCode { get; private set; }
34
-        #endregion
35
-
36
-        #region 事件
37
-        /// <summary>
38
-        /// 准备授权数据事件
39
-        /// </summary>
40
-        public event EventHandler<PreviewAuthorizeEventArgs> PreviewAuthorize;
41
-
42
-        /// <summary>
43
-        /// 准备授权数据事件参数
44
-        /// </summary>
45
-        public class PreviewAuthorizeEventArgs : EventArgs
46
-        {
47
-            #region 构造
48
-            public PreviewAuthorizeEventArgs()
49
-            {
50
-                this.CustomizePages = new List<byte[]>();
51
-            }
52
-
53
-            public PreviewAuthorizeEventArgs(PageBase page)
54
-                : this()
55
-            {
56
-                Page = page;
57
-            }
58
-            #endregion
59
-
60
-            #region 核心要素
61
-            /// <summary>
62
-            /// 借方账号
63
-            /// </summary>
64
-            public string DeAccount { get; set; }
65
-            /// <summary>
66
-            /// 贷方账号
67
-            /// </summary>
68
-            public string CrAccount { get; set; }
69
-            /// <summary>
70
-            /// 单笔金额
71
-            /// </summary>
72
-            public decimal SinAmt { get; set; }
73
-            /// <summary>
74
-            /// 现转标志:1-现金 2-转账
75
-            /// </summary>
76
-            public string CTSigns { get; set; }
77
-            /// <summary>
78
-            /// 操作类型
79
-            /// </summary>
80
-            public string OperationType { get; set; }
81
-
82
-            /// <summary>
83
-            /// 借方账户序号
84
-            /// </summary>
85
-            public string DeAccountSeqn { get; set; }
86
-
87
-            #endregion
88
-
89
-            #region 查询要素
90
-            /// <summary>
91
-            /// 登记账号
92
-            /// </summary>
93
-            public string EnrollAccount { get; set; }
94
-            /// <summary>
95
-            /// 登记账号户名
96
-            /// </summary>
97
-            public string EnrollAccountName { get; set; }
98
-            /// <summary>
99
-            /// 登记发生金额
100
-            /// </summary>
101
-            public decimal EnrollAmt { get; set; }
102
-            /// <summary>
103
-            /// 登记积数
104
-            /// </summary>
105
-            public decimal EnrollAccumulation { get; set; }
106
-            /// <summary>
107
-            /// 登记授权描述
108
-            /// </summary>
109
-            public string EnrollDescription { get; set; }
110
-            #endregion
111
-
112
-            #region 其他元素
113
-            /// <summary>
114
-            /// 检阅授权页面,若缺失则采集当前页面快照
115
-            /// </summary>
116
-            public List<byte[]> CustomizePages { get; private set; }
117
-            /// <summary>
118
-            /// 检阅授权报文,若缺失则根据系统环境决定
119
-            /// </summary>
120
-            public Message CustomizeMessage { get; set; }
121
-            /// <summary>
122
-            /// 当前页面元素
123
-            /// </summary>
124
-            public PageBase Page { get; private set; }
125
-            #endregion
126
-        }
127
-
128
-        /// <summary>
129
-        /// 远程授权成功后执行
130
-        /// </summary>
131
-        public event EventHandler RemoteAuthorized;
132
-        #endregion
133
-
134
-        #region 逻辑
135
-        /// <summary>
136
-        /// 执行授权操作
137
-        /// </summary>
138
-        /// <returns></returns>
139
-        public bool RaiseAuthorize()
140
-        {
141
-            if (PreviewAuthorize == null) return false;
142
-            var args = new PreviewAuthorizeEventArgs(PageData);
143
-            PreviewAuthorize(PageData, args);
144
-            //获取内部授权要素
145
-            var openBranch = string.Empty;
146
-            //TODO:20140422
147
-            AuthConditionElement authCondition = PageData.TradeAPIs.GetAuthElement(out openBranch, args.DeAccount, args.CrAccount, args.SinAmt.ToString(), args.CTSigns, args.OperationType, args.DeAccountSeqn);
148
-            var pages = new List<TellerSystem.ServiceProxy.Ext.ServiceEntitys.PageData>();
149
-            if (args.CustomizePages.Count > 0)
150
-            {
151
-                for (int i = 0; i < args.CustomizePages.Count; i++)
152
-                {
153
-                    pages.Add(new ServiceProxy.Ext.ServiceEntitys.PageData { index = i + 1, datas = args.CustomizePages[i] });
154
-                }
155
-            }
156
-            else
157
-            {
158
-                pages.Add(new ServiceProxy.Ext.ServiceEntitys.PageData { index = 1, datas = args.Page.SaveTradePage((FrameworkElement)args.Page.Content) });
159
-            }
160
-            var authManager = new AuthManager();
161
-            //TODO:暂时写死,该部分效果需要优化
162
-            authManager.AsksuperResultMessage += (result, dataBus) =>
163
-            {
164
-                //授权结果呈现
165
-                switch (result)
166
-                {
167
-                    case AsksuperResultType.Success:
168
-                        //args.Page.TradeAPIs.ShowInfoMessageBox("授权已经通过,将提交交易");
169
-                        AuthDataHelper authdata = new AuthDataHelper(PageData);
170
-                        //远程授权,需提交
171
-                        if (authdata.AuthWay.Equals("remote") && RemoteAuthorized != null)
172
-                        {
173
-                            RemoteAuthorized(this, new EventArgs());
174
-                        }
175
-                        break;
176
-                    case AsksuperResultType.Failed:
177
-                        args.Page.TradeAPIs.ShowInfoMessageBox("授权没有通过");
178
-                        break;
179
-                    case AsksuperResultType.Undo:
180
-                        args.Page.TradeAPIs.ShowInfoMessageBox("授权已撤销");
181
-                        break;
182
-                    default:
183
-                        break;
184
-                }
185
-            };
186
-            return authManager.DoAuth(PageData, authCondition, args.CustomizeMessage ?? MessageData, pages.ToArray(), PowerCode, args.EnrollAccount, args.EnrollAmt.ToString(), args.EnrollAccumulation.ToString(), args.EnrollAccountName, args.EnrollDescription, openBranch);
187
-        }
188
-        #endregion
189
-    }
190
-}

+ 0
- 239
ant-design-pro-vue3/src/views/front/develop/Constract/Entry/CashCodeEntry.cs Datei anzeigen

@@ -1,239 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Contract.ContractBase;
6
-using Newtonsoft.Json;
7
-using TellerSystem.Library.Ext.Function;
8
-using Platform.Presentation.PageFunctions;
9
-using Platform.Presentation.Interfaces;
10
-using Platform.Library;
11
-
12
-namespace TellerSystem.Contract.Entry
13
-{
14
-    public class CashCodeEntry : EntryBase
15
-    {
16
-        #region static
17
-        private const string _action_ = "Trade.OperationManage.CASHVIEWER";
18
-
19
-        public static bool Enabled { get; private set; }
20
-
21
-        public static string lastendTime;
22
-
23
-        public static List<CashCodeEntry.BizItem> History { get; private set; }
24
-        static CashCodeEntry()
25
-        {
26
-            Enabled = ServiceProxy.Ext.ServiceSettings.GetConfig("CashCodeManage", false);
27
-            History = new List<CashCodeEntry.BizItem>();
28
-        }
29
-
30
-        public static bool Init(IPage target)
31
-        {
32
-            if (!Enabled) return true;
33
-            var flag = false;
34
-            try
35
-            {
36
-                //初始化点钞机节点程序
37
-                dynamic page = PageFactory.CreatePage(_action_);
38
-                while (true)
39
-                {
40
-                    target.OwnerContainer.ModalInvoke(() =>
41
-                    {
42
-                        flag = page.InitDevice();
43
-                    }, "链接冠字号设备,请稍候...");
44
-                    if (flag)
45
-                        break;
46
-                    var i = target.ShowComfirmBox("链接冠字号设备失败,是否重试?", new string[] { "重试", "关闭功能", "稍后处理" });
47
-                    if (i == 2) Enabled = false;
48
-                    if (i != 1) break;
49
-                }
50
-            }
51
-            catch (Exception ex)
52
-            {
53
-                Platform.Common.LogSystem.PlatformLogger.SystemErrorInfo("CashCodeEntry.InitDevice:发生异常!", ex);
54
-                //throw new InvalidOperationException("初始化现金冠字号程序失败!");
55
-            }
56
-            return flag;
57
-        }
58
-        #endregion
59
-
60
-        #region ctor
61
-        /// <summary>
62
-        /// 构造函数
63
-        /// </summary>
64
-        public CashCodeEntry()
65
-        {
66
-            Item = new BizItem();
67
-            Item.StartTime = DateTime.Now;
68
-        }
69
-
70
-        /// <summary>
71
-        /// 业务类型
72
-        /// </summary>
73
-        public enum BizType
74
-        {
75
-            /// <summary>
76
-            /// 存款业务
77
-            /// </summary>
78
-            Deposit = 0,
79
-            /// <summary>
80
-            /// 取款业务
81
-            /// </summary>
82
-            Withdrawal = 1,
83
-            /// <summary>
84
-            /// 残缺币兑换
85
-            /// </summary>
86
-            Incomplete = 4,
87
-            /// <summary>
88
-            /// 假币收缴
89
-            /// </summary>
90
-            Counterfeit = 5,
91
-            /// <summary>
92
-            /// 其他
93
-            /// </summary>
94
-            Other = 6,
95
-        }
96
-
97
-        public class BizItem
98
-        {
99
-            /// <summary>
100
-            /// 业务开始办理时间
101
-            /// </summary>
102
-            public DateTime? StartTime { get; internal set; }
103
-            /// <summary>
104
-            /// 业务结束办理时间
105
-            /// </summary>
106
-            public DateTime? EndTime { get; internal set; }
107
-
108
-            /// <summary>
109
-            /// 业务类型
110
-            /// </summary>
111
-            public BizType Biz { get; internal set; }
112
-
113
-            /// <summary>
114
-            /// 交易卡号
115
-            /// </summary>
116
-            public string CardNo { get; internal set; }
117
-
118
-            /// <summary>
119
-            /// 用户名称
120
-            /// </summary>
121
-            public string UserName { get; internal set; }
122
-
123
-            /// <summary>
124
-            /// 交易金额
125
-            /// </summary>
126
-            public decimal Money { get; internal set; }
127
-
128
-            /// <summary>
129
-            /// 柜面交易码
130
-            /// </summary>
131
-            public string TxCode { get; internal set; }
132
-
133
-            /// <summary>
134
-            /// 交易流水
135
-            /// </summary>
136
-            public string SerialNo { get; internal set; }
137
-        }
138
-
139
-        public class MyBizItem : BizItem
140
-        {
141
-            public void MyMethod(DateTime startTime, DateTime endTime, BizType biz, string cardNo, string userName, decimal money, string txCode, string serialNo)
142
-            {
143
-                this.StartTime = startTime;
144
-                this.EndTime = endTime;
145
-                this.Biz = biz;
146
-                this.CardNo = cardNo;
147
-                this.UserName = userName;
148
-                this.Money = money;
149
-                this.TxCode = txCode;
150
-                this.SerialNo = serialNo;
151
-            }
152
-        }
153
-
154
-        /// <summary>
155
-        /// 预处理时的柜员钱箱余额
156
-        /// </summary>
157
-        public Dictionary<string, decimal> Bals2Init { get; private set; }
158
-
159
-        /// <summary>
160
-        /// 当前处理的Item对象
161
-        /// </summary>
162
-        public BizItem Item { get; private set; }
163
-
164
-        /// <summary>
165
-        /// 预处理
166
-        /// </summary>
167
-        /// <param name="cardNo"></param>
168
-        /// <param name="userName"></param>
169
-        /// <param name="biz"></param>
170
-        /// <returns></returns>
171
-        internal bool Preview(string cardNo, string userName, BizType biz)
172
-        {
173
-            if (!Enabled) return true;
174
-            if (!string.IsNullOrEmpty(TradeBus["__StartTime__"]))
175
-                Item.StartTime = DateTime.ParseExact(TradeBus["__StartTime__"], "yyyyMMddHHmmss", null);
176
-            this.Item.CardNo = cardNo;
177
-            this.Item.UserName = userName;
178
-            this.Item.Biz = biz;
179
-            this.Item.TxCode = PageData.TradeModel.Code;
180
-            var dict = new Dictionary<string, string>();
181
-            //登记入库
182
-            //if (PageData.TradeAPIs.TraderecordsExp("CashCodeEntry", JsonConvert.SerializeObject(dict)))
183
-            //{
184
-            var current = PageData.GetTellerBalanceMoney();
185
-            if (current != null)
186
-            {
187
-                Bals2Init = current;
188
-                //打印后触发
189
-                PageData.PagePrinted -= PageData_PagePrinted;
190
-                PageData.PagePrinted += PageData_PagePrinted;
191
-                return true;
192
-            }
193
-            //}
194
-            return false;
195
-        }
196
-
197
-        void PageData_PagePrinted(object sender, PageBase.PagePrintedEventArgs e)
198
-        {
199
-            Proc(e.PrintAttr.SerialNumber);
200
-        }
201
-
202
-        /// <summary>
203
-        /// 业务处理
204
-        /// </summary>
205
-        void Proc(string serialNo)
206
-        {
207
-            if (!Enabled) return;
208
-            //未调用Preview,不触发
209
-            if (Bals2Init == null) return;
210
-            this.Item.SerialNo = serialNo;
211
-            this.Item.EndTime = DateTime.Now;
212
-            //检查余额变化,目前仅检测人民币
213
-            var current = PageData.GetTellerBalanceMoney();
214
-            this.Item.Money = current["01"] - Bals2Init["01"];
215
-            if (this.Item.Money != 0 || this.Item.Biz == BizType.Counterfeit)//假币收缴业务不会影响钱箱
216
-            {
217
-                //History.Add(this.Item);
218
-                while (true)
219
-                {
220
-                    //提示处理
221
-                    //if (PageData.TradeAPIs.ShowQuestionMessageBox("本次交易存在现金处理,是否进行现金冠字号处理?\n是:立即提交\n否:等待下一笔业务提交") == System.Windows.MessageBoxResult.No)
222
-                    //    break;
223
-                    var key = this.TradeAPIs.ShowComfirmBox("本次交易存在现金处理,是否进行现金冠字号处理?\n", "立即提交", "等待下一笔业务提交", "该交易无点钞操作无需处理");
224
-                    if (key == 3) break;
225
-                    History.Add(this.Item);
226
-                    if (key != 1) break;
227
-
228
-                    //弹窗处理业务
229
-                    var guid = PageData.OpenTradePage(_action_, TradePageExtension.OpenOptions.Dialog, new Dictionary<string, object> { { "STATUS_CASHVIEWER", "init" }, }, null, "现金业务-冠字号管理");
230
-                    var status = (string)PageData.ViewStateData["STATUS_CASHVIEWER"];
231
-                    //已提交或取消,跳出循环
232
-                    if (status == "commit" || status == "cancel")
233
-                        break;
234
-                }
235
-            }
236
-        }
237
-        #endregion
238
-    }
239
-}

+ 0
- 23
ant-design-pro-vue3/src/views/front/develop/Constract/Entry/PrintEntry.cs Datei anzeigen

@@ -1,23 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Contract.ContractBase;
6
-
7
-namespace TellerSystem.Contract.Entry
8
-{
9
-    /// <summary>
10
-    /// 打印数据入口
11
-    /// </summary>
12
-    public abstract class PrintEntry : EntryBase
13
-    {
14
-        /// <summary>
15
-        /// 批量打印标志
16
-        /// </summary>
17
-        public bool IsBatchPrint { get; set; }
18
-        /// <summary>
19
-        /// 批量打印清单
20
-        /// </summary>
21
-        public List<Platform.Print.PrintContainer> BatchList { get; set; }
22
-    }
23
-}

+ 0
- 139
ant-design-pro-vue3/src/views/front/develop/Constract/Entry/PrintflowEntry.cs Datei anzeigen

@@ -1,139 +0,0 @@
1
-using System.Collections.Generic;
2
-using Platform.Library;
3
-using Platform.Print;
4
-using TellerSystem.Contract.ContractBase;
5
-using TellerSystem.Contract.Contracts;
6
-using TellerSystem.Library.Ext.Function;
7
-using System.Windows.Controls;
8
-using System.Windows.Controls.Primitives;
9
-using TellerSystem.Contract.Function;
10
-using TellerSystem.ServiceProxy.Ext.ServiceEntitys;
11
-using Platform.Common.RunningParameters;
12
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
13
-using System.Windows;
14
-using TellerSystem.Library.Ext.TradeExtension;
15
-using TellerSystem.PrintTemplate.Extension;
16
-using TellerSystem.PrintTemplate.PrintTemplateData;
17
-using System;
18
-using Platform.Common.LogSystem;
19
-using TellerSystem.Communication;
20
-using System.Text;
21
-using TellerSystem.Communication.SocketListener;
22
-using System.Linq;
23
-using TellerSystem.ServiceProxy.Ext.TradeBusinessEntitys;
24
-using TellerSystem.ServiceProxy.Ext;
25
-using System.Diagnostics;
26
-
27
-namespace TellerSystem.Contract.Entry
28
-{
29
-    /// <summary>
30
-    /// 打印逻辑入口
31
-    /// </summary>
32
-    public abstract class PrintflowEntry : EntryBase
33
-    {
34
-        #region 抽象方法
35
-        /// <summary>
36
-        /// 创建打印列表,抽象成交易自身定制
37
-        /// </summary>
38
-        /// <returns></returns>
39
-        public abstract List<PrintContainer> GeneratePrintList();
40
-
41
-        /// <summary>
42
-        /// 预处理过程
43
-        /// </summary>
44
-        /// <returns></returns>
45
-        public abstract bool PreviewPrintflow();
46
-        #endregion
47
-
48
-        protected override bool OnLoadData(bool changed)
49
-        {
50
-            //触发无纸化操作
51
-            return PageData.TradeAPIs.RaisePaperless(MessageData);
52
-        }
53
-
54
-        #region 控制
55
-        /// <summary>
56
-        /// 触发打印流程
57
-        /// </summary>
58
-        /// <param name="stash"></param>
59
-        /// <returns></returns>
60
-        internal bool RaisePrintflow(bool stash = true)
61
-        {
62
-            var flow = this;
63
-            var page = flow.PageData;
64
-            var message = flow.MessageData;
65
-            try
66
-            {
67
-                //stash数据
68
-                if (stash)
69
-                {
70
-                    if (!StashPrintData())
71
-                        return false;
72
-                }
73
-                //主流程执行,产生打印清单
74
-                var printList = flow.GeneratePrintList();
75
-                if (printList.Count == 0)
76
-                    return true;
77
-                return ContractManager.RaisePrint(page, message, printList);
78
-            }
79
-            catch (Exception ex)
80
-            {
81
-                page.TradeAPIs.ShowErrorMessageBox("RaisePrintflow:创建打印清单发生异常!\n" + ex.Message);
82
-                PlatformLogger.SystemErrorInfo("RaisePrintflow:创建打印清单发生异常!", ex);
83
-                return false;
84
-            }
85
-        }
86
-
87
-        /// <summary>
88
-        /// 存储页面打印信息,以系统流水作为key
89
-        /// </summary>
90
-        /// <returns></returns>
91
-        protected bool StashPrintData()
92
-        {
93
-            if (!this.PageData.CheckLoginStatus()) return false;
94
-            //触发存储,异步操作
95
-            StashPage();
96
-            //执行预处理
97
-            return PreviewPrintflow();
98
-        }
99
-
100
-        /// <summary>
101
-        /// 内部登记实现
102
-        /// </summary>
103
-        private void StashPage()
104
-        {
105
-            try
106
-            {
107
-                //开关检查
108
-                if (!ServiceSettings.IsRecordPrintData)
109
-                    return;
110
-                //存入到总线自定义项中
111
-                var id = PageData.TradeInfo.SystemSerialNumber;
112
-                var message = MessageData;
113
-                if (message != null)
114
-                {
115
-                    message.IsMainTrade = true;
116
-                    message.SerialNumber = id;
117
-                }
118
-                //流程对象存入到总线,方便后续恢复使用
119
-                PageData.TradeBus["PrintflowEntry"] = this.GetType().ToString();
120
-                //上送数据
121
-                var dll = Platform.Common.RunningParameters.PlatformSettings.PagesDirectory + @"\" + PageData.GetType().Assembly.GetName().Name + ".dll";
122
-                var fullName = PageData.GetType().ToString();
123
-                var printAttr = PageData.GetPrintAttributes();
124
-                string json = printAttr.Serialize();
125
-                string bus = Platform.ServiceProxy.CommonFunction.ChangeDicToStr((Dictionary<string, string>)PageData.GetTradeInfoData().TradeBus.Serialize());  //序列化总线数据
126
-                //异步触发,防止产生性能影响
127
-                new Action(() =>
128
-                {
129
-                    PrintManagerHandle.RecordPrintExt(id, dll, fullName, json, bus);
130
-                }).BeginInvoke(null, null);
131
-            }
132
-            catch (Exception ex)
133
-            {
134
-                PlatformLogger.SystemErrorInfo("StashPage:保存页面信息发生异常!", ex);
135
-            }
136
-        }
137
-        #endregion
138
-    }
139
-}

+ 0
- 213
ant-design-pro-vue3/src/views/front/develop/Constract/Entry/RecheckEntry.cs Datei anzeigen

@@ -1,213 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using TellerSystem.Contract.ContractBase;
6
-using TellerSystem.Communication;
7
-using TellerSystem.Library.Ext.TradeExtension;
8
-using Platform.Common.BasicFunctions;
9
-using Platform.Presentation.PagesHelper;
10
-using TellerSystem.Contract.Contracts;
11
-using TellerSystem.Contract.Function;
12
-
13
-namespace TellerSystem.Contract.Entry
14
-{
15
-    /// <summary>
16
-    /// 复核逻辑入口
17
-    /// </summary>
18
-    public class RecheckEntry : EntryBase
19
-    {
20
-        #region 构造
21
-        /// <summary>
22
-        /// 授权触发器,允许绑定权限编码
23
-        /// </summary>
24
-        /// <param name="powerCode"></param>
25
-        public RecheckEntry(string powerCode)
26
-        {
27
-            PowerCode = powerCode;
28
-        }
29
-        /// <summary>
30
-        /// 权限编号
31
-        /// </summary>
32
-        public string PowerCode { get; private set; }
33
-        #endregion
34
-
35
-        #region 事件
36
-        /// <summary>
37
-        /// 准备授权数据事件
38
-        /// </summary>
39
-        public event EventHandler<PreviewRecheckEventArgs> PreviewRecheck;
40
-        /// <summary>
41
-        /// 准备复核数据事件参数
42
-        /// </summary>
43
-        public class PreviewRecheckEventArgs : EventArgs
44
-        {
45
-            #region 构造
46
-            public PreviewRecheckEventArgs(PageBase page)
47
-            {
48
-                Page = page;
49
-            }
50
-            #endregion
51
-
52
-            #region 复核条件要素
53
-            /// <summary>
54
-            /// 账户
55
-            /// </summary>
56
-            public string Account { get; set; }
57
-            /// <summary>
58
-            /// 金额
59
-            /// </summary>
60
-            public decimal Amt { get; set; }
61
-            #endregion
62
-
63
-            #region 复核条件-核心要素
64
-            /// <summary>
65
-            /// 借方账号
66
-            /// </summary>
67
-            public string DeAccount { get; set; }
68
-            /// <summary>
69
-            /// 贷方账号
70
-            /// </summary>
71
-            public string CrAccount { get; set; }
72
-            /// <summary>
73
-            /// 单笔金额
74
-            /// </summary>
75
-            public decimal SinAmt { get; set; }
76
-            /// <summary>
77
-            /// 现转标志:1-现金 2-转账
78
-            /// </summary>
79
-            public string CTSigns { get; set; }
80
-            /// <summary>
81
-            /// 操作类型
82
-            /// </summary>
83
-            public string OperationType { get; set; }
84
-
85
-            /// <summary>
86
-            /// 借方账户序号
87
-            /// </summary>
88
-            public string DeAccountSeqn { get; set; }
89
-
90
-            #endregion
91
-
92
-            #region 查询要素
93
-            /// <summary>
94
-            /// 登记账号
95
-            /// </summary>
96
-            public string EnrollAccount { get; set; }
97
-            /// <summary>
98
-            /// 登记账号户名
99
-            /// </summary>
100
-            public string EnrollAccountName { get; set; }
101
-            /// <summary>
102
-            /// 登记发生金额
103
-            /// </summary>
104
-            public decimal EnrollAmt { get; set; }
105
-            /// <summary>
106
-            /// 登记授权描述
107
-            /// </summary>
108
-            public string EnrollDescription { get; set; }
109
-            #endregion
110
-
111
-            #region 其他元素
112
-            /// <summary>
113
-            /// 检阅复核页面,若缺失则采集当前页面快照
114
-            /// </summary>
115
-            public List<byte[]> CustomizePages { get; private set; }
116
-            /// <summary>
117
-            /// 检阅复核报文,若缺失则根据系统环境决定
118
-            /// </summary>
119
-            public Message CustomizeMessage { get; set; }
120
-            /// <summary>
121
-            /// 当前页面元素
122
-            /// </summary>
123
-            public PageBase Page { get; private set; }
124
-            #endregion
125
-        }
126
-        #endregion
127
-
128
-        #region 逻辑
129
-        /// <summary>
130
-        /// 执行复核操作
131
-        /// </summary>
132
-        /// <returns></returns>
133
-        public bool RaiseRecheck()
134
-        {
135
-            if (PreviewRecheck == null) return false;
136
-            var args = new PreviewRecheckEventArgs(PageData);
137
-            PreviewRecheck(PageData, args);
138
-            //获取内部授权要素
139
-            var recheckCondition = PageData.TradeAPIs.GetCheckElement(args);
140
-            if (recheckCondition == null)
141
-            {
142
-                return false;
143
-            }
144
-            recheckCondition.LegalPerson = LoginAuthentication.Instance.GroupKinbrNo;
145
-            CheckManager c = new CheckManager();
146
-            c.AsksuperResultMessage += (result, dataBus) =>
147
-                {
148
-                    //TODO:具体处理方案
149
-                    switch (result)
150
-                    {
151
-                        case AsksuperResultType.Success:
152
-                            IRecheckContract irc = args.Page as IRecheckContract;
153
-                            //执行提交部分授权检测
154
-                            TradeModel trademodel = PageHelper.GetTradeModel(PageData);
155
-                            //判断是否配置授权标志
156
-                            if (trademodel.Metadata != null && ((Dictionary<string, string>)trademodel.Metadata).ContainsKey("isAuth"))
157
-                            {
158
-                                string isauth = string.Empty;
159
-                                ((Dictionary<string, string>)trademodel.Metadata).TryGetValue("isAuth", out isauth);
160
-                                //如果配置授权标志为true,则调用授权检查
161
-                                if (isauth.Equals("true"))
162
-                                {
163
-                                    if (PageData is IAuthorizeContract)
164
-                                    {
165
-                                        var contract = PageData as IAuthorizeContract;
166
-                                        if (contract == null)
167
-                                        {
168
-                                            args.Page.TradeAPIs.ShowInfoMessageBox("复核已通过,在下一步检查授权时出错,请检查");
169
-                                            break;
170
-                                        }
171
-                                        if (contract.AuthorizeEntries == null || contract.AuthorizeEntries.Count == 0)
172
-                                        {
173
-                                            args.Page.TradeAPIs.ShowInfoMessageBox("复核已通过,在下一步检查授权时出错,请检查");
174
-                                            break;
175
-                                        }
176
-                                        var entry = contract.AuthorizeEntries.Find(x => { return x.PowerCode == "0"; });
177
-                                        if (entry == null)
178
-                                        {
179
-                                            args.Page.TradeAPIs.ShowInfoMessageBox("复核已通过,在下一步检查授权时出错,请检查");
180
-                                            break;
181
-                                        }
182
-                                        entry.LoadData(irc.RecheckEntries[0].PageData, irc.RecheckEntries[0].MessageData);
183
-                                        args.Page.TradeAPIs.ShowInfoMessageBox("复核已通过,将做下一步授权检查");
184
-                                        if (!entry.RaiseAuthorize()) //需要授权
185
-                                        {
186
-                                            break;
187
-                                        }
188
-                                    }
189
-                                }
190
-                            }
191
-                            else
192
-                            {
193
-                                args.Page.TradeAPIs.ShowInfoMessageBox("复核已经通过,将提交交易");
194
-                            }
195
-                            var submit = (args.Page as ISubmitContract);
196
-                            submit.SubmitEntry.LoadData(irc.RecheckEntries[0].PageData, irc.RecheckEntries[0].MessageData);
197
-                            submit.SubmitEntry.RaiseSubmit();
198
-                            break;
199
-                        case AsksuperResultType.Failed:
200
-                            args.Page.TradeAPIs.ShowInfoMessageBox("复核没有通过");
201
-                            break;
202
-                        case AsksuperResultType.Undo:
203
-                            args.Page.TradeAPIs.ShowInfoMessageBox("复核没已取消");
204
-                            break;
205
-                        default:
206
-                            break;
207
-                    }
208
-                };
209
-            return c.DoSuper(PageData, recheckCondition, args.CustomizeMessage ?? MessageData, PowerCode, args.EnrollAccount, double.Parse(args.EnrollAmt.ToString()), args.EnrollAccountName, args.EnrollDescription);
210
-        }
211
-        #endregion
212
-    }
213
-}

+ 0
- 468
ant-design-pro-vue3/src/views/front/develop/Constract/Entry/SubmitEntry.cs Datei anzeigen

@@ -1,468 +0,0 @@
1
-using System.Collections.Generic;
2
-using Platform.Library;
3
-using Platform.Print;
4
-using TellerSystem.Contract.ContractBase;
5
-using TellerSystem.Contract.Contracts;
6
-using TellerSystem.Library.Ext.Function;
7
-using System.Windows.Controls;
8
-using System.Windows.Controls.Primitives;
9
-using TellerSystem.Contract.Function;
10
-using TellerSystem.ServiceProxy.Ext.ServiceEntitys;
11
-using Platform.Common.RunningParameters;
12
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
13
-using System.Windows;
14
-using TellerSystem.Library.Ext.TradeExtension;
15
-using TellerSystem.PrintTemplate.Extension;
16
-using TellerSystem.PrintTemplate.PrintTemplateData;
17
-using System;
18
-using Platform.Common.LogSystem;
19
-using TellerSystem.Communication;
20
-using System.Text;
21
-using TellerSystem.Communication.SocketListener;
22
-using System.Linq;
23
-using TellerSystem.ServiceProxy.Ext.TradeBusinessEntitys;
24
-using TellerSystem.ServiceProxy.Ext;
25
-using System.Diagnostics;
26
-using System.Text.RegularExpressions;
27
-
28
-namespace TellerSystem.Contract.Entry
29
-{
30
-    /// <summary>
31
-    ///     提交逻辑入口
32
-    /// </summary>
33
-    public abstract class SubmitEntry : PrintflowEntry
34
-    {
35
-        #region 控制
36
-        /// <summary>
37
-        /// 提交标识,当提交成功后将变为true
38
-        /// </summary>
39
-        public bool Submitted { get; private set; }
40
-
41
-        /// <summary>
42
-        ///     是否自定义检测通讯返包
43
-        /// </summary>
44
-        public bool IsCustomizeVerify { get; protected set; }
45
-
46
-        /// <summary>
47
-        ///     自动检测通讯返包
48
-        /// </summary>
49
-        /// <returns></returns>
50
-        private bool AutoVerify()
51
-        {
52
-            //定制通讯失败情况下的通知方式
53
-            if (MessageData.Fd12 != "0000")
54
-            {
55
-                PageData.TradeAPIs.ShowErrorMessageBox(PageData.GetError(MessageData));
56
-                return false;
57
-            }
58
-            return true;
59
-        }
60
-
61
-        #endregion
62
-
63
-        #region 公开方法
64
-
65
-        /// <summary>
66
-        ///     执行提交流程
67
-        /// </summary>
68
-        /// <returns></returns>
69
-        public bool RaiseSubmit()
70
-        {
71
-            //条件检测
72
-            if (MessageData == null || PageData == null || Submitted) return false;
73
-            //填充公共数据
74
-            var SerialNumber = PageData.CreateSerialNumber();
75
-            if (string.IsNullOrWhiteSpace(SerialNumber))//校验前端流水是否产生
76
-            {
77
-                return false;
78
-            }
79
-            if (SerialNumber.Length > 8)
80
-            {
81
-                MessageData.Fd96_Q = SerialNumber.Substring(8);
82
-            }
83
-            AuthDataHelper authdata = new AuthDataHelper(PageData);
84
-            CheckDataHelper checkdata = new CheckDataHelper(PageData);
85
-            if (!string.IsNullOrEmpty(checkdata.SuperTeller)) //复核柜员
86
-            {
87
-                MessageData.Fd8 = checkdata.SuperTeller;
88
-            }
89
-            if (!string.IsNullOrEmpty(authdata.AuthTeller)) //授权柜员
90
-            {
91
-                MessageData.Fd9_1 = authdata.AuthTeller;
92
-            }
93
-            //核心需要记录交易号
94
-            MessageData.Fd14 = PageData.TradeModel.Code;
95
-
96
-            #region 考试系统相关begin
97
-            //考试系统相关:存储发送报文,用于后面发送至考试系统
98
-            string SendMessage = string.Empty;
99
-            if (ExamSystem.Instance.InExamMode)
100
-                SendMessage = ExamSystem.Instance.KGetMessageString(MessageData, "发送");
101
-            #endregion 考试系统相关end
102
-
103
-            //设定通讯流水,用于登记报文。通讯完毕后解除,防止重复登记
104
-            MessageData.SerialNumber = this.TradeInfo.SystemSerialNumber;
105
-            //登记打印数据
106
-            if (!this.StashPrintData())
107
-                return false;
108
-            //执行通讯操作
109
-            var flag = PageData.DoTransit(MessageData);
110
-            MessageData.SerialNumber = string.Empty;
111
-            //if (!flag)
112
-            //{
113
-            //    MessageBoxResult result = this.TradeAPIs.ShowWarnMessageBox("提交交易不成功, 为了避免重复提交\n请查看该笔业务流程是否已经完成!");
114
-            //    PlatformLogger.TradeInfo("提交交易不成功,为了避免重复提交</n>请主动去查看该笔业务流程是否已经完成!\n前端流水号:" + SerialNumber + "\n操作柜员:" + MessageData.Fd7);
115
-            //    TradeHandle.WriteImportantLog(SerialNumber + "提交交易无法确认状态", "通讯返回false,请检查网络", this.PageData.TradeModel.Code, "RaiseSubmit", "1", string.Join(",", SocketManager.GetLocalIpAddressList()));
116
-            //    this.PageData.Close();
117
-            //    return false;
118
-            //}
119
-            #region 考试系统相关begin
120
-            //将通讯返回的Message对象进行处理后,发送至考试系统
121
-            string ReceiveMessage = string.Empty;
122
-            if (ExamSystem.Instance.InExamMode)
123
-            {
124
-                ReceiveMessage = ExamSystem.Instance.KGetMessageString(MessageData, "返回");
125
-                ExamSystem.Instance.SendExamData(SendMessage, ReceiveMessage, this.TradeInfo.TradeCode, this.TradeInfo.SystemSerialNumber ?? string.Empty);
126
-            }
127
-            #endregion 考试系统相关end
128
-
129
-            //通讯成功后,进行结果判定
130
-            //通讯之后的逻辑,务必保证正常出票
131
-            if (IsCustomizeVerify)
132
-            {
133
-                if (!SubmitComplete())
134
-                    return false;
135
-            }
136
-            else
137
-            {
138
-                if (!flag)
139
-                {
140
-                    MessageBoxResult result = this.TradeAPIs.ShowWarnMessageBox("提交交易不成功, 为了避免重复提交\n请查看该笔业务流程是否已经完成!");
141
-                    PlatformLogger.TradeInfo("提交交易不成功,为了避免重复提交</n>请主动去查看该笔业务流程是否已经完成!\n前端流水号:" + SerialNumber + "\n操作柜员:" + MessageData.Fd7);
142
-                    TradeHandle.WriteImportantLog(SerialNumber + "提交交易无法确认状态", "通讯返回false,请检查网络", this.PageData.TradeModel.Code, "RaiseSubmit", "1", string.Join(",", SocketManager.GetLocalIpAddressList()));
143
-                    this.PageData.Close();
144
-                    return false;
145
-                }
146
-                if (!AutoVerify()) return false;
147
-                try
148
-                {
149
-                    SubmitComplete();
150
-                }
151
-                catch (Exception ex)
152
-                {
153
-                    PlatformLogger.SystemErrorInfo("SubmitEntry.RaiseSubmit方法,执行SubmitComplete发生异常!", ex);
154
-                }
155
-            }
156
-            try
157
-            {
158
-                //标识:交易已经提交完毕
159
-                if (!Regex.IsMatch(PageData.TradeInfo.TradeCode, ServiceProxy.Ext.ServiceSettings.GetConfig("SkipFlagSubmitted", "none")))
160
-                    Submitted = true;
161
-                //异常补打相关的资料上总线
162
-                PageData.TradeBus.RecvMessage = MessageData;
163
-                PageData.TradeBus.PageAction = PageData.GetType().ToString();
164
-                //异步提交交易记录
165
-                UploadData();
166
-                //插入柜员流水
167
-                //if (!string.IsNullOrWhiteSpace(MessageData.Fd4))
168
-                //{
169
-                //    PageData.CreateTellerSerialNumber(PageData.GetPrintAttributes().SystemSerialNumber);
170
-                //}
171
-                //回显界面
172
-                RaiseCallbackDescription();
173
-                this.PageData.PagePrinted += PageData_PagePrinted;
174
-                //交易执行成功,执行打印流程
175
-                RaisePrint();
176
-            }
177
-            catch (Exception ex)
178
-            {
179
-                this.TradeAPIs.ShowInfoMessageBox(string.Format("提交交易成功,解析返回数据出错,错误信息:\n{0}", ex.Message));
180
-                var msgLog = GetMessageString(MessageData);
181
-                PlatformLogger.SystemErrorInfo("提交交易成功,解析返回数据出错\n***************************************************\n" + msgLog + "\n", ex);
182
-                TradeHandle.WriteImportantLog(SerialNumber + "提交交易成功,解析返回数据出错", ex.Message + "\n" + ex.StackTrace, this.PageData.TradeModel.Code, "RaiseSubmit", "1", string.Join(",", SocketManager.GetLocalIpAddressList()));
183
-            }
184
-
185
-            ////执行后续操作
186
-            //Finally();
187
-            PageData_PagePrinted(null, null);//补偿一次,存在未触发的bug场景。原因未知,目前观测某些情况下动态调用未正常执行
188
-            //交易完成,清理
189
-            TradeCompleted();
190
-            //清除总线上授权柜员与复核柜员
191
-            authdata.AuthTeller = string.Empty;
192
-            authdata.AuthTeller2 = string.Empty;
193
-            checkdata.SuperTeller = string.Empty;
194
-            PageData.ClearSerialNumber();
195
-            //清除柜员流水
196
-            TradeInfoData.GetTradeInfo(PageData).SerialNumber = string.Empty;
197
-            return true;
198
-        }
199
-        private bool flag2Fina11y = false;
200
-        void PageData_PagePrinted(object sender, EventArgs e)
201
-        {
202
-            this.PageData.Log2PagePrinted("触发rinally" + flag2Fina11y);
203
-            this.PageData.PagePrinted -= PageData_PagePrinted;
204
-            if (flag2Fina11y) return;//不允许重复触发
205
-            flag2Fina11y = true;
206
-            Finally();
207
-        }
208
-
209
-        /// <summary>
210
-        /// 根据Message对象获取对于域的值
211
-        /// </summary>
212
-        /// <param name="msg">Message对象</param>
213
-        /// <returns>对于域的值</returns>
214
-        private string GetMessageString(Message msg)
215
-        {
216
-            System.Reflection.PropertyInfo[] info = msg.GetType().GetProperties();
217
-            StringBuilder strText = new StringBuilder(1000);
218
-            for (int i = 0; i < info.Length; i++)
219
-            {
220
-                if (info[i].Name.StartsWith("Fd"))
221
-                {
222
-                    var val = info[i].GetValue(msg, null).ToString().Trim().Replace("\r", "").Replace("\n", "");
223
-                    if (!string.IsNullOrWhiteSpace(val))
224
-                    {
225
-                        strText.Append("[" + info[i].Name + "=" + val + "]");
226
-                        strText.AppendLine();
227
-                    }
228
-                }
229
-            }
230
-            return strText.ToString();
231
-        }
232
-        private void UploadData()
233
-        {
234
-            try
235
-            {
236
-                //组装数据
237
-                var tradeInfo = new TellerInfo
238
-                {
239
-                    TellerNo = LoginUserInfo.TellerNo,
240
-                    TradeNo = PageData.TradeModel.Code,
241
-                    Tlrlvl = "",
242
-                    BrNo = LoginUserInfo.KinbrNo,
243
-                    Status = 1,      //默认为1,标明该流程为正常结束
244
-                    BlackSerialNo2 = (MessageData.CustomizeTransitEntry != null && !string.IsNullOrEmpty(MessageData.CustomizeTransitEntry.SerialNo))
245
-                        ? MessageData.CustomizeTransitEntry.SerialNo : MessageData.Fd126_1,//存在自定义流水号时加载
246
-                    BlackSerialNo = MessageData.Fd4,
247
-                    TradeFileName = this.GetType().FullName,
248
-                    BusinessDate = LoginUserInfo.TradeDate
249
-                };
250
-                //如果有授权柜员或复合柜员,则需保存交易页面数据
251
-                AuthDataHelper authdata = new AuthDataHelper(PageData);
252
-                CheckDataHelper checkdata = new CheckDataHelper(PageData);
253
-                byte[] pagedata = new byte[0];
254
-                if (!string.IsNullOrEmpty(checkdata.SuperTeller) || !string.IsNullOrEmpty(authdata.AuthTeller))
255
-                {
256
-                    pagedata = PageData.SaveTradePage((FrameworkElement)(PageData.Content));
257
-                }
258
-                var tradeBus = (Dictionary<string, string>)TradeInfoData.GetTradeInfo(PageData as DependencyObject).TradeBus.Serialize();
259
-                var serialNumber = PageData.CreateSerialNumber();
260
-                //异步提交
261
-                Action action = () =>
262
-                {
263
-                    PlatformLogger.SystemInfo("UploadData:Raise=>" + serialNumber);
264
-                    //提交工作流,返回柜员流水号
265
-                    WorkFlowHandle.GetWorkFlowTradeSubmit(
266
-                                         tradeInfo, pagedata, tradeBus, "", serialNumber, false, true);
267
-                };
268
-                action.BeginInvoke(new AsyncCallback(x =>
269
-                {
270
-                    try
271
-                    {
272
-                        action.EndInvoke(x);
273
-                    }
274
-                    catch (Exception e)
275
-                    {
276
-                        TradeHandle.WriteImportantLog("UploadData", e.Message + "\n" + e.StackTrace, "GetWorkFlowTradeSubmitException", "0", string.Join(",", SocketManager.GetLocalIpAddressList()));
277
-                    }
278
-                }), null);
279
-            }
280
-            catch (Exception ex)
281
-            {
282
-                PlatformLogger.SystemErrorInfo("SubmitEntry.UploadData方法,上载交易数据发生异常!", ex);
283
-            }
284
-        }
285
-
286
-        private void RaiseCallbackDescription()
287
-        {
288
-            //回显要素
289
-            Dictionary<string, string> displayDesc = null;
290
-            try
291
-            {
292
-                displayDesc = CreateDisplayDescription();
293
-            }
294
-            catch (Exception ex)
295
-            {
296
-                PlatformLogger.SystemErrorInfo("SubmitEntry.RaiseCallbackDescription方法,创建回显要素集合发生异常!", ex);
297
-            }
298
-            if (displayDesc == null)
299
-            {
300
-                TradeAPIs.ShowSuccessMessageBox();
301
-            }
302
-            else
303
-            {
304
-                var wrap = new WrapPanel();
305
-                foreach (var item in displayDesc)
306
-                {
307
-                    wrap.Children.Add(new BulletDecorator
308
-                    {
309
-                        MinWidth = 350,
310
-                        VerticalAlignment = System.Windows.VerticalAlignment.Center,
311
-                        HorizontalAlignment = System.Windows.HorizontalAlignment.Center,
312
-                        Bullet = new TextBlock
313
-                        {
314
-                            VerticalAlignment = System.Windows.VerticalAlignment.Center,
315
-                            HorizontalAlignment = System.Windows.HorizontalAlignment.Right,
316
-                            Text = item.Key + ":"
317
-                        },
318
-                        Child = new TextBlock
319
-                        {
320
-                            VerticalAlignment = System.Windows.VerticalAlignment.Center,
321
-                            HorizontalAlignment = System.Windows.HorizontalAlignment.Left,
322
-                            Text = item.Value
323
-                        }
324
-                    });
325
-                }
326
-                TradeAPIs.ShowSuccessMessageBox(wrap);
327
-            }
328
-        }
329
-
330
-        /// <summary>
331
-        ///     执行打印流程
332
-        /// </summary>
333
-        /// <returns></returns>
334
-        public bool RaisePrint()
335
-        {
336
-            //采用新的打印流程化,暂只对提交约束页面有效
337
-            if (PageData is ISubmitContract)
338
-                return this.RaisePrintflow(false);//前置流程已经执行stash
339
-            //产生打印清单
340
-            List<PrintContainer> printList = null;
341
-            try
342
-            {
343
-                if (!CreatePrintList(out printList))
344
-                    TradeHandle.WriteImportantLog("SubmitEntry.RaisePrint方法,调用CreatePrintList方法失败!", this.MessageData.FileData, this.PageData.TradeModel.Code, "RaiseSubmit", "5", string.Join(",", SocketManager.GetLocalIpAddressList()));
345
-            }
346
-            catch (Exception ex)
347
-            {
348
-                PlatformLogger.SystemErrorInfo("SubmitEntry.RaisePrint方法,调用CreatePrintList方法发生异常!", ex);
349
-                //提示一下
350
-                PageData.ShowErrorMessageBox("产生凭证打印清单失败!请检查完整性...");
351
-                TradeHandle.WriteImportantLog("SubmitEntry.RaisePrint方法,调用CreatePrintList方法发生异常!", ex.Message + "\n" + ex.StackTrace, this.PageData.TradeModel.Code, "RaiseSubmit", "5", string.Join(",", SocketManager.GetLocalIpAddressList()));
352
-            }
353
-            if (printList == null)
354
-                printList = new List<PrintContainer>();
355
-            printList.AddRange(MorePrintList);
356
-            if (printList.Count == 0)
357
-                return true;
358
-            return ContractManager.RaisePrint(PageData, MessageData, printList);
359
-        }
360
-
361
-        private List<PrintContainer> _morePrintList = new List<PrintContainer>();
362
-
363
-        /// <summary>
364
-        /// 更多的打印数据
365
-        /// </summary>
366
-        public List<PrintContainer> MorePrintList
367
-        {
368
-            get { return _morePrintList; }
369
-        }
370
-        #endregion
371
-
372
-        #region 抽象方法
373
-
374
-        /// <summary>
375
-        ///     提交完毕,并验证结果
376
-        /// </summary>
377
-        /// <returns></returns>
378
-        public abstract bool SubmitComplete();
379
-
380
-        /// <summary>
381
-        ///     流程处理结束,执行后续操作
382
-        /// </summary>
383
-        /// <returns></returns>
384
-        public abstract bool Finally();
385
-
386
-        /// <summary>
387
-        ///     创建打印列表,抽象成交易自身定制
388
-        /// </summary>
389
-        /// <returns></returns>
390
-        public abstract bool CreatePrintList(out List<PrintContainer> printList);
391
-        #endregion
392
-
393
-        #region 虚方法
394
-        /// <summary>
395
-        /// 创建回显要素集合
396
-        /// </summary>
397
-        /// <returns></returns>
398
-        public virtual Dictionary<string, string> CreateDisplayDescription()
399
-        {
400
-            return null;
401
-        }
402
-
403
-        /// <summary>
404
-        /// 提交交易计数器
405
-        /// </summary>
406
-        private static int _counter = 0;
407
-
408
-        /// <summary>
409
-        /// 交易完毕,执行清理工作
410
-        /// </summary>
411
-        public virtual bool TradeCompleted()
412
-        {
413
-            //执行固定次数交易后,做一次打印进程清理,避免进程使用太久导致内存溢出
414
-            _counter++;
415
-            if (_counter % ServiceSettings.GetConfig("PrinterLoop", 99999) == 0)
416
-            {
417
-                Process.GetProcessesByName("Platform.PrintService").ToList().ForEach(p =>
418
-                {
419
-                    try
420
-                    {
421
-                        p.Kill();
422
-                    }
423
-                    catch { }
424
-                });
425
-                System.Threading.Thread.Sleep(500);
426
-            }
427
-            //交易完成,默认采用关闭交易动作
428
-            if (string.Compare(PageData.TradeAPIs.GetTradeMetadata("isClosePage"), "true", true) == 0)
429
-            {
430
-                PageData.OpenPage(PageData.TradeModel.Action, null);
431
-            }
432
-            else
433
-            {
434
-                PageData.Close();
435
-            }
436
-            //PageData.Close();
437
-            return true;
438
-        }
439
-        #endregion
440
-
441
-        public override List<PrintContainer> GeneratePrintList()
442
-        {
443
-            List<PrintContainer> printList = null;
444
-            try
445
-            {
446
-                var message = this.MessageData;
447
-                if (!CreatePrintList(out printList))
448
-                    TradeHandle.WriteImportantLog("SubmitEntry.RaisePrint方法,调用CreatePrintList方法失败!", message.FileData, this.PageData.TradeModel.Code, "RaiseSubmit", "5", string.Join(",", SocketManager.GetLocalIpAddressList()));
449
-            }
450
-            catch (Exception ex)
451
-            {
452
-                PlatformLogger.SystemErrorInfo("SubmitEntry.RaisePrint方法,调用CreatePrintList方法发生异常!", ex);
453
-                //提示一下
454
-                this.TradeAPIs.ShowErrorMessageBox("产生凭证打印清单失败!请检查完整性...");
455
-                TradeHandle.WriteImportantLog("SubmitEntry.RaisePrint方法,调用CreatePrintList方法发生异常!", ex.Message + "\n" + ex.StackTrace, this.PageData.TradeModel.Code, "RaiseSubmit", "5", string.Join(",", SocketManager.GetLocalIpAddressList()));
456
-            }
457
-            if (printList == null)
458
-                printList = new List<PrintContainer>();
459
-            printList.AddRange(MorePrintList);
460
-            return printList;
461
-        }
462
-
463
-        public override bool PreviewPrintflow()
464
-        {
465
-            return true;
466
-        }
467
-    }
468
-}

+ 0
- 956
ant-design-pro-vue3/src/views/front/develop/Constract/Extend/Reconciles.cs Datei anzeigen

@@ -1,956 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Text;
5
-using System.Data;
6
-using TellerSystem.Communication;
7
-using Platform.Common.RunningParameters;
8
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
9
-using System.IO;
10
-using System.Windows;
11
-using TellerSystem.Library.Ext.Function;
12
-using Newtonsoft.Json.Linq;
13
-using TellerSystem.Library.Ext.TradeExtension;
14
-using Newtonsoft.Json;
15
-using TellerSystem.Contract.Function;
16
-using TellerSystem.ServiceProxy.Ext;
17
-using TellerSystem.Contract.ContractBase;
18
-using ICSharpCode.SharpZipLib.Zip;
19
-using ICSharpCode.SharpZipLib.Checksums;
20
-using System.Text.RegularExpressions;
21
-
22
-namespace TellerSystem.Contract.Extend
23
-{
24
-    public class Reconciles
25
-    {
26
-        #region Ctor
27
-        private Reconciles()
28
-        {
29
-        }
30
-
31
-        private static Reconciles instance;
32
-
33
-        public static Reconciles Instance
34
-        {
35
-            get
36
-            {
37
-                if (instance == null)
38
-                    instance = new Reconciles();
39
-                return instance;
40
-            }
41
-        }
42
-        #endregion
43
-
44
-        //文件分割符
45
-        string Separator = "^|";
46
-
47
-
48
-        #region Query
49
-        /// <summary>
50
-        /// 查询机构同步的最新记录
51
-        /// </summary>
52
-        /// <returns></returns>
53
-        public List<Dictionary<string, string>> QuerySyncInfo()
54
-        {
55
-            var resp = AICapacity.GetInstence().AIRequest("/recon/manage/syncInfo", new Dictionary<string, string> { });
56
-            if (resp.HasError)
57
-                return null;
58
-            return resp.Value<List<Dictionary<string, string>>>("data", null);
59
-        }
60
-
61
-        public bool SyncData2Branch(string branch, Action<Tuple<int, string>> report)
62
-        {
63
-            var list = QuerySyncInfo();
64
-            if (list == null) return false;
65
-            var info = list.FirstOrDefault(x => x["branch"] == branch);
66
-            if (info == null) return false;
67
-            //网银同步任务
68
-            if (string.IsNullOrEmpty(info["ext"])) info["ext"] = "{}";
69
-            var ext = JsonConvert.DeserializeObject<Dictionary<string, string>>(info["ext"]);
70
-            return Work2Daily(branch, ext.ContainsKey("sync2netbank") ? ext["sync2netbank"] : "");
71
-            //采用同步ODS数据进行数据同步,弃用柜面的数据同步功能
72
-            //上传任务 status 0-可同步,1-上传完成,2-解析,21-解析出错,3-对账,31-对账出错,4-完结
73
-            //if (info["status"] != "0") return false;//状态允许上传时,才触发 
74
-            //return Work2Monthly(branch, info["syncIssue"]);
75
-        }
76
-        #endregion
77
-
78
-        #region Monthly
79
-        #region Dict
80
-        private static Dictionary<string, string> _ID_TYPE_ = new Dictionary<string, string>
81
-        {
82
-            {"1","身份证"},
83
-            {"2","户口簿"},
84
-            {"3","护照"},
85
-            {"4","军人证"},
86
-            {"5","回乡证"},
87
-            {"6","士兵证"},
88
-            {"7","港澳居民来往通行证"},
89
-            {"8","企业代码证"},
90
-            {"9","经营许可证"},
91
-            {"A","营业执照"},
92
-            {"B","事业法人证书 "},
93
-            {"C","工商核准号"},
94
-            {"D","其他(对公)"},
95
-            {"E","临时身份证"},
96
-            {"F","外国人居留证 "},
97
-            {"G","警官证"},
98
-            {"H","其他证件(对私)"},
99
-            {"I","台湾同胞来往通行证"},
100
-            {"J","军官证"},
101
-            {"K","文职干部证"},
102
-            {"L","军官退休证"},
103
-            {"M","文职干部退休证"},
104
-            {"N","武警身份证"},
105
-            {"O","武警士兵证"},
106
-            {"P","武警文职干部证"},
107
-            {"Q","武警军官退休证"},
108
-            {"R","武警文职干部退休证"},
109
-            {"S","机构信用代码证"},
110
-            {"T","贷款卡"},
111
-        };
112
-
113
-        private static Dictionary<string, string> _COP_SIZE_ = new Dictionary<string, string>
114
-        {
115
-            //{"1","身份证"},
116
-            {"2","大型企业"},
117
-            {"3","中型企业"},
118
-            {"4","小型企业"},
119
-            {"5","微型企业"},
120
-            {"6","小型企业"},
121
-            {"9","其他"},
122
-        };
123
-
124
-        private static Dictionary<string, string> _DD_TYPE_ = new Dictionary<string, string>
125
-        {
126
-            {"1","基本户"},
127
-            {"2","一般户"},
128
-            {"3","专用存款户"},
129
-            {"4","临时存款户"},
130
-            {"5","个人存款户(储蓄户)"},
131
-            {"6","协定(理财)户"},
132
-            {"7","公积金活期户(个人)"},
133
-            {"8","验证户"},
134
-        };
135
-
136
-        private static Dictionary<string, string> _TD_TYPE_ = new Dictionary<string, string>
137
-        {
138
-            {"0","整存整取"},
139
-            {"1","零存整取"},
140
-            {"2","整存零取"},
141
-            {"3","存本取息"},
142
-            {"4","通知存款"},
143
-            {"5","协议存款"},
144
-            {"6","定活两便"},
145
-            {"7","教育储蓄"},
146
-            {"A","利润最大化通知存款"},
147
-        };
148
-
149
-        private static Dictionary<string, string> _LN_TYPE_ = new Dictionary<string, string>
150
-        {
151
-            {"1","普通贷款"},
152
-            {"2","按揭贷款"},
153
-            {"5","承兑垫款"},
154
-            {"7","委托贷款"},
155
-            {"9","贴现"},
156
-            {"A","授信贷款"},
157
-            {"B","卡内融资、质押消费贷款"},
158
-            {"C","银/社团贷款"},
159
-        };
160
-
161
-        private static Dictionary<string, string> _AC_STS_ = new Dictionary<string, string>
162
-        {
163
-            {"0","开户待确认"},
164
-            {"1","正常"},
165
-            //{"2",""},
166
-            {"3","挂失结清"},
167
-            {"4","开户更正"},
168
-            {"5","临时销户"},
169
-            {"6","久悬"},
170
-            {"7","销户申请零余额"},
171
-            {"8","销户申请"},
172
-            {"9","挂失销户"},
173
-            {"*","销户"},
174
-            {"#","未激活"},
175
-            {"A","损坏卡更换介质申请"},
176
-        };
177
-
178
-        private static Dictionary<string, string> _LN_STS_ = new Dictionary<string, string>
179
-        {
180
-            {"1","正常"},
181
-            {"2","逾期90天内"},
182
-            {"3","呆滞"},
183
-            {"4","呆账"},
184
-            {"5","逾期90天外"},
185
-            {"8","开户未审核"},
186
-            {"9","开户撤销"},
187
-            {"*","销户"},
188
-            {"#","已出表"},
189
-        };
190
-
191
-        private static Dictionary<string, string> _CUR_NO_ = new Dictionary<string, string>
192
-        {
193
-            {"01","人民币"},
194
-        };
195
-
196
-        private static Dictionary<string, string> _CT_IND_ = new Dictionary<string, string>
197
-        {
198
-            {"1","现金"},
199
-            {"2","转账"},
200
-        };
201
-        #endregion
202
-
203
-        private string Chg2Dict(string key, Dictionary<string, string> dict)
204
-        {
205
-            //不做翻译
206
-            return key;
207
-            if (dict == null || !dict.ContainsKey(key)) return key;
208
-            return dict[key];
209
-        }
210
-
211
-        /// <summary>
212
-        /// 同步机构数据
213
-        /// </summary>
214
-        /// <param name="kinbr"></param>
215
-        /// <param name="report"></param>
216
-        /// <returns></returns>
217
-        private bool Work2Monthly(string branch, string last)
218
-        {
219
-            var current = last.ToDateTime();//上次同步截止日
220
-            var sdate = current.AddDays(1).ToString("yyyyMMdd");//设定开始日
221
-            var edate = LoginUserInfo.TradeDate.ToDateTime().AddDays(-1).ToString("yyyyMMdd");//截止到昨日
222
-            if (string.Compare(edate, sdate) < 0) return false;//截止日必须大约开始日
223
-            var regex_phone = new Regex("^1[3-9]{1}[0-9]{9}$");
224
-            //数据载体
225
-            var data = new List<Tuple<Dictionary<string, string>, List<Account>>>();
226
-            //公共 
227
-            var cif_basic_inf = Table("cif_basic_inf", " \"TYPE\" ='2' AND FILLER1 = '" + branch + "'");//客户基本信息
228
-            var cif = string.Format(cif_basic_inf.Namespace, "CIF_NO");
229
-            var add_info = Table("add_info", "INFO_TYPE ='1'");//联系人表
230
-            var cif_cop_inf = Table("cif_cop_inf", "CIF_NO in (" + cif + ")");//对公客户信息表
231
-            var cif_id_code_rel = Table("cif_id_code_rel", "CIF_NO in (" + cif + ")");//客户主证件信息表  //MAIN_FLAG ='1' and   去掉获取主证件的类型
232
-            var cif_mger_rel = Table("cif_mger_rel", "CIF_NO in (" + cif + ") and STAT = '1'");//客户经理关系
233
-            var note_parm = Table("note_parm", "1=1", new List<string> { "NOTE_TYPE", "NAME" }).Select().ToDictionary(x => x["NOTE_TYPE"].ToString(), x => x["NAME"].ToString());//凭证类型
234
-            var prdt_acc_no = Table("prdt_acc_no", "DATA_CODE = '0152'");//科目和产品关系信息表
235
-            var acc_no = string.Format(prdt_acc_no.Namespace, "ACC_NO");
236
-
237
-            var com_item = Table("com_item", "ACC_NO in (" + acc_no + ")"); //科目名称
238
-            foreach (DataRow row in cif_basic_inf.Rows)//装载客户信息
239
-            {
240
-                var cifcopinf = cif_cop_inf.Select("CIF_NO = '" + row["CIF_NO"].ToString() + "'").FirstOrDefault();
241
-                if (cifcopinf == null) continue;
242
-                var cifidcoderel = cif_id_code_rel.Select("MAIN_FLAG ='1' and CIF_NO = '" + row["CIF_NO"].ToString() + "'").FirstOrDefault();
243
-                if (cifidcoderel == null)
244
-                {
245
-                    cifidcoderel = cif_id_code_rel.Select("CIF_NO = '" + row["CIF_NO"].ToString() + "'").FirstOrDefault();
246
-                }
247
-                if (cifidcoderel == null) continue;
248
-
249
-                var dict = new Dictionary<string, string>
250
-                {
251
-                    {"客户编码", row["CIF_NO"].ToString()},
252
-                    {"主证件类型", Chg2Dict(cifidcoderel["ID_TYPE"].ToString(),_ID_TYPE_)},
253
-                    {"主证件号码", cifidcoderel["ID_NO"].ToString()},
254
-                    {"开户网点", row["FILLER1"].ToString()},
255
-                    {"客户名称", row["NAME"].ToString()},
256
-                    {"企业规模", Chg2Dict(cifcopinf["COP_SIZE"].ToString(),_COP_SIZE_)},
257
-                    {"企业联系人", cifcopinf["LINK_MAN"].ToString()},
258
-                    {"固定电话", cifcopinf["TELEPHONE"].ToString()},
259
-                    {"法人姓名", cifcopinf["AP_NAME"].ToString()},
260
-                    {"法人证件类型", cifcopinf["AP_ID_TYPE"].ToString()},
261
-                    {"法人证件号码", cifcopinf["AP_ID_NO"].ToString()},
262
-                };
263
-                //检测手机号合法性
264
-                if (!regex_phone.IsMatch(dict["固定电话"]))
265
-                {
266
-                    if (string.IsNullOrEmpty(dict["固定电话"]) || regex_phone.IsMatch(cifcopinf["PHONE"].ToString()))
267
-                        dict["固定电话"] = cifcopinf["PHONE"].ToString();
268
-                }
269
-                data.Add(new Tuple<Dictionary<string, string>, List<Account>>(dict, new List<Account>()));
270
-            }
271
-            //处理活期
272
-            var dd_mst = Table("dd_mst", "CIF_NO in (" + cif + ") and AC_STS <> '*' and AC_SEQN < '9999'");//账户序号>9999的专户暂不纳入
273
-            var acid = string.Format(dd_mst.Namespace, "ac_id");
274
-            var mdm_ac_rel2dd_mst = Table("mdm_ac_rel", "ac_id in(" + acid + ")", new List<string> { "AC_NO", "AC_ID", "AC_SEQN", "NAME", "NOTE_STS" });
275
-            var dd_mst_hst = Table("dd_mst_hst", "TX_DATE >= '" + sdate + "' and TX_DATE <= '" + edate + "' and ac_id in(" + acid + ")");
276
-            var dd_parm = Table("dd_parm", "CIF_TYPE <> '1'", new List<string> { "PRDT_NO", "TITLE" });
277
-            data.ForEach(x => //装载活期账户数据
278
-            {
279
-                var cifno = x.Item1["客户编码"];
280
-                dd_mst.Select("CIF_NO = '" + cifno + "'").ToList().ForEach(row =>
281
-                {
282
-                    //mdm_ac_rel表中的 ac_seqn 不是账户序号
283
-                   // var where = "AC_ID = '" + row["AC_ID"].ToString() + "' and AC_SEQN = '" + row["AC_SEQN"].ToString() + "'";
284
-                    var where = "AC_ID = '" + row["AC_ID"].ToString() + "'";
285
-                    var mdmacrel = mdm_ac_rel2dd_mst.Select(where).FirstOrDefault();
286
-                    if (mdmacrel == null)
287
-                    {
288
-                        return;
289
-                    }
290
-                    var addinfo = add_info.Select("AC_NO = '" + mdmacrel["AC_NO"].ToString() + "'").Where(a => regex_phone.IsMatch(a["INFO4"].ToString()) || regex_phone.IsMatch(a["INFO6"].ToString())).ToArray();
291
-                    var ddparm = dd_parm.Select("PRDT_NO = '" + row["PRDT_NO"].ToString() + "'").FirstOrDefault();
292
-                    var prdtaccno = prdt_acc_no.Select("PRDT_NO = '" + row["PRDT_NO"].ToString() + "'").FirstOrDefault();
293
-                    var comitem = com_item.Select("ACC_NO = '" + prdtaccno["ACC_NO"].ToString() + "'").FirstOrDefault();
294
-                    var account = new Account
295
-                    {
296
-                        KHH = cifno,
297
-                        ZH = mdmacrel["AC_NO"].ToString(),
298
-                        ZHLX = Chg2Dict(row["AC_TYPE"].ToString(), _DD_TYPE_),
299
-                        ZHMC = mdmacrel["NAME"].ToString(),
300
-                        ZHXH = row["AC_SEQN"].ToString(),
301
-                        ZHZT = Chg2Dict(row["AC_STS"].ToString(), _AC_STS_),
302
-                        BZ = Chg2Dict(row["CUR_NO"].ToString(), _CUR_NO_),
303
-                        JGH = row["OPN_BR_NO"].ToString(),
304
-                        CPBH = ddparm["PRDT_NO"].ToString(),
305
-                        CPMC = ddparm["TITLE"].ToString(),
306
-                        KHJL = string.Join(",", cif_mger_rel.Select(where).Select(i => i["MANG"].ToString())),
307
-                        LXRXX = string.Format("{0:D2}@{1}", addinfo.Length, string.Join("@", addinfo.Select(i => string.Format("{0}@{1}@{2}@{3}@{4}", i["INFO1"].ToString(), i["INFO2"].ToString(), i["INFO3"].ToString(), regex_phone.IsMatch(i["INFO4"].ToString()) ? i["INFO4"].ToString() : i["INFO6"].ToString(), string.Empty)))),
308
-                        ZHZL = "0",
309
-                        YE = row["YS_BAL"].ToString(),
310
-                        KMH = prdtaccno["ACC_NO"].ToString(),
311
-                        KMMC = comitem["ACC_NAME"].ToString(),
312
-                        Details = new List<Dictionary<string, string>>(),
313
-                    };
314
-                    dd_mst_hst.Select(where).ToList().ForEach(i =>
315
-                    {
316
-                        var dict = new Dictionary<string, string>
317
-                        {
318
-                            {"序号", account.ZHXH},
319
-                            {"交易日期", i["TX_DATE"].ToString()},
320
-                            {"现转", Chg2Dict(i["CT_IND"].ToString(),_CT_IND_)},
321
-                            {"摘要", i["BRF"].ToString()},
322
-                            {"凭证号码", i["NOTE_NO"].ToString()},
323
-                            {"凭证类型", Chg2Dict(i["NOTE_TYPE"].ToString(),note_parm)},
324
-                            {"借方发生额", i["ADD_IND"].ToString() == "0" ? i["TX_AMT"].ToString() : "0.00"},
325
-                            {"贷方发生额", i["ADD_IND"].ToString() == "1" ? i["TX_AMT"].ToString() : "0.00"},
326
-                            {"余额", i["BAL"].ToString()},
327
-                            {"记账柜员", i["TEL"].ToString()},
328
-                            {"记账流水", i["TRACE_NO"].ToString()},
329
-                            {"对方户名", i["DF_AC_NAME"].ToString()},
330
-                        };
331
-                        account.Details.Add(dict);
332
-                    });
333
-                    x.Item2.Add(account);
334
-                });
335
-            });
336
-            //处理定期
337
-            var td_mst = Table("td_mst", "CIF_NO in (" + cif + ") and AC_STS <> '*' and AC_SEQN < '9999'");
338
-            acid = string.Format(td_mst.Namespace, "ac_id");
339
-            var mdm_ac_rel2td_mst = Table("mdm_ac_rel", "ac_id in(" + acid + ")", new List<string> { "AC_NO", "AC_ID", "AC_SEQN", "NAME", "NOTE_STS" });
340
-            var td_mst_hst = Table("td_mst_hst", "TX_DATE >= '" + sdate + "' and TX_DATE <= '" + edate + "' and ac_id in(" + acid + ")");
341
-            var td_parm = Table("td_parm", "CIF_TYPE <> '1'", new List<string> { "PRDT_NO", "TITLE", "TD_TYPE" });
342
-            data.ForEach(x => //装载定期账户数据
343
-            {
344
-                var cifno = x.Item1["客户编码"];
345
-                td_mst.Select("CIF_NO = '" + cifno + "'").ToList().ForEach(row =>
346
-                {
347
-                    //mdm_ac_rel表中的 ac_seqn 不是账户序号
348
-                  //  var where = "AC_ID = '" + row["AC_ID"].ToString() + "' and AC_SEQN = '" + row["AC_SEQN"].ToString() + "'";
349
-                    var where = "AC_ID = '" + row["AC_ID"].ToString() + "'";
350
-                    var mdmacrel = mdm_ac_rel2td_mst.Select(where).FirstOrDefault();
351
-                    if (mdmacrel == null) return;
352
-                    var addinfo = add_info.Select("AC_NO = '" + mdmacrel["AC_NO"].ToString() + "'").Where(a => regex_phone.IsMatch(a["INFO4"].ToString()) || regex_phone.IsMatch(a["INFO6"].ToString())).ToArray();
353
-                    var tdparm = td_parm.Select("PRDT_NO = '" + row["PRDT_NO"].ToString() + "'").FirstOrDefault();
354
-                    var prdtaccno = prdt_acc_no.Select("PRDT_NO = '" + row["PRDT_NO"].ToString() + "'").FirstOrDefault();
355
-                    var comitem = com_item.Select("ACC_NO = '" + prdtaccno["ACC_NO"].ToString() + "'").FirstOrDefault();
356
-                    var account = new Account
357
-                    {
358
-                        KHH = cifno,
359
-                        ZH = mdmacrel["AC_NO"].ToString(),
360
-                        ZHLX = Chg2Dict(tdparm["TD_TYPE"].ToString(), _TD_TYPE_),
361
-                        ZHMC = mdmacrel["NAME"].ToString(),
362
-                        ZHXH = row["AC_SEQN"].ToString(),
363
-                        ZHZT = Chg2Dict(row["AC_STS"].ToString(), _AC_STS_),
364
-                        BZ = Chg2Dict(row["CUR_NO"].ToString(), _CUR_NO_),
365
-                        JGH = row["OPN_BR_NO"].ToString(),
366
-                        CPBH = tdparm["PRDT_NO"].ToString(),
367
-                        CPMC = tdparm["TITLE"].ToString(),
368
-                        KHJL = string.Join(",", cif_mger_rel.Select(where).Select(i => i["MANG"].ToString())),
369
-                        LXRXX = string.Format("{0:D2}@{1}", addinfo.Length, string.Join("@", addinfo.Select(i => string.Format("{0}@{1}@{2}@{3}@{4}", i["INFO1"].ToString(), i["INFO2"].ToString(), i["INFO3"].ToString(), regex_phone.IsMatch(i["INFO4"].ToString()) ? i["INFO4"].ToString() : i["INFO6"].ToString(), string.Empty)))),
370
-                        ZHZL = "1",
371
-                        YE = row["YS_BAL"].ToString(),
372
-                        KMH = prdtaccno["ACC_NO"].ToString(),
373
-                        KMMC = comitem["ACC_NAME"].ToString(),
374
-                        Details = new List<Dictionary<string, string>>(),
375
-                    };
376
-                    td_mst_hst.Select(where).ToList().ForEach(i =>
377
-                    {
378
-                        var dict = new Dictionary<string, string>
379
-                        {
380
-                            {"序号", account.ZHXH},
381
-                            {"交易日期", i["TX_DATE"].ToString()},
382
-                            {"现转", Chg2Dict(i["CT_IND"].ToString(),_CT_IND_)},
383
-                            {"摘要", i["BRF"].ToString()},
384
-                            {"凭证号码", i["NOTE_NO"].ToString()},
385
-                            {"凭证类型", Chg2Dict(i["NOTE_TYPE"].ToString(),note_parm)},
386
-                            {"借方发生额", i["ADD_IND"].ToString() == "0" ? i["TX_AMT"].ToString() : "0.00"},
387
-                            {"贷方发生额", i["ADD_IND"].ToString() == "1" ? i["TX_AMT"].ToString() : "0.00"},
388
-                            {"余额", i["BAL"].ToString()},
389
-                            {"记账柜员", i["TEL"].ToString()},
390
-                            {"记账流水", i["TRACE_NO"].ToString()},
391
-                            {"对方户名", i["DF_NAME"].ToString()},
392
-                        };
393
-                        account.Details.Add(dict);
394
-                    });
395
-                    x.Item2.Add(account);
396
-                });
397
-            });
398
-            //处理贷款
399
-            var ln_mst = Table("ln_mst", "CIF_NO in (" + cif + ") and AC_STS <> '*' and AC_SEQN < '9999'");
400
-            acid = string.Format(ln_mst.Namespace, "ac_id");
401
-            var mdm_ac_rel2ln_mst = Table("mdm_ac_rel", "ac_id in(" + acid + ")", new List<string> { "AC_NO", "AC_ID", "AC_SEQN", "NAME", "NOTE_STS" });
402
-            var ln_mst_hst = Table("ln_mst_hst", "TX_DATE >= '" + sdate + "' and TX_DATE <= '" + edate + "' and ac_id in(" + acid + ")");
403
-            var ln_parm = Table("ln_parm", "CIF_TYPE <> '1'", new List<string> { "PRDT_NO", "TITLE", "LN_TYPE" });
404
-            data.ForEach(x => //装载定期账户数据
405
-            {
406
-                var cifno = x.Item1["客户编码"];
407
-                ln_mst.Select("CIF_NO = '" + cifno + "'").ToList().ForEach(row =>
408
-                {
409
-                    //mdm_ac_rel表中的 ac_seqn 不是账户序号
410
-                    //  var where = "AC_ID = '" + row["AC_ID"].ToString() + "' and AC_SEQN = '" + row["AC_SEQN"].ToString() + "'";
411
-                    var where = "AC_ID = '" + row["AC_ID"].ToString() + "'";
412
-                    var mdmacrel = mdm_ac_rel2ln_mst.Select(where).FirstOrDefault();
413
-                    if (mdmacrel == null) return;
414
-                    var addinfo = add_info.Select("AC_NO = '" + mdmacrel["AC_NO"].ToString() + "'").Where(a => regex_phone.IsMatch(a["INFO4"].ToString()) || regex_phone.IsMatch(a["INFO6"].ToString())).ToArray();
415
-                    var lnparm = ln_parm.Select("PRDT_NO = '" + row["PRDT_NO"].ToString() + "'").FirstOrDefault();
416
-                    var prdtaccno = prdt_acc_no.Select("PRDT_NO = '" + row["PRDT_NO"].ToString() + "'").FirstOrDefault();
417
-                    var comitem = com_item.Select("ACC_NO = '" + prdtaccno["ACC_NO"].ToString() + "'").FirstOrDefault();
418
-                    var account = new Account
419
-                    {
420
-                        KHH = cifno,
421
-                        ZH = mdmacrel["AC_NO"].ToString(),
422
-                        ZHLX = Chg2Dict(lnparm["LN_TYPE"].ToString(), _LN_TYPE_),
423
-                        ZHMC = mdmacrel["NAME"].ToString(),
424
-                        ZHXH = row["AC_SEQN"].ToString(),
425
-                        ZHZT = Chg2Dict(row["AC_STS"].ToString(), _LN_STS_),
426
-                        BZ = Chg2Dict(row["CUR_NO"].ToString(), _CUR_NO_),
427
-                        JGH = row["OPN_BR_NO"].ToString(),
428
-                        CPBH = lnparm["PRDT_NO"].ToString(),
429
-                        CPMC = lnparm["TITLE"].ToString(),
430
-                        KHJL = string.Join(",", cif_mger_rel.Select(where).Select(i => i["MANG"].ToString())),
431
-                        LXRXX = string.Format("{0:D2}@{1}", addinfo.Length, string.Join("@", addinfo.Select(i => string.Format("{0}@{1}@{2}@{3}@{4}", i["INFO1"].ToString(), i["INFO2"].ToString(), i["INFO3"].ToString(), regex_phone.IsMatch(i["INFO4"].ToString()) ? i["INFO4"].ToString() : i["INFO6"].ToString(), string.Empty)))),
432
-                        ZHZL = "2",
433
-                        YE = row["YS_BAL"].ToString(),
434
-                        KMH = prdtaccno["ACC_NO"].ToString(),
435
-                        KMMC = comitem["ACC_NAME"].ToString(),
436
-                        Details = new List<Dictionary<string, string>>(),
437
-                    };
438
-                    ln_mst_hst.Select(where).ToList().ForEach(i =>
439
-                    {
440
-                        var dict = new Dictionary<string, string>
441
-                        {
442
-                            {"序号", account.ZHXH},
443
-                            {"交易日期", i["TX_DATE"].ToString()},
444
-                            {"现转", Chg2Dict(i["CT_IND"].ToString(),_CT_IND_)},
445
-                            {"摘要", i["BRF"].ToString()},
446
-                            {"凭证号码", i["NOTE_NO"].ToString()},
447
-                            {"凭证类型", Chg2Dict(i["NOTE_TYPE"].ToString(),note_parm)},
448
-                            {"借方发生额", i["ADD_IND"].ToString() == "1" ? i["TX_AMT"].ToString() : "0.00"},
449
-                            {"贷方发生额", i["ADD_IND"].ToString() == "0" ? i["TX_AMT"].ToString() : "0.00"},
450
-                            {"余额", i["BAL"].ToString()},
451
-                            {"记账柜员", i["TEL"].ToString()},
452
-                            {"记账流水", i["TRACE_NO"].ToString()},
453
-                            {"对方户名", i["DF_AC_NAME"].ToString()},
454
-                        };
455
-                        account.Details.Add(dict);
456
-                    });
457
-                    x.Item2.Add(account);
458
-                });
459
-            });
460
-            if (data.Count == 0)
461
-            {
462
-                return false;
463
-            }
464
-            //执行压缩上传,剔除空白客户
465
-            var zip = Zip(data.Where(x => x.Item2.Count > 0).ToList(), branch, edate);
466
-            if (zip == null) return false;
467
-            //上传文件服务器
468
-            var resp = AICapacity.GetInstence().UploadFile(zip, string.Format("Reconciles_{0}_{1}.zip", branch, edate), 10);//留存10天
469
-            if (resp.HasError) return false;
470
-            //通知银企对账平台
471
-            var req = new UploadData
472
-            {
473
-                branch = branch,
474
-                fds = resp.Value("data", ""),
475
-                syncIssue = edate,
476
-            };
477
-            resp = AICapacity.GetInstence().AIRequest("/recon/manage/uploadData", req);
478
-            return !resp.HasError;
479
-        }
480
-
481
-        class UploadData : AICapacity.Req
482
-        {
483
-            public string branch { get; set; }
484
-            public string fds { get; set; }
485
-            public string syncIssue { get; set; }
486
-        }
487
-
488
-        /// <summary>
489
-        /// 产生压缩文件
490
-        /// </summary>
491
-        /// <param name="data"></param>
492
-        /// <returns></returns>
493
-        private byte[] Zip(List<Tuple<Dictionary<string, string>, List<Account>>> data, string branch, string date)
494
-        {
495
-            byte[] zipData = null;
496
-            using (var ms = new MemoryStream())
497
-            {
498
-                var encoding = Encoding.UTF8;
499
-                var zipStream = new ZipOutputStream(ms);
500
-                zipStream.SetLevel(6);
501
-                Crc32 crc = new Crc32();
502
-                //var entry = new ZipEntry("20220520/");//一级目录
503
-                //zipStream.PutNextEntry(entry);
504
-                //处理客户文件
505
-                var sb = new StringBuilder();
506
-                sb.AppendLine("~" + string.Join(Separator, data.ElementAt(0).Item1.Keys));
507
-                data.ToList().ForEach(x => sb.AppendLine(string.Join(Separator, x.Item1.Values)));
508
-                var buffer = encoding.GetBytes(sb.ToString());
509
-                ZipBuffer(buffer, zipStream, string.Format("{0}/{1}_customer.txt", date, branch));
510
-                //处理账户文件
511
-                sb = new StringBuilder();
512
-                string customerheadle = "~客户号" + Separator + "账号" + Separator + "账户类型" + Separator + "账户种类" + Separator + "产品编号" + Separator + "产品名称" + Separator + "账户名称" + Separator + "账户序号" + Separator + "账户状态" + Separator + "余额" + Separator + "客户经理" + Separator + "交易明细" + Separator + "机构号" + Separator + "联系人信息" + Separator + "明细标志" + Separator + "币种" + Separator + "科目号" + Separator + "科目名称" + Separator;
513
-                sb.AppendLine(customerheadle);
514
-                data.Select(x => x.Item2).ToList().ForEach(list =>
515
-                {
516
-                    list.ForEach(acc =>
517
-                    {
518
-                        //处理账户明细
519
-                        var detail = string.Empty;
520
-                        if (acc.Details.Count > 0)
521
-                        {
522
-                            detail = string.Format("{0}_{1}.txt", acc.ZH, acc.ZHXH);
523
-                            var hst = new StringBuilder();
524
-                            hst.AppendLine("~" + string.Join(Separator, acc.Details[0].Keys));
525
-                            acc.Details.ForEach(x => hst.AppendLine(string.Join(Separator, x.Values)));
526
-                            buffer = encoding.GetBytes(hst.ToString());
527
-                            ZipBuffer(buffer, zipStream, string.Format("{0}/{1}", date, detail));
528
-                        }
529
-                        var item = new List<string>
530
-                        {
531
-                            acc.KHH,
532
-                            acc.ZH,
533
-                            acc.ZHLX,
534
-                            acc.ZHZL,
535
-                            acc.CPBH,
536
-                            acc.CPMC,
537
-                            acc.ZHMC,
538
-                            acc.ZHXH,
539
-                            acc.ZHZT,
540
-                            acc.YE,
541
-                            acc.KHJL,
542
-                            detail,
543
-                            acc.JGH,
544
-                            acc.LXRXX,
545
-                            string.IsNullOrEmpty(detail)?"2":"1",
546
-                            acc.BZ,
547
-                            acc.KMH,
548
-                            acc.KMMC,
549
-                        };
550
-                        sb.AppendLine(string.Join(Separator, item));
551
-                    });
552
-                });
553
-                var name = string.Format("{0}/{1}_account.txt", date, branch);
554
-                buffer = encoding.GetBytes(sb.ToString());
555
-                ZipBuffer(buffer, zipStream, name);
556
-                //写入到文件
557
-                zipStream.CloseEntry();
558
-                zipStream.Flush();
559
-                zipStream.Close();
560
-                zipData = ms.ToArray();
561
-            }
562
-            return zipData;
563
-        }
564
-
565
-        private void ZipBuffer(byte[] buffer, ZipOutputStream zipStream, string path)
566
-        {
567
-            Crc32 crc = new Crc32();
568
-            var entry = new ZipEntry(path);
569
-            entry.DateTime = DateTime.Now;
570
-            entry.Size = buffer.Length;
571
-            crc.Reset();
572
-            crc.Update(buffer);
573
-            entry.Crc = crc.Value;
574
-            zipStream.PutNextEntry(entry);
575
-            zipStream.Write(buffer, 0, buffer.Length);
576
-        }
577
-
578
-        #region table方案
579
-        /// <summary>
580
-        /// ~客户号|账号|账户类型|账户种类|产品名称|账户名称|账户序号|账户状态|余额|客户经理|交易明细|机构号|联系人信息|明细标志|币种|
581
-        /// </summary>
582
-        private class Account
583
-        {
584
-            /// <summary>
585
-            /// 客户号
586
-            /// </summary>
587
-            public string KHH { get; set; }
588
-            /// <summary>
589
-            /// 账号
590
-            /// </summary>
591
-            public string ZH { get; set; }
592
-            /// <summary>
593
-            /// 账户类型
594
-            /// </summary>
595
-            public string ZHLX { get; set; }
596
-            /// <summary>
597
-            /// 账户种类
598
-            /// </summary>
599
-            public string ZHZL { get; set; }
600
-            /// <summary>
601
-            /// 产品名称
602
-            /// </summary>
603
-            public string CPMC { get; set; }
604
-            /// <summary>
605
-            /// 产品编号
606
-            /// </summary>
607
-            public string CPBH { get; set; }
608
-            /// <summary>
609
-            /// 账户名称
610
-            /// </summary>
611
-            public string ZHMC { get; set; }
612
-            /// <summary>
613
-            /// 账户序号
614
-            /// </summary>
615
-            public string ZHXH { get; set; }
616
-            /// <summary>
617
-            /// 账户状态
618
-            /// </summary>
619
-            public string ZHZT { get; set; }
620
-            /// <summary>
621
-            /// 余额
622
-            /// </summary>
623
-            public string YE { get; set; }
624
-            /// <summary>
625
-            /// 客户经理
626
-            /// </summary>
627
-            public string KHJL { get; set; }
628
-            /// <summary>
629
-            /// 机构号
630
-            /// </summary>
631
-            public string JGH { get; set; }
632
-            /// <summary>
633
-            /// 联系人信息
634
-            /// </summary>
635
-            public string LXRXX { get; set; }
636
-            /// <summary>
637
-            /// 币种
638
-            /// </summary>
639
-            public string BZ { get; set; }
640
-            /// <summary>
641
-            /// 科目号
642
-            /// </summary>
643
-            public string KMH { get; set; }
644
-            /// <summary>
645
-            /// 科目名称
646
-            /// </summary>
647
-            public string KMMC { get; set; }
648
-            /// <summary>
649
-            /// 明细记录
650
-            /// </summary>
651
-            public List<Dictionary<string, string>> Details { get; set; }
652
-        }
653
-
654
-        private DataTable Table(string table, string where, List<string> cols = null)
655
-        {
656
-            var dt = new DataTable(table);
657
-            var sql = string.Format("select {0} from {1} where 1=1 and {2} ", "{0}", table, where);
658
-            dt.Namespace = sql;
659
-            var field = "*";
660
-            if (cols == null)
661
-                cols = Select("select column_name from user_tab_columns where table_name = '" + table.ToUpper() + "' order by  column_id ", "列名").Select(x => x["列名"].ToUpper()).ToList();
662
-            else
663
-                field = string.Join(",", cols);
664
-            cols.ForEach(x => dt.Columns.Add(x));
665
-            var rows = Select(string.Format(sql, field), string.Join("|", cols));
666
-            rows.ForEach(row =>
667
-            {
668
-                dt.Rows.Add(row.Values.ToArray());
669
-            });
670
-            return dt;
671
-        }
672
-
673
-        private List<Dictionary<string, string>> Select(string sql, string format)
674
-        {
675
-            Message msg = new Message();
676
-            SystemFunction.InitFd(null, msg);
677
-            SystemFunction.CommSend(null, msg);
678
-            msg.Fd16 = "9598";
679
-            msg.Fd123 = sql;
680
-            msg.DoTransit();
681
-            if (msg.Fd12 != "0000")
682
-            {
683
-                Platform.Common.LogSystem.PlatformLogger.SystemErrorInfo("Reconciles.Select:查询失败!" + SystemFunction.GetError(null, msg), null);
684
-                return null;
685
-            }
686
-            return TFInput.AnilyzeFileData(msg.FileData, format, x => x);
687
-        }
688
-        #endregion
689
-        #endregion
690
-
691
-        #region Daily
692
-
693
-
694
-
695
-        /// <summary>
696
-        /// 网银文件列
697
-        /// </summary>
698
-        private List<string> netBankcomList = new List<string>();
699
-
700
-
701
-        private bool Work2Daily(string branch, string last)
702
-        {
703
-            var date = LoginUserInfo.TradeDate.ToDateTime().AddDays(-1);
704
-            var start = string.IsNullOrEmpty(last) ? (date.ToString("yyyyMM") + "01") : last.ToDateTime().AddDays(1).ToString("yyyyMMdd");
705
-            var end = date.ToString("yyyyMMdd");
706
-            if (start.CompareTo(end) > 0) return false;//无效区间
707
-            var dt = Recon2Netbank(LoginUserInfo.KinbrNo, start, end);
708
-            //提取数据,调用银企对账接口处理同步,记得更新同步状态ext内sync2netbank=end
709
-            //没有获取到网银数据
710
-            if (dt == null)
711
-            {
712
-                return false;
713
-            }
714
-            return uploadReconDetail(branch, end, dt);
715
-        }
716
-        /// <summary>
717
-        /// 网银数据上传和组装txt
718
-        /// </summary>
719
-        /// <param name="branch"></param>
720
-        /// <param name="end"></param>
721
-        /// <param name="dt"></param>
722
-        /// <returns></returns>
723
-        private bool uploadReconDetail(string branch, string end, DataTable dt)
724
-        {
725
-            byte[] zipData = null;
726
-            string fileName = string.Format("{0}/{1}_reconDetailInfo", end, branch);
727
-            using (var ms = new MemoryStream())
728
-            {
729
-                var encoding = Encoding.UTF8;
730
-                var zipStream = new ZipOutputStream(ms);
731
-                zipStream.SetLevel(6);
732
-                Crc32 crc = new Crc32();
733
-                //处理客户文件
734
-                var sb = new StringBuilder();
735
-                sb.AppendLine("~" + string.Join(Separator, netBankcomList.ToArray()) + Separator);
736
-                foreach (DataRow row in dt.Rows)
737
-                {
738
-                    string rowstring = string.Empty;
739
-
740
-                    foreach (var item in netBankcomList)
741
-                    {
742
-                        rowstring += row[item].ToString() + Separator;
743
-                    }
744
-
745
-                    sb.AppendLine(rowstring);
746
-                }
747
-                var buffer = encoding.GetBytes(sb.ToString());
748
-
749
-                ZipBuffer(buffer, zipStream, fileName+".txt");
750
-                //写入到文件
751
-                zipStream.CloseEntry();
752
-                zipStream.Flush();
753
-                zipStream.Close();
754
-                zipData = ms.ToArray();
755
-            }
756
-            var resp = AICapacity.GetInstence().UploadFile(zipData, fileName+".zip", 10);//留存10天
757
-            if (resp.HasError) return false;
758
-
759
-            //通知银企对账平台
760
-            var req = new UploadNetbank
761
-            {
762
-                checkChannel = "NetBank",//渠道类型
763
-                filePath = resp.Value("data", ""),
764
-                syncEndDate = end,//结束日期
765
-                branch = LoginUserInfo.KinbrNo//机构号
766
-            };
767
-            resp = AICapacity.GetInstence().AIRequest("/recon/manage/uploadReconDetailByTxt", req);
768
-            return !resp.HasError;
769
-        }
770
-
771
-        /// <summary>
772
-        /// 文件 转 Byte[]
773
-        /// </summary>
774
-        /// <param name="fileUrl"></param>
775
-        /// <returns></returns>
776
-        public byte[] FileToByteArray(string fileUrl)
777
-        {
778
-            using (FileStream fs = new FileStream(fileUrl, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
779
-            {
780
-                byte[] buffur = new byte[fs.Length];
781
-                fs.Read(buffur, 0, (int)buffur.Length);
782
-                return buffur;
783
-            }
784
-        }
785
-
786
-        /// <summary>
787
-        /// 网银对账数据类
788
-        /// </summary>
789
-        class UploadNetbank : AICapacity.Req
790
-        {
791
-            public string checkChannel { get; set; }
792
-            public string filePath { get; set; }
793
-            public string syncEndDate { get; set; }
794
-            public string branch { get; set; }
795
-        }
796
-        /// <summary>
797
-        /// 查询网银对账记录
798
-        /// </summary>
799
-        /// <param name="branch"></param>
800
-        /// <param name="start"></param>
801
-        /// <param name="end"></param>
802
-        /// <returns></returns>
803
-        private DataTable Recon2Netbank(string branch, string start, string end)
804
-        {
805
-            var sb = new StringBuilder();
806
-            var pagenum = 1;
807
-            while (true)
808
-            {
809
-                Message message = new Message(Message.BitMap.Agn);
810
-                SystemFunction.InitFd(null, message);
811
-                SystemFunction.CommSend(null, message);
812
-                message.Fd16 = "3004";
813
-                message.Fd63 = "1";//对账标志
814
-                message.Fd38 = branch;//本机构
815
-                message.Fd18 = "ENT";
816
-                message.Fd25 = start;//对账日期-开始
817
-                message.Fd37 = end;//对账日期-截止
818
-                message.Fd30 = pagenum.ToString();//页码
819
-                message.TransitNode = Communication.MessageHelper.TransitType.CallAgn_CZYYSW;
820
-                message.DoTransit();
821
-                if (message.Fd12 == "0000")
822
-                {
823
-                    if (string.IsNullOrEmpty(message.FileData))
824
-                        break;
825
-                    sb.Append(message.FileData);
826
-                }
827
-                else
828
-                {
829
-                    sb.Clear();
830
-                    break;
831
-                }
832
-                pagenum++;
833
-            }
834
-            if (sb.Length == 0) return null;
835
-            var sr = new StringReader(sb.ToString());
836
-            var dt = new DataTable();
837
-            #region 原始处理数据情况
838
-            //dt.Columns.Add("账号");
839
-            //dt.Columns.Add("账户名称");
840
-            //dt.Columns.Add("对账日期");
841
-            //dt.Columns.Add("对账状态");//{ { "0", "未对账" }, { "1", "余额相符" }, { "2", "余额不符" } }
842
-            //dt.Columns.Add("导入日期");
843
-            //while (true)
844
-            //{
845
-            //    var line = sr.ReadLine();
846
-            //    if (string.IsNullOrEmpty(line)) break;
847
-            //    if (line.StartsWith("~")) continue;
848
-            //    var tmp = line.Split('|').Take(5).ToArray();//注意,中牟的格式与其他行有异
849
-            //    //只有中牟才返回了导入日期,其他行需要另处理
850
-            //    if (ServiceSettings.BankFlag != "V0")
851
-            //    {
852
-            //        //TODO:其他行没有返回导入日期,可能需要用单笔再循环查询;暂采用对账日期计算上月底
853
-            //        tmp[4] = (tmp[2].Substring(6) + "01").ToDateTime().AddDays(-1).ToString("yyyyMMdd");
854
-            //    }
855
-            //    dt.Rows.Add(tmp);
856
-            //} 
857
-            #endregion
858
-            netBankcomList.Clear();
859
-            netBankcomList.Add("账号");
860
-            netBankcomList.Add("账户序号");
861
-            netBankcomList.Add("对账期次");
862
-            netBankcomList.Add("核心余额");
863
-            netBankcomList.Add("核心余额日期");
864
-            netBankcomList.Add("用户余额");
865
-            netBankcomList.Add("用户余额备注");
866
-            netBankcomList.Add("对账时间");
867
-            netBankcomList.Add("完结时间");
868
-            netBankcomList.Add("对账方式");//{ { "0", "周期对账" }, { "1", "相对对账" } }
869
-            netBankcomList.Add("对账状态");//对账状态 0 未对账,1 待授权,2 差错处理中,3 对账完成
870
-            netBankcomList.Add("对账结果");//{ { "0", "未对账" }, { "1", "余额相符" }, { "2", "余额不符" } }
871
-            netBankcomList.Add("客户经理");
872
-
873
-
874
-            foreach (var item in netBankcomList)
875
-            {
876
-                dt.Columns.Add(item);
877
-            }
878
-            while (true)
879
-            {
880
-                var line = sr.ReadLine();
881
-                if (string.IsNullOrEmpty(line)) break;
882
-                if (line.StartsWith("~")) continue;
883
-                var tmp = line.Split('|').Take(6).ToArray();//注意,返回的格式是6列
884
-                string[] row = new string[13];
885
-                //只有中牟才返回了导入日期,其他行需要另处理
886
-               // if (ServiceSettings.BankFlag == "V0" || ServiceSettings.BankFlag == "V8" || ServiceSettings.BankFlag == "V23" || (ServiceSettings.BankFlag == "V2" && LoginUserInfo.KinbrNo.Substring(0, 3) == "152"))
887
-                #region 返回6列
888
-                //@账号 | @账户名称 | @对账日期 | @对账状态|余额日期 |@对账余额
889
-                if (tmp[5]!=null&& tmp[5].StartsWith("."))
890
-                {
891
-                    tmp[5] = "0" + tmp[5];
892
-                }
893
-                row[0] = tmp[0];	    //账号
894
-                row[1] = "1";	    //账户序号
895
-                row[2] = (tmp[4].Substring(0, 6) + "01").ToDateTime().AddMonths(1).ToString("yyyyMMdd");	 //对账期次   //对账期次
896
-                row[3] = tmp[5];	    //核心余额
897
-                row[4] = tmp[4];	    //核心余额时间
898
-                row[5] = tmp[3] == "1" ? tmp[5] : string.Empty;//    //用户余额
899
-                row[6] = string.Empty;	    //用户余额备注
900
-                row[7] = tmp[2];	    //对账时间
901
-                row[8] = tmp[2];	    //完结时间
902
-                row[9] = "0";	    //对账方式
903
-                row[10] = "3";    //对账状态
904
-                row[11] = tmp[3];    //	对账结果
905
-                row[12] = string.Empty;    //客户经理 
906
-                #endregion
907
-
908
-
909
-                #region 网银返回5列的情况  废除
910
-                    //    //@账号 | @账户名称 | @对账日期 | @对账状态 |@对账余额
911
-                    //    //TODO:其他行没有返回导入日期,可能需要用单笔再循环查询;暂采用对账日期计算上月底
912
-                    //    string impdate = (tmp[2].Substring(0, 6) + "01").ToDateTime().AddDays(-1).ToString("yyyyMMdd");
913
-                    //    row[0] = tmp[0];	    //账号
914
-                    //    row[1] = "1";	    //账户序号
915
-                    //    row[2] = tmp[2].Substring(0, 6) + "01";	    //对账期次
916
-                    //    row[3] = tmp[4];	    //核心余额
917
-                    //    row[4] = impdate;	    //核心余额时间
918
-                    //    row[5] = tmp[3] =="1" ? tmp[4] : string.Empty;//   //用户余额
919
-                    //    row[6] = string.Empty;	    //用户余额备注
920
-                    //    row[7] = tmp[2];	    //对账时间
921
-                    //    row[8] = tmp[2];	    //完结时间
922
-                    //    row[9] = "0";	    //对账方式
923
-                    //    row[10] = "3";    //	对账状态
924
-                    //    row[11] = tmp[3];    //	对账结果
925
-                    //    row[12] = string.Empty;    //	客户经理 
926
-                    #endregion
927
-
928
-
929
-                //0 余额相符
930
-                //1 余额不符
931
-                //2 差错相符
932
-                //3 差错不符
933
-
934
-                switch (row[11].ToString())
935
-                {
936
-                    case "0"://"未对账"
937
-                        row[11] = "";
938
-                        break;
939
-                    case "1"://"余额相符"
940
-                        row[11] = "0";
941
-                        break;
942
-                    case "2":// "余额不符"
943
-                        row[11] = "1";
944
-                        break;
945
-                    default:
946
-                        row[11] = "";
947
-                        break;
948
-                }
949
-
950
-                dt.Rows.Add(row);
951
-            }
952
-            return dt;
953
-        }
954
-        #endregion
955
-    }
956
-}

+ 0
- 80
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ATMAmountClearing.cs Datei anzeigen

@@ -1,80 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// ATM待清机金额
11
-    /// 根据相关要素,返回ATM清机现金金额
12
-    /// </summary>
13
-    public class ATMAmountClearing : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 清机金额 0400
18
-        /// (null)
19
-        /// </summary>
20
-        public string QJJE { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 标志位 0730
24
-        /// 第一位[0]验证是否有清机记录(0-有 1-无)
25
-        /// </summary>
26
-        public string BZW { get; internal set; }
27
-        /// <summary>
28
-        /// ATM柜员
29
-        /// (null)
30
-        /// </summary>
31
-        public string ATMTEL { get; internal set; }
32
-
33
-        #endregion
34
-
35
-        #region Input
36
-		/// <summary>
37
-        /// 参数清单
38
-        /// </summary>
39
-        public class Input : TFInput
40
-        {
41
-            /// <summary>
42
-            /// ATM柜员号 0920
43
-            /// (null) 
44
-            /// </summary>
45
-            public string ATMGYH { get; set; }
46
-
47
-            /// <summary>
48
-            /// ATM清钞编号
49
-            /// (null) 
50
-            /// </summary>
51
-            public string ATMQCNO { get; set; }
52
-            /// <summary>                 
53
-            /// 定义业务逻辑              
54
-            /// </summary>                
55
-            /// <returns></returns>  
56
-            public override TFOutput Raise()
57
-            {
58
-                //拉取数据                                  
59
-                var output = new ATMAmountClearing();
60
-                PageData.TradeAPIs.InitFd(MessageData);
61
-                PageData.TradeAPIs.CommSend(MessageData);
62
-				MessageData.Fd126_5 = MainCode;
63
-                MessageData.Fd16 = "K051";
64
-                MessageData.Fd92 = ATMGYH;
65
-                MessageData.Fd58 = ATMQCNO;
66
-                PageData.TradeAPIs.CallServer(MessageData);
67
-                if (MessageData.Fd12 != "0000")
68
-                {
69
-                    output.IsFailed = true;
70
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
71
-                }                
72
-                output.QJJE = (MessageData.Fd40);
73
-                output.BZW = (MessageData.Fd73);
74
-                output.ATMTEL = (MessageData.Fd92);
75
-                return output;
76
-            }
77
-        }
78
-        #endregion
79
-    }
80
-}

+ 98
- 32
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ATMAmountClearing.ts Datei anzeigen

@@ -1,37 +1,103 @@
1
-import { TFOutput, TFInput, PageData, MessageData } from './types'; // 假设这些类型定义在 types.ts 文件中
1
+import { TFInput, TFOutput } from './TFBase'
2 2
 
3
-// 定义 ATMAmountClearing 类,对应 C# 中的同名类
3
+/**
4
+ * ATM待清机金额
5
+ * 根据相关要素,返回ATM清机现金金额
6
+ */
4 7
 export class ATMAmountClearing extends TFOutput {
5
-    // 输出属性
6
-    public QJJE: string | null = null;
7
-    public BZW: string | null = null;
8
-    public ATMTEL: string | null = null;
9
-
10
-    // 输入类
11
-    public static Input = class Input extends TFInput {
12
-        public ATMGYH: string | null = null;
13
-        public ATMQCNO: string | null = null;
14
-
15
-        // 重写 Raise 方法
16
-        public override Raise(): ATMAmountClearing {
17
-            const output = new ATMAmountClearing();
18
-            PageData.TradeAPIs.InitFd(MessageData);
19
-            PageData.TradeAPIs.CommSend(MessageData);
20
-            MessageData.Fd126_5 = this.MainCode;
21
-            MessageData.Fd16 = "K051";
22
-            MessageData.Fd92 = this.ATMGYH;
23
-            MessageData.Fd58 = this.ATMQCNO;
24
-            PageData.TradeAPIs.CallServer(MessageData);
25
-
26
-            if (MessageData.Fd12 !== "0000") {
27
-                output.IsFailed = true;
28
-                output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
8
+    // #region Output
9
+    /**
10
+     * 清机金额 0400
11
+     * (null)
12
+     */
13
+    public QJJE: string = ''
14
+
15
+    /**
16
+     * 标志位 0730
17
+     * 第一位[0]验证是否有清机记录(0-有 1-无)
18
+     */
19
+    public BZW: string = ''
20
+
21
+    /**
22
+     * ATM柜员
23
+     * (null)
24
+     */
25
+    public ATMTEL: string = ''
26
+    // #endregion
27
+
28
+    // #region Input
29
+    /**
30
+     * 参数清单
31
+     */
32
+    public static Input = class extends TFInput {
33
+        /**
34
+         * ATM柜员号 0920
35
+         * (null) 
36
+         */
37
+        public ATMGYH: string = ''
38
+
39
+        /**
40
+         * ATM清钞编号
41
+         * (null) 
42
+         */
43
+        public ATMQCNO: string = ''
44
+
45
+        /**                 
46
+         * 定义业务逻辑              
47
+         * @returns 操作结果
48
+         */
49
+        public override Raise(): TFOutput {
50
+            // 拉取数据                                  
51
+            const output = new ATMAmountClearing()
52
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
53
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
54
+            this.MessageData.Fd126_5 = this.MainCode
55
+            this.MessageData.Fd16 = "K051"
56
+            this.MessageData.Fd92 = this.ATMGYH
57
+            this.MessageData.Fd58 = this.ATMQCNO
58
+
59
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
60
+            if (this.MessageData.Fd12 != "0000") {
61
+                output.IsFailed = true
62
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
29 63
             }
64
+            output.QJJE = this.MessageData.Fd40
65
+            output.BZW = this.MessageData.Fd73
66
+            output.ATMTEL = this.MessageData.Fd92
30 67
 
31
-            output.QJJE = MessageData.Fd40;
32
-            output.BZW = MessageData.Fd73;
33
-            output.ATMTEL = MessageData.Fd92;
34
-            return output;
68
+            return output
35 69
         }
36
-    };
37
-}
70
+    }
71
+    // #endregion
72
+}
73
+
74
+/**
75
+ * 创建ATM待清机金额功能的Vue 3组合式API封装
76
+ */
77
+export function useATMAmountClearing() {
78
+    /**
79
+     * 获取ATM待清机金额
80
+     * @param params 查询参数
81
+     * @param page 页面对象
82
+     * @returns 查询结果
83
+     */
84
+    const getATMAmountClearing = (
85
+        params: {
86
+            ATMGYH: string,   // ATM柜员号
87
+            ATMQCNO: string   // ATM清钞编号
88
+        },
89
+        page: any
90
+    ): ATMAmountClearing => {
91
+        const input = new ATMAmountClearing.Input()
92
+
93
+        // 设置查询参数
94
+        Object.assign(input, params)
95
+
96
+        // 执行查询
97
+        return input.DoAction<ATMAmountClearing>(page)
98
+    }
99
+
100
+    return {
101
+        getATMAmountClearing
102
+    }
103
+}

+ 0
- 126
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/AccountInterestCalculation.cs Datei anzeigen

@@ -1,126 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 具体账户利息测算
11
-    /// 通过账号计算账户利息
12
-    /// </summary>
13
-    public class AccountInterestCalculation : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 应付利息 102P
18
-        /// (null)
19
-        /// </summary>
20
-        public string YFLX { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 利息税 102Q
24
-        /// (null)
25
-        /// </summary>
26
-        public string LXS { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 保值利息 102R
30
-        /// (null)
31
-        /// </summary>
32
-        public string BZLX { get; internal set; }
33
-
34
-        /// <summary>
35
-        /// 本息合计 102S
36
-        /// (null)
37
-        /// </summary>
38
-        public string BXHJ { get; internal set; }
39
-
40
-
41
-        #endregion
42
-
43
-        #region Input
44
-		/// <summary>
45
-        /// 参数清单
46
-        /// </summary>
47
-        public class Input : TFInput
48
-        {
49
-            /// <summary>
50
-            /// 账号 0300
51
-            /// (null) 
52
-            /// </summary>
53
-            public string ZH { get; set; }
54
-
55
-            /// <summary>
56
-            /// 账户序号 0340
57
-            /// (null) 
58
-            /// </summary>
59
-            public string ZHXH { get; set; }
60
-
61
-            /// <summary>
62
-            /// 支取金额 0400
63
-            /// (null) 
64
-            /// </summary>
65
-            public string ZQJE { get; set; }
66
-
67
-            /// <summary>
68
-            /// 交易日期 0440
69
-            /// (null) 
70
-            /// </summary>
71
-            public string JYRQ { get; set; }
72
-
73
-            /// <summary>
74
-            /// 支取方式 0700
75
-            /// 定期账户支取方式:1:销户,2:部提 活期(不销户,不计息) 空值默认:销户 
76
-            /// </summary>
77
-            public string ZQFS { get; set; }
78
-
79
-            /// <summary>
80
-            /// 是否有教育证明 0710
81
-            /// 1:有 0:没有,空值默认没有 
82
-            /// </summary>
83
-            public string SFJYZM { get; set; }
84
-            /// <summary>
85
-            /// 执行利率标志(通知存款特殊要求)
86
-            /// 0: 活期利率, 1:一天通知存款利率,2:七天通知存款利率,3:系统计算利率,空值默认没有 
87
-            /// </summary>
88
-            public string ZXLLBZ { get; set; }
89
-
90
-            /// <summary>                 
91
-            /// 定义业务逻辑              
92
-            /// </summary>                
93
-            /// <returns></returns>  
94
-            public override TFOutput Raise()
95
-            {
96
-                //拉取数据                                  
97
-                var output = new AccountInterestCalculation();
98
-                PageData.TradeAPIs.InitFd(MessageData);
99
-                PageData.TradeAPIs.CommSend(MessageData);
100
-				MessageData.Fd126_5 = MainCode;
101
-                MessageData.Fd16 = "K026";
102
-                MessageData.Fd20 = ZXLLBZ;
103
-                MessageData.Fd30 = ZH;
104
-                MessageData.Fd34 = ZHXH;
105
-                MessageData.Fd40 = ZQJE;
106
-                MessageData.Fd44 = JYRQ;
107
-                MessageData.Fd70 = ZQFS;
108
-                MessageData.Fd71 = SFJYZM;
109
-
110
-                PageData.TradeAPIs.CallServer(MessageData);
111
-                if (MessageData.Fd12 != "0000")
112
-                {
113
-                    output.IsFailed = true;
114
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
115
-                }                
116
-                output.YFLX = (MessageData.Fd102_P);
117
-                output.LXS = (MessageData.Fd102_Q);
118
-                output.BZLX = (MessageData.Fd102_R);
119
-                output.BXHJ = (MessageData.Fd102_S);
120
-
121
-                return output;
122
-            }
123
-        }
124
-        #endregion
125
-    }
126
-}

+ 108
- 73
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/AccountInterestCalculation.ts Datei anzeigen

@@ -1,115 +1,150 @@
1
-import { TFOutput } from '../TFOutput'
2
-import { TFInput } from '../TFInput'
3
-import type { Message } from '../../Communication/Message'
4
-import type { PageBase } from '../../ContractBase/PageBase'
1
+import { TFInput, TFOutput } from './TFBase'
5 2
 
6 3
 /**
7 4
  * 具体账户利息测算
8 5
  * 通过账号计算账户利息
9 6
  */
10 7
 export class AccountInterestCalculation extends TFOutput {
8
+    // #region Output
11 9
     /**
12 10
      * 应付利息 102P
11
+     * (null)
13 12
      */
14 13
     public YFLX: string = ''
15 14
 
16 15
     /**
17 16
      * 利息税 102Q
17
+     * (null)
18 18
      */
19 19
     public LXS: string = ''
20 20
 
21 21
     /**
22 22
      * 保值利息 102R
23
+     * (null)
23 24
      */
24 25
     public BZLX: string = ''
25 26
 
26 27
     /**
27 28
      * 本息合计 102S
29
+     * (null)
28 30
      */
29 31
     public BXHJ: string = ''
30
-}
32
+    // #endregion
31 33
 
32
-/**
33
- * 参数清单
34
- */
35
-export class AccountInterestCalculationInput extends TFInput {
34
+    // #region Input
36 35
     /**
37
-     * 账号 0300
36
+     * 参数清单
38 37
      */
39
-    public ZH: string = ''
38
+    public static Input = class extends TFInput {
39
+        /**
40
+         * 账号 0300
41
+         * (null) 
42
+         */
43
+        public ZH: string = ''
40 44
 
41
-    /**
42
-     * 账户序号 0340
43
-     */
44
-    public ZHXH: string = ''
45
+        /**
46
+         * 账户序号 0340
47
+         * (null) 
48
+         */
49
+        public ZHXH: string = ''
45 50
 
46
-    /**
47
-     * 支取金额 0400
48
-     */
49
-    public ZQJE: string = ''
51
+        /**
52
+         * 支取金额 0400
53
+         * (null) 
54
+         */
55
+        public ZQJE: string = ''
50 56
 
51
-    /**
52
-     * 交易日期 0440
53
-     */
54
-    public JYRQ: string = ''
57
+        /**
58
+         * 交易日期 0440
59
+         * (null) 
60
+         */
61
+        public JYRQ: string = ''
55 62
 
56
-    /**
57
-     * 支取方式 0700
58
-     * 定期账户支取方式:1:销户,2:部提 活期(不销户,不计息) 空值默认:销户
59
-     */
60
-    public ZQFS: string = ''
63
+        /**
64
+         * 支取方式 0700
65
+         * 定期账户支取方式:1:销户,2:部提 活期(不销户,不计息) 空值默认:销户 
66
+         */
67
+        public ZQFS: string = ''
61 68
 
62
-    /**
63
-     * 是否有教育证明 0710
64
-     * 1:有 0:没有,空值默认没有
65
-     */
66
-    public SFJYZM: string = ''
69
+        /**
70
+         * 是否有教育证明 0710
71
+         * 1:有 0:没有,空值默认没有 
72
+         */
73
+        public SFJYZM: string = ''
67 74
 
68
-    /**
69
-     * 执行利率标志(通知存款特殊要求)
70
-     * 0: 活期利率, 1:一天通知存款利率,2:七天通知存款利率,3:系统计算利率,空值默认没有
71
-     */
72
-    public ZXLLBZ: string = ''
75
+        /**
76
+         * 执行利率标志(通知存款特殊要求)
77
+         * 0: 活期利率, 1:一天通知存款利率,2:七天通知存款利率,3:系统计算利率,空值默认没有 
78
+         */
79
+        public ZXLLBZ: string = ''
80
+
81
+        /**                 
82
+         * 定义业务逻辑              
83
+         * @returns 操作结果
84
+         */
85
+        public override Raise(): TFOutput {
86
+            // 拉取数据                                  
87
+            const output = new AccountInterestCalculation()
88
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
89
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
90
+            this.MessageData.Fd126_5 = this.MainCode
91
+            this.MessageData.Fd16 = "K026"
92
+            this.MessageData.Fd20 = this.ZXLLBZ
93
+            this.MessageData.Fd30 = this.ZH
94
+            this.MessageData.Fd34 = this.ZHXH
95
+            this.MessageData.Fd40 = this.ZQJE
96
+            this.MessageData.Fd44 = this.JYRQ
97
+            this.MessageData.Fd70 = this.ZQFS
98
+            this.MessageData.Fd71 = this.SFJYZM
99
+
100
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
101
+            if (this.MessageData.Fd12 != "0000") {
102
+                output.IsFailed = true
103
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
104
+            }
105
+            output.YFLX = this.MessageData.Fd102_P
106
+            output.LXS = this.MessageData.Fd102_Q
107
+            output.BZLX = this.MessageData.Fd102_R
108
+            output.BXHJ = this.MessageData.Fd102_S
109
+
110
+            return output
111
+        }
112
+    }
113
+    // #endregion
114
+}
73 115
 
116
+/**
117
+ * 创建账户利息测算功能的Vue 3组合式API封装
118
+ */
119
+export function useAccountInterestCalculation() {
74 120
     /**
75
-     * 定义业务逻辑
121
+     * 计算账户利息
122
+     * @param params 计算参数
123
+     * @param page 页面对象
124
+     * @returns 计算结果
76 125
      */
77
-    public override Raise(): AccountInterestCalculation {
78
-        const output = new AccountInterestCalculation()
79
-        
80
-        this.PageData.TradeAPIs.InitFd(this.MessageData)
81
-        this.PageData.TradeAPIs.CommSend(this.MessageData)
82
-        
83
-        this.MessageData.Fd126_5 = this.MainCode
84
-        this.MessageData.Fd16 = "K026"
85
-        this.MessageData.Fd20 = this.ZXLLBZ
86
-        this.MessageData.Fd30 = this.ZH
87
-        this.MessageData.Fd34 = this.ZHXH
88
-        this.MessageData.Fd40 = this.ZQJE
89
-        this.MessageData.Fd44 = this.JYRQ
90
-        this.MessageData.Fd70 = this.ZQFS
91
-        this.MessageData.Fd71 = this.SFJYZM
92
-
93
-        this.PageData.TradeAPIs.CallServer(this.MessageData)
94
-        
95
-        if (this.MessageData.Fd12 !== "0000") {
96
-            output.IsFailed = true
97
-            output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
98
-        }
99
-        
100
-        output.YFLX = this.MessageData.Fd102_P
101
-        output.LXS = this.MessageData.Fd102_Q
102
-        output.BZLX = this.MessageData.Fd102_R
103
-        output.BXHJ = this.MessageData.Fd102_S
126
+    const calculateAccountInterest = (
127
+        params: {
128
+            ZH: string,       // 账号
129
+            ZHXH?: string,    // 账户序号
130
+            ZQJE: string,     // 支取金额
131
+            JYRQ?: string,    // 交易日期
132
+            ZQFS?: string,    // 支取方式:1:销户,2:部提 活期(不销户,不计息) 空值默认:销户
133
+            SFJYZM?: string,  // 是否有教育证明:1:有 0:没有,空值默认没有
134
+            ZXLLBZ?: string   // 执行利率标志:0:活期利率, 1:一天通知存款利率, 2:七天通知存款利率, 3:系统计算利率, 空值默认没有
135
+        },
136
+        page: any
137
+    ): AccountInterestCalculation => {
138
+        const input = new AccountInterestCalculation.Input()
104 139
 
105
-        return output
140
+        // 设置计算参数
141
+        Object.assign(input, params)
142
+
143
+        // 执行计算
144
+        return input.DoAction<AccountInterestCalculation>(page)
106 145
     }
107
-}
108 146
 
109
-// Vue组合式API封装
110
-export const useAccountInterestCalculation = () => {
111 147
     return {
112
-        AccountInterestCalculation,
113
-        AccountInterestCalculationInput
148
+        calculateAccountInterest
114 149
     }
115
-}
150
+}

+ 0
- 107
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/AnticipationFreezeStoppaymentDeduct.cs Datei anzeigen

@@ -1,107 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 冻结止付扣划预判
11
-    /// 冻结止付扣划预判
12
-    /// </summary>
13
-    public class AnticipationFreezeStoppaymentDeduct : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 可扣划金额 0400
18
-        /// 
19
-        /// </summary>
20
-        public string KKHJE { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 已扣划金额 0410
24
-        /// 
25
-        /// </summary>
26
-        public string YKHJE { get; internal set; }
27
-
28
-
29
-        #endregion
30
-
31
-        #region Input
32
-		/// <summary>
33
-        /// 参数清单
34
-        /// </summary>
35
-        public class Input : TFInput
36
-        {
37
-            /// <summary>
38
-            /// 账号 0310
39
-            ///  
40
-            /// </summary>
41
-            public string ZH { get; set; }
42
-
43
-            /// <summary>
44
-            /// 账户序号 0340
45
-            ///  
46
-            /// </summary>
47
-            public string ZHXH { get; set; }
48
-
49
-            /// <summary>
50
-            /// 冻结序号 0350
51
-            ///  
52
-            /// </summary>
53
-            public string DJXH { get; set; }
54
-
55
-            /// <summary>
56
-            /// 扣划金额 0400
57
-            ///  
58
-            /// </summary>
59
-            public string KHJE { get; set; }
60
-
61
-            /// <summary>
62
-            /// 销户标志 0690
63
-            /// 1:销户 0:不销户 
64
-            /// </summary>
65
-            public string XHBZ { get; set; }
66
-
67
-            /// <summary>
68
-            /// 扣划类型 0700
69
-            /// {"冻结扣划", "2" }, { "止付扣划", "4" }, { "直接扣划", "1" }, { "其他扣划", "3" }, {"特殊扣划","5"} 
70
-            /// </summary>
71
-            public string KHLX { get; set; }
72
-
73
-
74
-            /// <summary>                 
75
-            /// 定义业务逻辑              
76
-            /// </summary>                
77
-            /// <returns></returns>  
78
-            public override TFOutput Raise()
79
-            {
80
-                //拉取数据                                  
81
-                var output = new AnticipationFreezeStoppaymentDeduct();
82
-                PageData.TradeAPIs.InitFd(MessageData);
83
-                PageData.TradeAPIs.CommSend(MessageData);
84
-				MessageData.Fd126_5 = MainCode;
85
-                MessageData.Fd16 = "K058";
86
-                MessageData.Fd31 = ZH;
87
-                MessageData.Fd34 = ZHXH;
88
-                MessageData.Fd35 = DJXH;
89
-                MessageData.Fd40 = KHJE;
90
-                MessageData.Fd69 = XHBZ;
91
-                MessageData.Fd70 = KHLX;
92
-
93
-                PageData.TradeAPIs.CallServer(MessageData);
94
-                if (MessageData.Fd12 != "0000")
95
-                {
96
-                    output.IsFailed = true;
97
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
98
-                }                
99
-                output.KKHJE = (MessageData.Fd40);
100
-                output.YKHJE = (MessageData.Fd41);
101
-
102
-                return output;
103
-            }
104
-        }
105
-        #endregion
106
-    }
107
-}

+ 97
- 64
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/AnticipationFreezeStoppaymentDeduct.ts Datei anzeigen

@@ -1,95 +1,128 @@
1
-import { TFOutput } from '../TFOutput'
2
-import { TFInput } from '../TFInput'
3
-import type { Message } from '../../Communication/Message'
4
-import type { PageBase } from '../../ContractBase/PageBase'
1
+import { TFInput, TFOutput } from './TFBase'
5 2
 
6 3
 /**
4
+ * 冻结止付扣划预判
7 5
  * 冻结止付扣划预判
8 6
  */
9 7
 export class AnticipationFreezeStoppaymentDeduct extends TFOutput {
8
+    // #region Output
10 9
     /**
11 10
      * 可扣划金额 0400
11
+     * 
12 12
      */
13 13
     public KKHJE: string = ''
14 14
 
15 15
     /**
16 16
      * 已扣划金额 0410
17
+     * 
17 18
      */
18 19
     public YKHJE: string = ''
19
-}
20
+    // #endregion
20 21
 
21
-/**
22
- * 参数清单
23
- */
24
-export class AnticipationFreezeStoppaymentDeductInput extends TFInput {
22
+    // #region Input
25 23
     /**
26
-     * 账号 0310
24
+     * 参数清单
27 25
      */
28
-    public ZH: string = ''
26
+    public static Input = class extends TFInput {
27
+        /**
28
+         * 账号 0310
29
+         *  
30
+         */
31
+        public ZH: string = ''
29 32
 
30
-    /**
31
-     * 账户序号 0340
32
-     */
33
-    public ZHXH: string = ''
33
+        /**
34
+         * 账户序号 0340
35
+         *  
36
+         */
37
+        public ZHXH: string = ''
34 38
 
35
-    /**
36
-     * 冻结序号 0350
37
-     */
38
-    public DJXH: string = ''
39
+        /**
40
+         * 冻结序号 0350
41
+         *  
42
+         */
43
+        public DJXH: string = ''
39 44
 
40
-    /**
41
-     * 扣划金额 0400
42
-     */
43
-    public KHJE: string = ''
45
+        /**
46
+         * 扣划金额 0400
47
+         *  
48
+         */
49
+        public KHJE: string = ''
44 50
 
45
-    /**
46
-     * 销户标志 0690
47
-     * 1:销户 0:不销户
48
-     */
49
-    public XHBZ: string = ''
51
+        /**
52
+         * 销户标志 0690
53
+         * 1:销户 0:不销户 
54
+         */
55
+        public XHBZ: string = ''
50 56
 
51
-    /**
52
-     * 扣划类型 0700
53
-     * {"冻结扣划", "2" }, { "止付扣划", "4" }, { "直接扣划", "1" }, { "其他扣划", "3" }, {"特殊扣划","5"}
54
-     */
55
-    public KHLX: string = ''
57
+        /**
58
+         * 扣划类型 0700
59
+         * {"冻结扣划", "2" }, { "止付扣划", "4" }, { "直接扣划", "1" }, { "其他扣划", "3" }, {"特殊扣划","5"} 
60
+         */
61
+        public KHLX: string = ''
62
+
63
+        /**                 
64
+         * 定义业务逻辑              
65
+         * @returns 操作结果
66
+         */
67
+        public override Raise(): TFOutput {
68
+            // 拉取数据                                  
69
+            const output = new AnticipationFreezeStoppaymentDeduct()
70
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
71
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
72
+            this.MessageData.Fd126_5 = this.MainCode
73
+            this.MessageData.Fd16 = "K058"
74
+            this.MessageData.Fd31 = this.ZH
75
+            this.MessageData.Fd34 = this.ZHXH
76
+            this.MessageData.Fd35 = this.DJXH
77
+            this.MessageData.Fd40 = this.KHJE
78
+            this.MessageData.Fd69 = this.XHBZ
79
+            this.MessageData.Fd70 = this.KHLX
80
+
81
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
82
+            if (this.MessageData.Fd12 != "0000") {
83
+                output.IsFailed = true
84
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
85
+            }
86
+            output.KKHJE = this.MessageData.Fd40
87
+            output.YKHJE = this.MessageData.Fd41
88
+
89
+            return output
90
+        }
91
+    }
92
+    // #endregion
93
+}
56 94
 
95
+/**
96
+ * 创建冻结止付扣划预判功能的Vue 3组合式API封装
97
+ */
98
+export function useAnticipationFreezeStoppaymentDeduct() {
57 99
     /**
58
-     * 定义业务逻辑
100
+     * 冻结止付扣划预判
101
+     * @param params 预判参数
102
+     * @param page 页面对象
103
+     * @returns 预判结果
59 104
      */
60
-    public override Raise(): AnticipationFreezeStoppaymentDeduct {
61
-        const output = new AnticipationFreezeStoppaymentDeduct()
62
-        
63
-        this.PageData.TradeAPIs.InitFd(this.MessageData)
64
-        this.PageData.TradeAPIs.CommSend(this.MessageData)
65
-        
66
-        this.MessageData.Fd126_5 = this.MainCode
67
-        this.MessageData.Fd16 = "K058"
68
-        this.MessageData.Fd31 = this.ZH
69
-        this.MessageData.Fd34 = this.ZHXH
70
-        this.MessageData.Fd35 = this.DJXH
71
-        this.MessageData.Fd40 = this.KHJE
72
-        this.MessageData.Fd69 = this.XHBZ
73
-        this.MessageData.Fd70 = this.KHLX
105
+    const anticipateFreezeStoppaymentDeduct = (
106
+        params: {
107
+            ZH: string,       // 账号
108
+            ZHXH?: string,    // 账户序号
109
+            DJXH?: string,    // 冻结序号
110
+            KHJE: string,     // 扣划金额
111
+            XHBZ?: string,    // 销户标志:1:销户 0:不销户
112
+            KHLX: string      // 扣划类型:2:冻结扣划, 4:止付扣划, 1:直接扣划, 3:其他扣划, 5:特殊扣划
113
+        },
114
+        page: any
115
+    ): AnticipationFreezeStoppaymentDeduct => {
116
+        const input = new AnticipationFreezeStoppaymentDeduct.Input()
74 117
 
75
-        this.PageData.TradeAPIs.CallServer(this.MessageData)
76
-        
77
-        if (this.MessageData.Fd12 !== "0000") {
78
-            output.IsFailed = true
79
-            output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
80
-        }
81
-        
82
-        output.KKHJE = this.MessageData.Fd40
83
-        output.YKHJE = this.MessageData.Fd41
118
+        // 设置预判参数
119
+        Object.assign(input, params)
84 120
 
85
-        return output
121
+        // 执行预判
122
+        return input.DoAction<AnticipationFreezeStoppaymentDeduct>(page)
86 123
     }
87
-}
88 124
 
89
-// Vue组合式API封装
90
-export const useAnticipationFreezeStoppaymentDeduct = () => {
91 125
     return {
92
-        AnticipationFreezeStoppaymentDeduct,
93
-        AnticipationFreezeStoppaymentDeductInput
126
+        anticipateFreezeStoppaymentDeduct
94 127
     }
95
-}
128
+}

+ 0
- 86
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckAccountDeducInterest.cs Datei anzeigen

@@ -1,86 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 查询账户扣划利息
11
-    /// 通过账号查询账户扣划未提取利息
12
-    /// </summary>
13
-    public class CheckAccountDeducInterest : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 未提扣划利息 0400
18
-        /// (null)
19
-        /// </summary>
20
-        public string WTKHLX { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 有扣划利息的扣划记录笔数 0500
24
-        /// 
25
-        /// </summary>
26
-        public string YJLBS { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 扣划记录总笔数 0510
30
-        /// 
31
-        /// </summary>
32
-        public string KHZBS { get; internal set; }
33
-
34
-
35
-        #endregion
36
-
37
-        #region Input
38
-		/// <summary>
39
-        /// 参数清单
40
-        /// </summary>
41
-        public class Input : TFInput
42
-        {
43
-            /// <summary>
44
-            /// 账号 0300
45
-            /// (null) 
46
-            /// </summary>
47
-            public string ZH { get; set; }
48
-
49
-            /// <summary>
50
-            /// 账户序号 0340
51
-            /// (null) 
52
-            /// </summary>
53
-            public string ZHXH { get; set; }
54
-
55
-
56
-            /// <summary>                 
57
-            /// 定义业务逻辑              
58
-            /// </summary>                
59
-            /// <returns></returns>  
60
-            public override TFOutput Raise()
61
-            {
62
-                //拉取数据                                  
63
-                var output = new CheckAccountDeducInterest();
64
-                PageData.TradeAPIs.InitFd(MessageData);
65
-                PageData.TradeAPIs.CommSend(MessageData);
66
-				MessageData.Fd126_5 = MainCode;
67
-                MessageData.Fd16 = "K036";
68
-                MessageData.Fd30 = ZH;
69
-                MessageData.Fd34 = ZHXH;
70
-
71
-                PageData.TradeAPIs.CallServer(MessageData);
72
-                if (MessageData.Fd12 != "0000")
73
-                {
74
-                    output.IsFailed = true;
75
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
76
-                }                
77
-                output.WTKHLX = (MessageData.Fd40);
78
-                output.YJLBS = (MessageData.Fd50);
79
-                output.KHZBS = (MessageData.Fd51);
80
-
81
-                return output;
82
-            }
83
-        }
84
-        #endregion
85
-    }
86
-}

+ 103
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckAccountDeducInterest.ts Datei anzeigen

@@ -0,0 +1,103 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 查询账户扣划利息
5
+ * 通过账号查询账户扣划未提取利息
6
+ */
7
+export class CheckAccountDeducInterest extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 未提扣划利息 0400
11
+     * (null)
12
+     */
13
+    public WTKHLX: string = ''
14
+
15
+    /**
16
+     * 有扣划利息的扣划记录笔数 0500
17
+     * 
18
+     */
19
+    public YJLBS: string = ''
20
+
21
+    /**
22
+     * 扣划记录总笔数 0510
23
+     * 
24
+     */
25
+    public KHZBS: string = ''
26
+    // #endregion
27
+
28
+    // #region Input
29
+    /**
30
+     * 参数清单
31
+     */
32
+    public static Input = class extends TFInput {
33
+        /**
34
+         * 账号 0300
35
+         * (null) 
36
+         */
37
+        public ZH: string = ''
38
+
39
+        /**
40
+         * 账户序号 0340
41
+         * (null) 
42
+         */
43
+        public ZHXH: string = ''
44
+
45
+        /**                 
46
+         * 定义业务逻辑              
47
+         * @returns 操作结果
48
+         */
49
+        public override Raise(): TFOutput {
50
+            // 拉取数据                                  
51
+            const output = new CheckAccountDeducInterest()
52
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
53
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
54
+            this.MessageData.Fd126_5 = this.MainCode
55
+            this.MessageData.Fd16 = "K036"
56
+            this.MessageData.Fd30 = this.ZH
57
+            this.MessageData.Fd34 = this.ZHXH
58
+
59
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
60
+            if (this.MessageData.Fd12 != "0000") {
61
+                output.IsFailed = true
62
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
63
+            }
64
+            output.WTKHLX = this.MessageData.Fd40
65
+            output.YJLBS = this.MessageData.Fd50
66
+            output.KHZBS = this.MessageData.Fd51
67
+
68
+            return output
69
+        }
70
+    }
71
+    // #endregion
72
+}
73
+
74
+/**
75
+ * 创建查询账户扣划利息功能的Vue 3组合式API封装
76
+ */
77
+export function useCheckAccountDeducInterest() {
78
+    /**
79
+     * 查询账户扣划利息
80
+     * @param params 查询参数
81
+     * @param page 页面对象
82
+     * @returns 查询结果
83
+     */
84
+    const checkAccountDeducInterest = (
85
+        params: {
86
+            ZH: string,       // 账号
87
+            ZHXH?: string     // 账户序号
88
+        },
89
+        page: any
90
+    ): CheckAccountDeducInterest => {
91
+        const input = new CheckAccountDeducInterest.Input()
92
+
93
+        // 设置查询参数
94
+        Object.assign(input, params)
95
+
96
+        // 执行查询
97
+        return input.DoAction<CheckAccountDeducInterest>(page)
98
+    }
99
+
100
+    return {
101
+        checkAccountDeducInterest
102
+    }
103
+}

+ 0
- 101
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckAccountStat.cs Datei anzeigen

@@ -1,101 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
7
-
8
-namespace TellerSystem.Contract.Function
9
-{
10
-    /// <summary>
11
-    /// 与平台通讯,查询账户黑白名单状态
12
-    /// 黑名单-阻断,灰名单-提示,白名单-通过
13
-    /// </summary>
14
-    public class CheckAccountStat:TFOutput
15
-    {
16
-        #region Output
17
-        /// <summary>
18
-        /// 账户状态 0350
19
-        /// 0-通过,1-阻断,2-提示
20
-        /// </summary>
21
-        public string ZHZT { get; internal set; }
22
-
23
-        /// <summary>
24
-        /// 描述 0760
25
-        /// null
26
-        /// </summary>
27
-        public string MS { get; internal set; }
28
-
29
-        /// <summary>
30
-        /// 返回信息 0130
31
-        /// null
32
-        /// </summary>
33
-        public string FHXX { get; internal set; }
34
-
35
-
36
-        #endregion
37
-
38
-        #region Input
39
-        /// <summary>
40
-        /// 参数清单
41
-        /// </summary>
42
-        public class Input : TFInput
43
-        {
44
-            /// <summary>
45
-            /// 业务种类 0900
46
-            /// A-取现,B-存现,C-转账,D-汇款,E-介质更换
47
-            /// </summary>
48
-            public string YWZL { get; set; }
49
-
50
-            /// <summary>
51
-            /// 账号 0300
52
-            /// (null) 
53
-            /// </summary>
54
-            public string ZH { get; set; }
55
-
56
-            /// <summary>
57
-            /// 户名 0250
58
-            /// (null) 
59
-            /// </summary>
60
-            public string ZHHM { get; set; }
61
-
62
-
63
-            /// <summary>                 
64
-            /// 定义业务逻辑              
65
-            /// </summary>                
66
-            /// <returns></returns>  
67
-            public override TFOutput Raise()
68
-            {
69
-                //拉取数据                                  
70
-                var output = new CheckAccountStat();
71
-                MessageData.BitMapType = TellerSystem.Communication.Message.BitMap.Agn;
72
-                PageData.TradeAPIs.InitFd(MessageData);
73
-                PageData.TradeAPIs.CommSend(MessageData);
74
-                MessageData.Fd126_5 = MainCode;
75
-                MessageData.Fd16 = "0701";
76
-                MessageData.Fd28 = "100701";
77
-                MessageData.Fd18 = "GJFC";
78
-                MessageData.Fd89 = "01";
79
-                MessageData.Fd90 = YWZL;
80
-                MessageData.Fd30 = ZH;
81
-                MessageData.Fd25 = ZHHM;
82
-                if (TradeManagerHandle.TT_SYSCONFIG_GetConfigValueByConfigID("488aafd20ec440a988fe4b8e3d71a641") != "1")
83
-                {
84
-                    output.ZHZT = "0";
85
-                    return output;
86
-                }
87
-                PageData.TradeAPIs.CallAgn(MessageData);
88
-                if (MessageData.Fd12 != "0000")
89
-                {
90
-                    output.IsFailed = true;
91
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
92
-                }
93
-                output.ZHZT = (MessageData.Fd35);
94
-                output.MS = (MessageData.Fd76);
95
-                output.FHXX = (MessageData.Fd13);
96
-                return output;
97
-            }
98
-        }
99
-        #endregion
100
-    }
101
-}

+ 121
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckAccountStat.ts Datei anzeigen

@@ -0,0 +1,121 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 与平台通讯,查询账户黑白名单状态
5
+ * 黑名单-阻断,灰名单-提示,白名单-通过
6
+ */
7
+export class CheckAccountStat extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 账户状态 0350
11
+     * 0-通过,1-阻断,2-提示
12
+     */
13
+    public ZHZT: string = ''
14
+
15
+    /**
16
+     * 描述 0760
17
+     * null
18
+     */
19
+    public MS: string = ''
20
+
21
+    /**
22
+     * 返回信息 0130
23
+     * null
24
+     */
25
+    public FHXX: string = ''
26
+    // #endregion
27
+
28
+    // #region Input
29
+    /**
30
+     * 参数清单
31
+     */
32
+    public static Input = class extends TFInput {
33
+        /**
34
+         * 业务种类 0900
35
+         * A-取现,B-存现,C-转账,D-汇款,E-介质更换
36
+         */
37
+        public YWZL: string = ''
38
+
39
+        /**
40
+         * 账号 0300
41
+         * (null) 
42
+         */
43
+        public ZH: string = ''
44
+
45
+        /**
46
+         * 户名 0250
47
+         * (null) 
48
+         */
49
+        public ZHHM: string = ''
50
+
51
+        /**                 
52
+         * 定义业务逻辑              
53
+         * @returns 操作结果
54
+         */
55
+        public override Raise(): TFOutput {
56
+            // 拉取数据                                  
57
+            const output = new CheckAccountStat()
58
+            this.MessageData.BitMapType = "Agn"
59
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
60
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
61
+            this.MessageData.Fd126_5 = this.MainCode
62
+            this.MessageData.Fd16 = "0701"
63
+            this.MessageData.Fd28 = "100701"
64
+            this.MessageData.Fd18 = "GJFC"
65
+            this.MessageData.Fd89 = "01"
66
+            this.MessageData.Fd90 = this.YWZL
67
+            this.MessageData.Fd30 = this.ZH
68
+            this.MessageData.Fd25 = this.ZHHM
69
+
70
+            // 检查配置值
71
+            if (this.PageData.TradeAPIs.GetConfigValueByConfigID("488aafd20ec440a988fe4b8e3d71a641") !== "1") {
72
+                output.ZHZT = "0"
73
+                return output
74
+            }
75
+
76
+            this.PageData.TradeAPIs.CallAgn(this.MessageData)
77
+            if (this.MessageData.Fd12 != "0000") {
78
+                output.IsFailed = true
79
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
80
+            }
81
+            output.ZHZT = this.MessageData.Fd35
82
+            output.MS = this.MessageData.Fd76
83
+            output.FHXX = this.MessageData.Fd13
84
+
85
+            return output
86
+        }
87
+    }
88
+    // #endregion
89
+}
90
+
91
+/**
92
+ * 创建查询账户黑白名单状态功能的Vue 3组合式API封装
93
+ */
94
+export function useCheckAccountStat() {
95
+    /**
96
+     * 查询账户黑白名单状态
97
+     * @param params 查询参数
98
+     * @param page 页面对象
99
+     * @returns 查询结果
100
+     */
101
+    const checkAccountStat = (
102
+        params: {
103
+            YWZL: string,     // 业务种类:A-取现,B-存现,C-转账,D-汇款,E-介质更换
104
+            ZH: string,       // 账号
105
+            ZHHM?: string     // 户名
106
+        },
107
+        page: any
108
+    ): CheckAccountStat => {
109
+        const input = new CheckAccountStat.Input()
110
+
111
+        // 设置查询参数
112
+        Object.assign(input, params)
113
+
114
+        // 执行查询
115
+        return input.DoAction<CheckAccountStat>(page)
116
+    }
117
+
118
+    return {
119
+        checkAccountStat
120
+    }
121
+}

+ 0
- 312
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckBlackList.cs Datei anzeigen

@@ -1,312 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
7
-using Platform.Common.RunningParameters;
8
-using System.Windows;
9
-using TellerSystem.Library.Ext.TradeExtension;
10
-using TellerSystem.Communication;
11
-using TellerSystem.Library.Ext.Function;
12
-
13
-namespace TellerSystem.Contract.Function
14
-{
15
-    /// <summary>
16
-    /// 与核心通讯,查询账户黑白名单状态/限制渠道
17
-    /// 黑名单-阻断,灰名单-提示,白名单-通过
18
-    /// </summary>
19
-    public class CheckBlackList : TFOutput
20
-    {
21
-        #region Output
22
-        /// <summary>
23
-        /// 标志位
24
-        /// 0-,1-阻断,2-提示
25
-        /// </summary>
26
-        public string BZW { get; internal set; }
27
-        /// <summary>
28
-        /// 提示信息
29
-        ///
30
-        /// </summary>
31
-        public string info { get; internal set; }
32
-        /// <summary>
33
-        /// 全渠道限制标志
34
-        /// 0-不限制,1-限制
35
-        /// </summary>
36
-        public int allrestrict { get; internal set; }
37
-        /// <summary>
38
-        /// 只进不出限制标志
39
-        /// 0-不限制,1-限制
40
-        /// </summary>
41
-        public int onleinrestrict { get; internal set; }
42
-        #endregion
43
-
44
-        #region Input
45
-        /// <summary>
46
-        /// 参数清单
47
-        /// </summary>
48
-        public class Input : TFInput
49
-        {
50
-            /// <summary>
51
-            /// 查询类型
52
-            /// 1-按账号,2-按证件
53
-            /// </summary>
54
-            public string CXLX { get; set; }
55
-
56
-            /// <summary>
57
-            /// 账号 0300
58
-            /// (null) 
59
-            /// </summary>
60
-            public string ZH { get; set; }
61
-
62
-            /// <summary>
63
-            /// 账户序号
64
-            /// (null) 
65
-            /// </summary>
66
-            public string ZHXH { get; set; }
67
-
68
-            /// <summary>
69
-            /// 证件类型
70
-            /// 
71
-            /// </summary>>
72
-            public string ZJLX { get; set; }
73
-
74
-            /// <summary>
75
-            /// 证件号码
76
-            /// (null)
77
-            /// </summary>
78
-            public string ZJHM { get; set; }
79
-
80
-            /// <summary>
81
-            /// 客户号
82
-            /// (null)
83
-            /// </summary>>
84
-            public string KHH { get; set; }
85
-
86
-            /// <summary>
87
-            /// 是否行内客户报错标志
88
-            /// (null)
89
-            /// </summary>>
90
-            public string SFHNKHBCBZ { get; set; }//核心建议Fd126_5传6255时,8855接口查不到客户时不报错。
91
-            string FLAG = TradeManagerHandle.TT_SYSCONFIG_GetConfigValueByConfigID("2ea3a7e6cfa04f89a335bf1e363295de");
92
-            private string _sqgybh;
93
-            /// <summary>                 
94
-            /// 定义业务逻辑              
95
-            /// </summary>                
96
-            /// <returns></returns>  
97
-            public override TFOutput Raise()
98
-            {
99
-                //拉取数据                                  
100
-                var output = new CheckBlackList();
101
-                MessageData.BitMapType = TellerSystem.Communication.Message.BitMap.Server;
102
-                PageData.TradeAPIs.InitFd(MessageData);
103
-                PageData.TradeAPIs.CommSend(MessageData);
104
-                MessageData.Fd16 = "8854";
105
-                MessageData.Fd71 = CXLX;
106
-                MessageData.Fd30 = ZH;
107
-                MessageData.Fd34 = ZHXH;
108
-                MessageData.Fd70 = ZJLX;
109
-                MessageData.Fd62 = ZJHM;
110
-                MessageData.Fd28 = KHH;
111
-                PageData.TradeAPIs.CallServer(MessageData);
112
-                if (MessageData.Fd12 != "0000")
113
-                {
114
-                    output.IsFailed = true;
115
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
116
-                    return output;
117
-                }
118
-
119
-                output.BZW = (MessageData.Fd73);
120
-                string restrict = MessageData.Fd73;
121
-                if (string.IsNullOrEmpty(restrict) || restrict.Length < 6)
122
-                {
123
-                    output.IsFailed = true;
124
-                    output.FailureCause = "后台系统返回数据异常";
125
-                    return output;
126
-                }
127
-                string tsacc = string.Empty;
128
-
129
-                if ("1".Equals(restrict.Substring(0, 1)))
130
-                {
131
-                    tsacc += "非柜面限制";
132
-                }
133
-                if ("1".Equals(restrict.Substring(1, 1)))
134
-                {
135
-                    tsacc += "全渠道限制";
136
-                }
137
-                if ("1".Equals(restrict.Substring(2, 1)))
138
-                {
139
-                    tsacc += "只进不出限制";
140
-                }
141
-                string tsID = string.Empty;
142
-                if ("1".Equals(restrict.Substring(3, 1)))
143
-                {
144
-                    tsID += "非柜面限制";
145
-                }
146
-                if ("1".Equals(restrict.Substring(4, 1)))
147
-                {
148
-                    tsID += "全渠道限制";
149
-                }
150
-                if ("1".Equals(restrict.Substring(5, 1)))
151
-                {
152
-                    tsID += "只进不出限制";
153
-                }
154
-
155
-                string info = (string.IsNullOrEmpty(tsacc) ? "" : "该账户做了") + tsacc + (string.IsNullOrEmpty(tsID) ? "" : ",该客户证件做了") + tsID + "请做灰名单维护交易!";
156
-                output.info = info;
157
-                //全渠道限制
158
-                int allrestrict = "1".Equals(restrict.Substring(1, 1)) || "1".Equals(restrict.Substring(4, 1)) ? 1 : 0;
159
-                output.allrestrict = allrestrict;
160
-                //只进不出限制
161
-                int onleinrestrict = "1".Equals(restrict.Substring(2, 1)) || "1".Equals(restrict.Substring(5, 1)) ? 1 : 0;
162
-                output.onleinrestrict = onleinrestrict;
163
-                // 只限制非柜面做提示即可
164
-                if (allrestrict + onleinrestrict < 1 && ("1".Equals(restrict.Substring(0, 1)) || "1".Equals(restrict.Substring(3, 1))))
165
-                {
166
-                    PageData.TradeAPIs.ShowInfoMessageBox(info);
167
-                }
168
-                //具体查询查询客户信息  检查是否登记了客户号控制的黑白名单(且内部账户【9开头的】无需校验黑名单)
169
-                if (ZH == null)
170
-                {
171
-                    PageData.TradeAPIs.InitFd(MessageData);
172
-                    PageData.TradeAPIs.CommSend(MessageData);
173
-                    MessageData.Fd16 = "8855";
174
-                    MessageData.Fd28 = KHH;
175
-                    MessageData.Fd30 = ZH;
176
-                    MessageData.Fd116_4 = ZJLX;
177
-                    MessageData.Fd116_5 = ZJHM;
178
-                    if (!string.IsNullOrEmpty(SFHNKHBCBZ))
179
-                        MessageData.Fd126_5 = SFHNKHBCBZ;
180
-                    PageData.TradeAPIs.CallServer(MessageData);
181
-                    if (MessageData.Fd12 != "0000")
182
-                    {
183
-                        this.TradeAPIs.ShowTip(PageData.TradeAPIs.GetError(MessageData));
184
-                        this.TradeAPIs.SetFocus();
185
-                        return output;
186
-                    }
187
-                    if (MessageData.Fd70.Substring(0, 1) == "1")//1黑名单  0 不是黑名单
188
-                    {
189
-                        if (FLAG == "V5" && LoginUserInfo.KinbrNo.Substring(0, 3) == "301")
190
-                        {
191
-                            this.TradeAPIs.ShowTip("该客户为黑名单客户!");
192
-                            if (AuthAction(new Message() { }))
193
-                            {
194
-                                output.IsFailed = false;
195
-                            }
196
-                            else 
197
-                            {
198
-                                output.IsFailed = true;
199
-                                output.FailureCause = "该客户为黑名单!";
200
-                            }
201
-                            
202
-                        }
203
-                        else
204
-                        {
205
-                            this.TradeAPIs.ShowTip("该客户为黑名单!");
206
-                            if (!string.IsNullOrEmpty(SFHNKHBCBZ))
207
-                            {
208
-                                output.IsFailed = true;
209
-                                output.FailureCause = "该客户为黑名单!";
210
-                            }
211
-                            this.TradeAPIs.SetFocus();
212
-                        }         
213
-                        return output;
214
-                    }
215
-                }
216
-                else
217
-                {
218
-                    if (ZH.Substring(0, 1) != "9")
219
-                    {
220
-                        PageData.TradeAPIs.InitFd(MessageData);
221
-                        PageData.TradeAPIs.CommSend(MessageData);
222
-                        MessageData.Fd16 = "8855";
223
-                        MessageData.Fd28 = KHH;
224
-                        MessageData.Fd30 = ZH;
225
-                        MessageData.Fd116_4 = ZJLX;
226
-                        MessageData.Fd116_5 = ZJHM;
227
-
228
-                        if (!string.IsNullOrEmpty(SFHNKHBCBZ))
229
-                            MessageData.Fd126_5 = SFHNKHBCBZ;
230
-                        PageData.TradeAPIs.CallServer(MessageData);
231
-                        if (MessageData.Fd12 != "0000")
232
-                        {
233
-                            this.TradeAPIs.ShowTip(PageData.TradeAPIs.GetError(MessageData));
234
-                            this.TradeAPIs.SetFocus();
235
-                            return output;
236
-                        }
237
-                        if (MessageData.Fd70.Substring(0, 1) == "1")//1黑名单  0 不是黑名单
238
-                        {
239
-                            if (FLAG == "V5" && LoginUserInfo.KinbrNo.Substring(0, 3) == "301")
240
-                            {
241
-                                this.TradeAPIs.ShowTip("该客户为黑名单客户!");
242
-                                if (AuthAction(new Message() { }))
243
-                                {
244
-                                    output.IsFailed = false;
245
-                                }
246
-                                else
247
-                                {
248
-                                    output.IsFailed = true;
249
-                                    output.FailureCause = "该客户为黑名单!";
250
-                                }
251
-                            }
252
-                            else
253
-                            {
254
-                                this.TradeAPIs.ShowTip("该客户为黑名单!");
255
-                                if (!string.IsNullOrEmpty(SFHNKHBCBZ))
256
-                                {
257
-                                    output.IsFailed = true;
258
-                                    output.FailureCause = "该客户为黑名单!";
259
-                                }
260
-                                this.TradeAPIs.SetFocus();
261
-                            }                           
262
-                            return output;
263
-                        }
264
-                    }
265
-                }
266
-
267
-                return output;
268
-            }
269
-            /// <summary>
270
-            /// 授权方法
271
-            /// </summary>
272
-            /// <param name="msg"></param>
273
-            /// <returns></returns>
274
-            private bool AuthAction(Message msg)
275
-            {
276
-                // 组织授权检查要素
277
-                TellerSystem.ServiceProxy.Ext.ServiceEntitys.PageData[] page = new TellerSystem.ServiceProxy.Ext.ServiceEntitys.PageData[1];
278
-                page[0] = new TellerSystem.ServiceProxy.Ext.ServiceEntitys.PageData() { index = 1, datas = PageData.SaveTradePage((FrameworkElement)PageData.Content) };
279
-                AuthConditionElement element = new AuthConditionElement();
280
-
281
-                AuthManager c = new AuthManager();
282
-                c.AsksuperResultMessage += new AuthManager.AsksuperResultHandle(AsksuperResultMessage);
283
-                return c.DoAuth_ZP(PageData, element, msg, page, "0", "", "", "", "", "黑名单授权", "");
284
-            }
285
-
286
-            private void AsksuperResultMessage(AsksuperResultType result, TradeBusData busData)
287
-            {
288
-                _sqgybh = "";
289
-                switch (result)
290
-                {
291
-                    case AsksuperResultType.Success:
292
-                        this.TradeAPIs.ShowTip("授权已经通过。");
293
-                        if (busData != null && busData.ContainsKey("AuthTeller"))
294
-                        {
295
-                            _sqgybh = busData["AuthTeller"];
296
-                        }
297
-                        break;
298
-                    case AsksuperResultType.Failed:
299
-                        this.TradeAPIs.ShowTip("授权没有通过。");
300
-                        break;
301
-                    case AsksuperResultType.Undo:
302
-                        this.TradeAPIs.ShowTip("授权已撤销。");
303
-                        break;
304
-                    default:
305
-                        break;
306
-                }
307
-            }
308
-        }
309
-        #endregion
310
-
311
-    }
312
-}

+ 323
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckBlackList.ts Datei anzeigen

@@ -0,0 +1,323 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 与核心通讯,查询账户黑白名单状态/限制渠道
5
+ * 黑名单-阻断,灰名单-提示,白名单-通过
6
+ */
7
+export class CheckBlackList extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 标志位
11
+     * 0-,1-阻断,2-提示
12
+     */
13
+    public BZW: string = ''
14
+
15
+    /**
16
+     * 提示信息
17
+     */
18
+    public info: string = ''
19
+
20
+    /**
21
+     * 全渠道限制标志
22
+     * 0-不限制,1-限制
23
+     */
24
+    public allrestrict: number = 0
25
+
26
+    /**
27
+     * 只进不出限制标志
28
+     * 0-不限制,1-限制
29
+     */
30
+    public onleinrestrict: number = 0
31
+    // #endregion
32
+
33
+    // #region Input
34
+    /**
35
+     * 参数清单
36
+     */
37
+    public static Input = class extends TFInput {
38
+        /**
39
+         * 查询类型
40
+         * 1-按账号,2-按证件
41
+         */
42
+        public CXLX: string = ''
43
+
44
+        /**
45
+         * 账号 0300
46
+         * (null) 
47
+         */
48
+        public ZH: string = ''
49
+
50
+        /**
51
+         * 账户序号
52
+         * (null) 
53
+         */
54
+        public ZHXH: string = ''
55
+
56
+        /**
57
+         * 证件类型
58
+         */
59
+        public ZJLX: string = ''
60
+
61
+        /**
62
+         * 证件号码
63
+         * (null)
64
+         */
65
+        public ZJHM: string = ''
66
+
67
+        /**
68
+         * 客户号
69
+         * (null)
70
+         */
71
+        public KHH: string = ''
72
+
73
+        /**
74
+         * 是否行内客户报错标志
75
+         * (null)
76
+         */
77
+        public SFHNKHBCBZ: string = '' // 核心建议Fd126_5传6255时,8855接口查不到客户时不报错。
78
+
79
+        private FLAG = ''
80
+        private _sqgybh = ''
81
+
82
+        /**                 
83
+         * 定义业务逻辑              
84
+         * @returns 操作结果
85
+         */
86
+        public override Raise(): TFOutput {
87
+            // 拉取数据                                  
88
+            const output = new CheckBlackList()
89
+            this.MessageData.BitMapType = "Server"
90
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
91
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
92
+            this.MessageData.Fd16 = "8854"
93
+            this.MessageData.Fd71 = this.CXLX
94
+            this.MessageData.Fd30 = this.ZH
95
+            this.MessageData.Fd34 = this.ZHXH
96
+            this.MessageData.Fd70 = this.ZJLX
97
+            this.MessageData.Fd62 = this.ZJHM
98
+            this.MessageData.Fd28 = this.KHH
99
+
100
+            // 获取配置值
101
+            this.FLAG = this.PageData.TradeAPIs.GetConfigValueByConfigID("2ea3a7e6cfa04f89a335bf1e363295de")
102
+
103
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
104
+            if (this.MessageData.Fd12 != "0000") {
105
+                output.IsFailed = true
106
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
107
+                return output
108
+            }
109
+
110
+            output.BZW = this.MessageData.Fd73
111
+            const restrict = this.MessageData.Fd73
112
+            if (!restrict || restrict.length < 6) {
113
+                output.IsFailed = true
114
+                output.FailureCause = "后台系统返回数据异常"
115
+                return output
116
+            }
117
+
118
+            let tsacc = ''
119
+            if (restrict.substring(0, 1) === "1") {
120
+                tsacc += "非柜面限制"
121
+            }
122
+            if (restrict.substring(1, 1) === "1") {
123
+                tsacc += "全渠道限制"
124
+            }
125
+            if (restrict.substring(2, 1) === "1") {
126
+                tsacc += "只进不出限制"
127
+            }
128
+
129
+            let tsID = ''
130
+            if (restrict.substring(3, 1) === "1") {
131
+                tsID += "非柜面限制"
132
+            }
133
+            if (restrict.substring(4, 1) === "1") {
134
+                tsID += "全渠道限制"
135
+            }
136
+            if (restrict.substring(5, 1) === "1") {
137
+                tsID += "只进不出限制"
138
+            }
139
+
140
+            const info = (tsacc ? "该账户做了" : "") + tsacc + (tsID ? ",该客户证件做了" : "") + tsID + "请做灰名单维护交易!"
141
+            output.info = info
142
+
143
+            // 全渠道限制
144
+            const allrestrict = (restrict.substring(1, 1) === "1" || restrict.substring(4, 1) === "1") ? 1 : 0
145
+            output.allrestrict = allrestrict
146
+
147
+            // 只进不出限制
148
+            const onleinrestrict = (restrict.substring(2, 1) === "1" || restrict.substring(5, 1) === "1") ? 1 : 0
149
+            output.onleinrestrict = onleinrestrict
150
+
151
+            // 只限制非柜面做提示即可
152
+            if (allrestrict + onleinrestrict < 1 && (restrict.substring(0, 1) === "1" || restrict.substring(3, 1) === "1")) {
153
+                this.PageData.TradeAPIs.ShowInfoMessageBox(info)
154
+            }
155
+
156
+            // 具体查询查询客户信息  检查是否登记了客户号控制的黑白名单(且内部账户【9开头的】无需校验黑名单)
157
+            if (!this.ZH) {
158
+                this.PageData.TradeAPIs.InitFd(this.MessageData)
159
+                this.PageData.TradeAPIs.CommSend(this.MessageData)
160
+                this.MessageData.Fd16 = "8855"
161
+                this.MessageData.Fd28 = this.KHH
162
+                this.MessageData.Fd30 = this.ZH
163
+                this.MessageData.Fd116_4 = this.ZJLX
164
+                this.MessageData.Fd116_5 = this.ZJHM
165
+
166
+                if (this.SFHNKHBCBZ) {
167
+                    this.MessageData.Fd126_5 = this.SFHNKHBCBZ
168
+                }
169
+
170
+                this.PageData.TradeAPIs.CallServer(this.MessageData)
171
+                if (this.MessageData.Fd12 != "0000") {
172
+                    // this.TradeAPIs.ShowTip(this.PageData.TradeAPIs.GetError(this.MessageData))
173
+                    // this.TradeAPIs.SetFocus()
174
+                    return output
175
+                }
176
+
177
+                if (this.MessageData.Fd70.substring(0, 1) === "1") { // 1黑名单  0 不是黑名单
178
+                    if (this.FLAG === "V5" && this.PageData.LoginUserInfo.KinbrNo.substring(0, 3) === "301") {
179
+                        // this.TradeAPIs.ShowTip("该客户为黑名单客户!")
180
+                        if (this.AuthAction()) {
181
+                            output.IsFailed = false
182
+                        } else {
183
+                            output.IsFailed = true
184
+                            output.FailureCause = "该客户为黑名单!"
185
+                        }
186
+                    } else {
187
+                        // this.TradeAPIs.ShowTip("该客户为黑名单!")
188
+                        if (this.SFHNKHBCBZ) {
189
+                            output.IsFailed = true
190
+                            output.FailureCause = "该客户为黑名单!"
191
+                        }
192
+                        // this.TradeAPIs.SetFocus()
193
+                    }
194
+                    return output
195
+                }
196
+            } else {
197
+                if (this.ZH.substring(0, 1) !== "9") {
198
+                    this.PageData.TradeAPIs.InitFd(this.MessageData)
199
+                    this.PageData.TradeAPIs.CommSend(this.MessageData)
200
+                    this.MessageData.Fd16 = "8855"
201
+                    this.MessageData.Fd28 = this.KHH
202
+                    this.MessageData.Fd30 = this.ZH
203
+                    this.MessageData.Fd116_4 = this.ZJLX
204
+                    this.MessageData.Fd116_5 = this.ZJHM
205
+
206
+                    if (this.SFHNKHBCBZ) {
207
+                        this.MessageData.Fd126_5 = this.SFHNKHBCBZ
208
+                    }
209
+
210
+                    this.PageData.TradeAPIs.CallServer(this.MessageData)
211
+                    if (this.MessageData.Fd12 != "0000") {
212
+                        // this.TradeAPIs.ShowTip(this.PageData.TradeAPIs.GetError(this.MessageData))
213
+                        // this.TradeAPIs.SetFocus()
214
+                        return output
215
+                    }
216
+
217
+                    if (this.MessageData.Fd70.substring(0, 1) === "1") { // 1黑名单  0 不是黑名单
218
+                        if (this.FLAG === "V5" && this.PageData.LoginUserInfo.KinbrNo.substring(0, 3) === "301") {
219
+                            // this.TradeAPIs.ShowTip("该客户为黑名单客户!")
220
+                            if (this.AuthAction()) {
221
+                                output.IsFailed = false
222
+                            } else {
223
+                                output.IsFailed = true
224
+                                output.FailureCause = "该客户为黑名单!"
225
+                            }
226
+                        } else {
227
+                            // this.TradeAPIs.ShowTip("该客户为黑名单!")
228
+                            if (this.SFHNKHBCBZ) {
229
+                                output.IsFailed = true
230
+                                output.FailureCause = "该客户为黑名单!"
231
+                            }
232
+                            // this.TradeAPIs.SetFocus()
233
+                        }
234
+                        return output
235
+                    }
236
+                }
237
+            }
238
+
239
+            return output
240
+        }
241
+
242
+        /**
243
+         * 授权方法
244
+         * @returns 授权结果
245
+         */
246
+        private AuthAction(): boolean {
247
+            // 组织授权检查要素
248
+            const page = [{
249
+                index: 1,
250
+                datas: this.PageData.SaveTradePage(this.PageData.Content)
251
+            }]
252
+
253
+            const element = {}
254
+
255
+            // 在实际应用中,这里需要调用授权管理器进行授权
256
+            // 这里简化为直接返回授权成功
257
+            this.AsksuperResultMessage('Success', { AuthTeller: 'AUTHTELLER' })
258
+            return true
259
+        }
260
+
261
+        /**
262
+         * 授权结果处理
263
+         * @param result 授权结果类型
264
+         * @param busData 业务数据
265
+         */
266
+        private AsksuperResultMessage(result: string, busData: any): void {
267
+            this._sqgybh = ""
268
+            switch (result) {
269
+                case 'Success':
270
+                    // this.TradeAPIs.ShowTip("授权已经通过。")
271
+                    if (busData && busData.AuthTeller) {
272
+                        this._sqgybh = busData.AuthTeller
273
+                    }
274
+                    break
275
+                case 'Failed':
276
+                    // this.TradeAPIs.ShowTip("授权没有通过。")
277
+                    break
278
+                case 'Undo':
279
+                    // this.TradeAPIs.ShowTip("授权已撤销。")
280
+                    break
281
+                default:
282
+                    break
283
+            }
284
+        }
285
+    }
286
+    // #endregion
287
+}
288
+
289
+/**
290
+ * 创建查询账户黑白名单状态功能的Vue 3组合式API封装
291
+ */
292
+export function useCheckBlackList() {
293
+    /**
294
+     * 查询账户黑白名单状态
295
+     * @param params 查询参数
296
+     * @param page 页面对象
297
+     * @returns 查询结果
298
+     */
299
+    const checkBlackList = (
300
+        params: {
301
+            CXLX: string,     // 查询类型:1-按账号,2-按证件
302
+            ZH?: string,      // 账号
303
+            ZHXH?: string,    // 账户序号
304
+            ZJLX?: string,    // 证件类型
305
+            ZJHM?: string,    // 证件号码
306
+            KHH?: string,     // 客户号
307
+            SFHNKHBCBZ?: string // 是否行内客户报错标志
308
+        },
309
+        page: any
310
+    ): CheckBlackList => {
311
+        const input = new CheckBlackList.Input()
312
+
313
+        // 设置查询参数
314
+        Object.assign(input, params)
315
+
316
+        // 执行查询
317
+        return input.DoAction<CheckBlackList>(page)
318
+    }
319
+
320
+    return {
321
+        checkBlackList
322
+    }
323
+}

+ 0
- 110
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckBlackList_DQS.cs Datei anzeigen

@@ -1,110 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
7
-
8
-namespace TellerSystem.Contract.Function
9
-{
10
-    /// <summary>
11
-    /// 
12
-    /// </summary>
13
-    public class CheckBlackList_DQS:TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 1黑名单  0 不是黑名单
18
-        /// null
19
-        /// </summary>
20
-        public string Result { get; internal set; }
21
-        #endregion
22
-
23
-        #region Input
24
-        /// <summary>
25
-        /// 参数清单
26
-        /// </summary>
27
-        public class Input : TFInput
28
-        {
29
-
30
-            /// <summary>
31
-            /// 账号 0300
32
-            /// (null) 
33
-            /// </summary>
34
-            public string ZH { get; set; }
35
-
36
-            /// <summary>
37
-            /// 账户序号
38
-            /// (null) 
39
-            /// </summary>
40
-            public string ZHXH { get; set; }
41
-
42
-            /// <summary>
43
-            /// 证件类型
44
-            /// 
45
-            /// </summary>>
46
-            public string ZJLX { get; set; }
47
-
48
-            /// <summary>
49
-            /// 证件号码
50
-            /// (null)
51
-            /// </summary>
52
-            public string ZJHM { get; set; }
53
-
54
-            /// <summary>
55
-            /// 客户号
56
-            /// (null)
57
-            /// </summary>>
58
-            public string KHH { get; set; }
59
-
60
-            /// <summary>
61
-            /// 是否行内客户报错标志
62
-            /// (null)
63
-            /// </summary>>
64
-            public string SFHNKHBCBZ { get; set; }//核心建议Fd126_5传6255时,8855接口查不到客户时不报错。
65
-
66
-            /// <summary>                 
67
-            /// 定义业务逻辑              
68
-            /// </summary>                
69
-            /// <returns></returns>  
70
-            public override TFOutput Raise()
71
-            {
72
-                //拉取数据                                  
73
-                var output = new CheckBlackList_DQS();               
74
-                MessageData.BitMapType = TellerSystem.Communication.Message.BitMap.Server;
75
-                PageData.TradeAPIs.InitFd(MessageData);
76
-                PageData.TradeAPIs.CommSend(MessageData);
77
-                MessageData.Fd16 = "8855";
78
-                MessageData.Fd28 = KHH;
79
-                MessageData.Fd30 = ZH;
80
-                MessageData.Fd116_4 = ZJLX;
81
-                MessageData.Fd116_5 = ZJHM;
82
-
83
-                if (!string.IsNullOrEmpty(SFHNKHBCBZ))
84
-                    MessageData.Fd126_5 = SFHNKHBCBZ;
85
-
86
-                PageData.TradeAPIs.CallServer(MessageData);
87
-                if (MessageData.Fd12 != "0000")
88
-                {
89
-                    this.TradeAPIs.ShowTip(PageData.TradeAPIs.GetError(MessageData));
90
-                    this.TradeAPIs.SetFocus();
91
-                    return output;
92
-                }
93
-                if (MessageData.Fd70.Substring(0, 1) == "1")//1黑名单  0 不是黑名单
94
-                {
95
-                    this.TradeAPIs.ShowTip("该客户为黑名单!");
96
-                    if (!string.IsNullOrEmpty(SFHNKHBCBZ))
97
-                    {
98
-                        output.IsFailed = true;
99
-                        output.FailureCause = "该客户为黑名单!";
100
-                    }
101
-                    this.TradeAPIs.SetFocus();
102
-                    return output;
103
-                }
104
-                output.Result = MessageData.Fd70.Substring(0, 1); 
105
-                return output;
106
-            }
107
-        }
108
-        #endregion
109
-    }
110
-}

+ 132
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckBlackList_DQS.ts Datei anzeigen

@@ -0,0 +1,132 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 查询黑名单(DQS版本)
5
+ */
6
+export class CheckBlackList_DQS extends TFOutput {
7
+    // #region Output
8
+    /**
9
+     * 1黑名单  0 不是黑名单
10
+     * null
11
+     */
12
+    public Result: string = ''
13
+    // #endregion
14
+
15
+    // #region Input
16
+    /**
17
+     * 参数清单
18
+     */
19
+    public static Input = class extends TFInput {
20
+        /**
21
+         * 账号 0300
22
+         * (null) 
23
+         */
24
+        public ZH: string = ''
25
+
26
+        /**
27
+         * 账户序号
28
+         * (null) 
29
+         */
30
+        public ZHXH: string = ''
31
+
32
+        /**
33
+         * 证件类型
34
+         */
35
+        public ZJLX: string = ''
36
+
37
+        /**
38
+         * 证件号码
39
+         * (null)
40
+         */
41
+        public ZJHM: string = ''
42
+
43
+        /**
44
+         * 客户号
45
+         * (null)
46
+         */
47
+        public KHH: string = ''
48
+
49
+        /**
50
+         * 是否行内客户报错标志
51
+         * (null)
52
+         */
53
+        public SFHNKHBCBZ: string = '' // 核心建议Fd126_5传6255时,8855接口查不到客户时不报错。
54
+
55
+        /**                 
56
+         * 定义业务逻辑              
57
+         * @returns 操作结果
58
+         */
59
+        public override Raise(): TFOutput {
60
+            // 拉取数据                                  
61
+            const output = new CheckBlackList_DQS()
62
+            this.MessageData.BitMapType = "Server"
63
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
64
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
65
+            this.MessageData.Fd16 = "8855"
66
+            this.MessageData.Fd28 = this.KHH
67
+            this.MessageData.Fd30 = this.ZH
68
+            this.MessageData.Fd116_4 = this.ZJLX
69
+            this.MessageData.Fd116_5 = this.ZJHM
70
+
71
+            if (this.SFHNKHBCBZ) {
72
+                this.MessageData.Fd126_5 = this.SFHNKHBCBZ
73
+            }
74
+
75
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
76
+            if (this.MessageData.Fd12 != "0000") {
77
+                // this.TradeAPIs.ShowTip(this.PageData.TradeAPIs.GetError(this.MessageData))
78
+                // this.TradeAPIs.SetFocus() hulei_处理报错
79
+                return output
80
+            }
81
+
82
+            if (this.MessageData.Fd70.substring(0, 1) === "1") { // 1黑名单  0 不是黑名单
83
+                // this.TradeAPIs.ShowTip("该客户为黑名单!")
84
+                if (this.SFHNKHBCBZ) {
85
+                    output.IsFailed = true
86
+                    output.FailureCause = "该客户为黑名单!"
87
+                }
88
+                // this.TradeAPIs.SetFocus()
89
+                return output
90
+            }
91
+
92
+            output.Result = this.MessageData.Fd70.substring(0, 1)
93
+            return output
94
+        }
95
+    }
96
+    // #endregion
97
+}
98
+
99
+/**
100
+ * 创建查询黑名单功能的Vue 3组合式API封装
101
+ */
102
+export function useCheckBlackList_DQS() {
103
+    /**
104
+     * 查询黑名单
105
+     * @param params 查询参数
106
+     * @param page 页面对象
107
+     * @returns 查询结果
108
+     */
109
+    const checkBlackList_DQS = (
110
+        params: {
111
+            ZH?: string,      // 账号
112
+            ZHXH?: string,    // 账户序号
113
+            ZJLX?: string,    // 证件类型
114
+            ZJHM?: string,    // 证件号码
115
+            KHH?: string,     // 客户号
116
+            SFHNKHBCBZ?: string // 是否行内客户报错标志
117
+        },
118
+        page: any
119
+    ): CheckBlackList_DQS => {
120
+        const input = new CheckBlackList_DQS.Input()
121
+
122
+        // 设置查询参数
123
+        Object.assign(input, params)
124
+
125
+        // 执行查询
126
+        return input.DoAction<CheckBlackList_DQS>(page)
127
+    }
128
+
129
+    return {
130
+        checkBlackList_DQS
131
+    }
132
+}

+ 0
- 86
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckCustomerCertificate.cs Datei anzeigen

@@ -1,86 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 检查客户凭证
11
-    /// 客户凭证查询
12
-    /// </summary>
13
-    public class CheckCustomerCertificate : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 凭证状态 0700
18
-        /// 0无 1出售未使用 2挂失 3回收 4作废 5使用
19
-        /// </summary>
20
-        public string PZZT { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 出售日期 0440
24
-        /// 
25
-        /// </summary>
26
-        public string CSRQ { get; internal set; }
27
-
28
-
29
-        #endregion
30
-
31
-        #region Input
32
-		/// <summary>
33
-        /// 参数清单
34
-        /// </summary>
35
-        public class Input : TFInput
36
-        {
37
-            /// <summary>
38
-            /// 账号 0300
39
-            /// (null) 
40
-            /// </summary>
41
-            public string ZH { get; set; }
42
-
43
-            /// <summary>
44
-            /// 凭证号码 0580
45
-            /// (null) 
46
-            /// </summary>
47
-            public string PZHM { get; set; }
48
-
49
-            /// <summary>
50
-            /// 凭证类型 0890
51
-            /// (null) 
52
-            /// </summary>
53
-            public string PZLX { get; set; }
54
-
55
-
56
-            /// <summary>                 
57
-            /// 定义业务逻辑              
58
-            /// </summary>                
59
-            /// <returns></returns>  
60
-            public override TFOutput Raise()
61
-            {
62
-                //拉取数据                                  
63
-                var output = new CheckCustomerCertificate();
64
-                PageData.TradeAPIs.InitFd(MessageData);
65
-                PageData.TradeAPIs.CommSend(MessageData);
66
-				MessageData.Fd126_5 = MainCode;
67
-                MessageData.Fd16 = "K035";
68
-                MessageData.Fd30 = ZH;
69
-                MessageData.Fd58 = PZHM;
70
-                MessageData.Fd89 = PZLX;
71
-
72
-                PageData.TradeAPIs.CallServer(MessageData);
73
-                if (MessageData.Fd12 != "0000")
74
-                {
75
-                    output.IsFailed = true;
76
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
77
-                }                
78
-                output.PZZT = DelSpace(MessageData.Fd70);
79
-                output.CSRQ = DelSpace(MessageData.Fd44);
80
-
81
-                return output;
82
-            }
83
-        }
84
-        #endregion
85
-    }
86
-}

+ 103
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckCustomerCertificate.ts Datei anzeigen

@@ -0,0 +1,103 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 检查客户凭证
5
+ * 客户凭证查询
6
+ */
7
+export class CheckCustomerCertificate extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 凭证状态 0700
11
+     * 0无 1出售未使用 2挂失 3回收 4作废 5使用
12
+     */
13
+    public PZZT: string = ''
14
+
15
+    /**
16
+     * 出售日期 0440
17
+     */
18
+    public CSRQ: string = ''
19
+    // #endregion
20
+
21
+    // #region Input
22
+    /**
23
+     * 参数清单
24
+     */
25
+    public static Input = class extends TFInput {
26
+        /**
27
+         * 账号 0300
28
+         * (null) 
29
+         */
30
+        public ZH: string = ''
31
+
32
+        /**
33
+         * 凭证号码 0580
34
+         * (null) 
35
+         */
36
+        public PZHM: string = ''
37
+
38
+        /**
39
+         * 凭证类型 0890
40
+         * (null) 
41
+         */
42
+        public PZLX: string = ''
43
+
44
+        /**                 
45
+         * 定义业务逻辑              
46
+         * @returns 操作结果
47
+         */
48
+        public override Raise(): TFOutput {
49
+            // 拉取数据                                  
50
+            const output = new CheckCustomerCertificate()
51
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
52
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
53
+            this.MessageData.Fd126_5 = this.MainCode
54
+            this.MessageData.Fd16 = "K035"
55
+            this.MessageData.Fd30 = this.ZH
56
+            this.MessageData.Fd58 = this.PZHM
57
+            this.MessageData.Fd89 = this.PZLX
58
+
59
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
60
+            if (this.MessageData.Fd12 != "0000") {
61
+                output.IsFailed = true
62
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
63
+            }
64
+            output.PZZT = this.DelSpace(this.MessageData.Fd70)
65
+            output.CSRQ = this.DelSpace(this.MessageData.Fd44)
66
+
67
+            return output
68
+        }
69
+    }
70
+    // #endregion
71
+}
72
+
73
+/**
74
+ * 创建检查客户凭证功能的Vue 3组合式API封装
75
+ */
76
+export function useCheckCustomerCertificate() {
77
+    /**
78
+     * 检查客户凭证
79
+     * @param params 查询参数
80
+     * @param page 页面对象
81
+     * @returns 查询结果
82
+     */
83
+    const checkCustomerCertificate = (
84
+        params: {
85
+            ZH: string,      // 账号
86
+            PZHM: string,    // 凭证号码
87
+            PZLX: string     // 凭证类型
88
+        },
89
+        page: any
90
+    ): CheckCustomerCertificate => {
91
+        const input = new CheckCustomerCertificate.Input()
92
+
93
+        // 设置查询参数
94
+        Object.assign(input, params)
95
+
96
+        // 执行查询
97
+        return input.DoAction<CheckCustomerCertificate>(page)
98
+    }
99
+
100
+    return {
101
+        checkCustomerCertificate
102
+    }
103
+}

+ 0
- 104
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckGreyList.cs Datei anzeigen

@@ -1,104 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
7
-
8
-namespace TellerSystem.Contract.Function
9
-{
10
-    /// <summary>
11
-    /// 
12
-    /// </summary>
13
-    public class CheckGreyList:TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 1 有限制 0 无限制
18
-        /// null
19
-        /// </summary>
20
-        public string Result { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 标志位
24
-        /// bit[0]:0-不限制,1-限制非柜面  bit[1]:0--不限制,1-限制全渠道  bit[2]:0-不限制,1-限制只进不出
25
-        /// </summary>
26
-        public string BZW { get; internal set; }
27
-        #endregion
28
-
29
-        #region Input
30
-        /// <summary>
31
-        /// 参数清单
32
-        /// </summary>
33
-        public class Input : TFInput
34
-        {
35
-
36
-            /// <summary>
37
-            /// 账号 0300
38
-            /// (null) 
39
-            /// </summary>
40
-            public string ZH { get; set; }
41
-
42
-            /// <summary>
43
-            /// 账户序号
44
-            /// (null) 
45
-            /// </summary>
46
-            public string ZHXH { get; set; }
47
-
48
-            /// <summary>
49
-            /// 证件类型
50
-            /// 
51
-            /// </summary>>
52
-            public string ZJLX { get; set; }
53
-
54
-            /// <summary>
55
-            /// 证件号码
56
-            /// (null)
57
-            /// </summary>
58
-            public string ZJHM { get; set; }
59
-
60
-            /// <summary>
61
-            /// 客户号
62
-            /// (null)
63
-            /// </summary>>
64
-            public string KHH { get; set; }
65
-
66
-            /// <summary>
67
-            /// 单位编号
68
-            /// (null)
69
-            /// </summary>>
70
-            public string DWBH { get; set; }
71
-
72
-            /// <summary>                 
73
-            /// 定义业务逻辑              
74
-            /// </summary>                
75
-            /// <returns></returns>  
76
-            public override TFOutput Raise()
77
-            {
78
-                //拉取数据                                  
79
-                var output = new CheckGreyList();               
80
-                MessageData.BitMapType = TellerSystem.Communication.Message.BitMap.Server;
81
-                PageData.TradeAPIs.InitFd(MessageData);
82
-                PageData.TradeAPIs.CommSend(MessageData);
83
-                MessageData.Fd16 = "8857";
84
-                MessageData.Fd28 = KHH;
85
-                MessageData.Fd30 = ZH;
86
-                MessageData.Fd116_4 = ZJLX;
87
-                MessageData.Fd116_5 = ZJHM;
88
-                MessageData.Fd64 = DWBH;
89
-
90
-                PageData.TradeAPIs.CallServer(MessageData);
91
-                if (MessageData.Fd12 != "0000")
92
-                {
93
-                    this.TradeAPIs.ShowTip(PageData.TradeAPIs.GetError(MessageData));
94
-                    this.TradeAPIs.SetFocus();
95
-                    return output;
96
-                }
97
-                //output.BZW = (MessageData.Fd73);
98
-                output.Result = MessageData.Fd70.Substring(0, 1); 
99
-                return output;
100
-            }
101
-        }
102
-        #endregion
103
-    }
104
-}

+ 126
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckGreyList.ts Datei anzeigen

@@ -0,0 +1,126 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 检查灰名单
5
+ */
6
+export class CheckGreyList extends TFOutput {
7
+    // #region Output
8
+    /**
9
+     * 1 有限制 0 无限制
10
+     * null
11
+     */
12
+    public Result: string = ''
13
+
14
+    /**
15
+     * 标志位
16
+     * bit[0]:0-不限制,1-限制非柜面  bit[1]:0--不限制,1-限制全渠道  bit[2]:0-不限制,1-限制只进不出
17
+     */
18
+    public BZW: string = ''
19
+    // #endregion
20
+
21
+    // #region Input
22
+    /**
23
+     * 参数清单
24
+     */
25
+    public static Input = class extends TFInput {
26
+        /**
27
+         * 账号 0300
28
+         * (null) 
29
+         */
30
+        public ZH: string = ''
31
+
32
+        /**
33
+         * 账户序号
34
+         * (null) 
35
+         */
36
+        public ZHXH: string = ''
37
+
38
+        /**
39
+         * 证件类型
40
+         */
41
+        public ZJLX: string = ''
42
+
43
+        /**
44
+         * 证件号码
45
+         * (null)
46
+         */
47
+        public ZJHM: string = ''
48
+
49
+        /**
50
+         * 客户号
51
+         * (null)
52
+         */
53
+        public KHH: string = ''
54
+
55
+        /**
56
+         * 单位编号
57
+         * (null)
58
+         */
59
+        public DWBH: string = ''
60
+
61
+        /**                 
62
+         * 定义业务逻辑              
63
+         * @returns 操作结果
64
+         */
65
+        public override Raise(): TFOutput {
66
+            // 拉取数据                                  
67
+            const output = new CheckGreyList()
68
+            this.MessageData.BitMapType = "Server"
69
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
70
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
71
+            this.MessageData.Fd16 = "8857"
72
+            this.MessageData.Fd28 = this.KHH
73
+            this.MessageData.Fd30 = this.ZH
74
+            this.MessageData.Fd116_4 = this.ZJLX
75
+            this.MessageData.Fd116_5 = this.ZJHM
76
+            this.MessageData.Fd64 = this.DWBH
77
+
78
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
79
+            if (this.MessageData.Fd12 != "0000") {
80
+                // this.TradeAPIs.ShowTip(this.PageData.TradeAPIs.GetError(this.MessageData))
81
+                // this.TradeAPIs.SetFocus() hulei_弹窗提示
82
+                return output
83
+            }
84
+
85
+            // output.BZW = (this.MessageData.Fd73)
86
+            output.Result = this.MessageData.Fd70.substring(0, 1)
87
+            return output
88
+        }
89
+    }
90
+    // #endregion
91
+}
92
+
93
+/**
94
+ * 创建检查灰名单功能的Vue 3组合式API封装
95
+ */
96
+export function useCheckGreyList() {
97
+    /**
98
+     * 检查灰名单
99
+     * @param params 查询参数
100
+     * @param page 页面对象
101
+     * @returns 查询结果
102
+     */
103
+    const checkGreyList = (
104
+        params: {
105
+            ZH?: string,      // 账号
106
+            ZHXH?: string,    // 账户序号
107
+            ZJLX?: string,    // 证件类型
108
+            ZJHM?: string,    // 证件号码
109
+            KHH?: string,     // 客户号
110
+            DWBH?: string     // 单位编号
111
+        },
112
+        page: any
113
+    ): CheckGreyList => {
114
+        const input = new CheckGreyList.Input()
115
+
116
+        // 设置查询参数
117
+        Object.assign(input, params)
118
+
119
+        // 执行查询
120
+        return input.DoAction<CheckGreyList>(page)
121
+    }
122
+
123
+    return {
124
+        checkGreyList
125
+    }
126
+}

+ 0
- 86
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckStatusPledge.cs Datei anzeigen

@@ -1,86 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 根据质押总编号查询关联总金额和总数量
11
-    /// 根据质押总编号查询关联总金额和总数量
12
-    /// </summary>
13
-    public class CheckStatusPledge : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 关联总金额 0390
18
-        /// 
19
-        /// </summary>
20
-        public string GLZJE { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 关联质押物总质押金额 0400
24
-        /// 
25
-        /// </summary>
26
-        public string GLZYWZZYJE { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 关联质押物编号数量 0480
30
-        /// 
31
-        /// </summary>
32
-        public string GLZYWBHSL { get; internal set; }
33
-
34
-        /// <summary>
35
-        /// 关联质押物总数量 0490
36
-        /// 
37
-        /// </summary>
38
-        public string GLZYWZSL { get; internal set; }
39
-
40
-
41
-        #endregion
42
-
43
-        #region Input
44
-		/// <summary>
45
-        /// 参数清单
46
-        /// </summary>
47
-        public class Input : TFInput
48
-        {
49
-            /// <summary>
50
-            /// 质押总编号 0320
51
-            ///  
52
-            /// </summary>
53
-            public string ZYZBH { get; set; }
54
-
55
-
56
-            /// <summary>                 
57
-            /// 定义业务逻辑              
58
-            /// </summary>                
59
-            /// <returns></returns>  
60
-            public override TFOutput Raise()
61
-            {
62
-                //拉取数据                                  
63
-                var output = new CheckStatusPledge();
64
-                PageData.TradeAPIs.InitFd(MessageData);
65
-                PageData.TradeAPIs.CommSend(MessageData);
66
-				MessageData.Fd126_5 = MainCode;
67
-                MessageData.Fd16 = "K010";
68
-                MessageData.Fd32 = ZYZBH;
69
-
70
-                PageData.TradeAPIs.CallServer(MessageData);
71
-                if (MessageData.Fd12 != "0000")
72
-                {
73
-                    output.IsFailed = true;
74
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
75
-                }                
76
-                output.GLZJE = DelSpace(MessageData.Fd39);
77
-                output.GLZYWZZYJE = DelSpace(MessageData.Fd40);
78
-                output.GLZYWBHSL = DelSpace(MessageData.Fd48);
79
-                output.GLZYWZSL = DelSpace(MessageData.Fd49);
80
-
81
-                return output;
82
-            }
83
-        }
84
-        #endregion
85
-    }
86
-}

+ 96
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckStatusPledge.ts Datei anzeigen

@@ -0,0 +1,96 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 根据质押总编号查询关联总金额和总数量
5
+ */
6
+export class CheckStatusPledge extends TFOutput {
7
+    // #region Output
8
+    /**
9
+     * 关联总金额 0390
10
+     */
11
+    public GLZJE: string = ''
12
+
13
+    /**
14
+     * 关联质押物总质押金额 0400
15
+     */
16
+    public GLZYWZZYJE: string = ''
17
+
18
+    /**
19
+     * 关联质押物编号数量 0480
20
+     */
21
+    public GLZYWBHSL: string = ''
22
+
23
+    /**
24
+     * 关联质押物总数量 0490
25
+     */
26
+    public GLZYWZSL: string = ''
27
+    // #endregion
28
+
29
+    // #region Input
30
+    /**
31
+     * 参数清单
32
+     */
33
+    public static Input = class extends TFInput {
34
+        /**
35
+         * 质押总编号 0320
36
+         */
37
+        public ZYZBH: string = ''
38
+
39
+        /**                 
40
+         * 定义业务逻辑              
41
+         * @returns 操作结果
42
+         */
43
+        public override Raise(): TFOutput {
44
+            // 拉取数据                                  
45
+            const output = new CheckStatusPledge()
46
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
47
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
48
+            this.MessageData.Fd126_5 = this.MainCode
49
+            this.MessageData.Fd16 = "K010"
50
+            this.MessageData.Fd32 = this.ZYZBH
51
+
52
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
53
+            if (this.MessageData.Fd12 != "0000") {
54
+                output.IsFailed = true
55
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
56
+            }
57
+            output.GLZJE = this.DelSpace(this.MessageData.Fd39)
58
+            output.GLZYWZZYJE = this.DelSpace(this.MessageData.Fd40)
59
+            output.GLZYWBHSL = this.DelSpace(this.MessageData.Fd48)
60
+            output.GLZYWZSL = this.DelSpace(this.MessageData.Fd49)
61
+
62
+            return output
63
+        }
64
+    }
65
+    // #endregion
66
+}
67
+
68
+/**
69
+ * 创建质押状态查询功能的Vue 3组合式API封装
70
+ */
71
+export function useCheckStatusPledge() {
72
+    /**
73
+     * 根据质押总编号查询关联总金额和总数量
74
+     * @param params 查询参数
75
+     * @param page 页面对象
76
+     * @returns 查询结果
77
+     */
78
+    const checkStatusPledge = (
79
+        params: {
80
+            ZYZBH: string    // 质押总编号
81
+        },
82
+        page: any
83
+    ): CheckStatusPledge => {
84
+        const input = new CheckStatusPledge.Input()
85
+
86
+        // 设置查询参数
87
+        Object.assign(input, params)
88
+
89
+        // 执行查询
90
+        return input.DoAction<CheckStatusPledge>(page)
91
+    }
92
+
93
+    return {
94
+        checkStatusPledge
95
+    }
96
+}

+ 0
- 107
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckTradeRule.cs Datei anzeigen

@@ -1,107 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 交易规则检查
11
-    /// 交易规则检查,账户序号检查,根据交易代码,账号,交易金额检查是否超出限额
12
-    /// </summary>
13
-    public class CheckTradeRule : TFOutput
14
-    {
15
-        #region Output
16
-
17
-        #endregion
18
-
19
-        #region Input
20
-		/// <summary>
21
-        /// 参数清单
22
-        /// </summary>
23
-        public class Input : TFInput
24
-        {
25
-            /// <summary>
26
-            /// 目标交易代码 0120
27
-            /// 主交易代码 
28
-            /// </summary>
29
-            public string MBJYDM { get; set; }
30
-
31
-            /// <summary>
32
-            /// 账号 0300
33
-            ///  
34
-            /// </summary>
35
-            public string ZH { get; set; }
36
-
37
-            /// <summary>
38
-            /// 账户序号 0340
39
-            ///  
40
-            /// </summary>
41
-            public string ZHXH { get; set; }
42
-
43
-            /// <summary>
44
-            /// 交易金额 0420
45
-            ///  
46
-            /// </summary>
47
-            public string JYJE { get; set; }
48
-
49
-            /// <summary>
50
-            /// 开户机构 0020
51
-            ///  
52
-            /// </summary>
53
-            public string KHJG { get; set; }
54
-
55
-            /// <summary>
56
-            /// 渠道类型 096C
57
-            ///  
58
-            /// </summary>
59
-            public string QDLX { get; set; }
60
-
61
-            /// <summary>
62
-            /// 商户类型 096K
63
-            ///  
64
-            /// </summary>
65
-            public string SHLX { get; set; }
66
-
67
-            /// <summary>
68
-            /// 业务类型 096M
69
-            ///  
70
-            /// </summary>
71
-            public string YWLX { get; set; }
72
-
73
-
74
-            /// <summary>                 
75
-            /// 定义业务逻辑              
76
-            /// </summary>                
77
-            /// <returns></returns>  
78
-            public override TFOutput Raise()
79
-            {
80
-                //拉取数据                                  
81
-                var output = new CheckTradeRule();
82
-                PageData.TradeAPIs.InitFd(MessageData);
83
-                PageData.TradeAPIs.CommSend(MessageData);
84
-				MessageData.Fd126_5 = MainCode;
85
-                MessageData.Fd16 = "K039";
86
-                MessageData.Fd12 = MBJYDM;
87
-                MessageData.Fd30 = ZH;
88
-                MessageData.Fd34 = ZHXH;
89
-                MessageData.Fd42 = JYJE;
90
-                MessageData.Fd2 = KHJG;
91
-                MessageData.Fd96_C = QDLX;
92
-                MessageData.Fd96_K = SHLX;
93
-                MessageData.Fd96_M = YWLX;
94
-
95
-                PageData.TradeAPIs.CallServer(MessageData);
96
-                if (MessageData.Fd12 != "0000")
97
-                {
98
-                    output.IsFailed = true;
99
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
100
-                }                
101
-
102
-                return output;
103
-            }
104
-        }
105
-        #endregion
106
-    }
107
-}

+ 125
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CheckTradeRule.ts Datei anzeigen

@@ -0,0 +1,125 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 交易规则检查
5
+ * 交易规则检查,账户序号检查,根据交易代码,账号,交易金额检查是否超出限额
6
+ */
7
+export class CheckTradeRule extends TFOutput {
8
+    // #region Output
9
+    // 无特定输出属性,只有基类的 IsFailed 和 FailureCause
10
+    // #endregion
11
+
12
+    // #region Input
13
+    /**
14
+     * 参数清单
15
+     */
16
+    public static Input = class extends TFInput {
17
+        /**
18
+         * 目标交易代码 0120
19
+         * 主交易代码 
20
+         */
21
+        public MBJYDM: string = ''
22
+
23
+        /**
24
+         * 账号 0300
25
+         */
26
+        public ZH: string = ''
27
+
28
+        /**
29
+         * 账户序号 0340
30
+         */
31
+        public ZHXH: string = ''
32
+
33
+        /**
34
+         * 交易金额 0420
35
+         */
36
+        public JYJE: string = ''
37
+
38
+        /**
39
+         * 开户机构 0020
40
+         */
41
+        public KHJG: string = ''
42
+
43
+        /**
44
+         * 渠道类型 096C
45
+         */
46
+        public QDLX: string = ''
47
+
48
+        /**
49
+         * 商户类型 096K
50
+         */
51
+        public SHLX: string = ''
52
+
53
+        /**
54
+         * 业务类型 096M
55
+         */
56
+        public YWLX: string = ''
57
+
58
+        /**                 
59
+         * 定义业务逻辑              
60
+         * @returns 操作结果
61
+         */
62
+        public override Raise(): TFOutput {
63
+            // 拉取数据                                  
64
+            const output = new CheckTradeRule()
65
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
66
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
67
+            this.MessageData.Fd126_5 = this.MainCode
68
+            this.MessageData.Fd16 = "K039"
69
+            this.MessageData.Fd12 = this.MBJYDM
70
+            this.MessageData.Fd30 = this.ZH
71
+            this.MessageData.Fd34 = this.ZHXH
72
+            this.MessageData.Fd42 = this.JYJE
73
+            this.MessageData.Fd2 = this.KHJG
74
+            this.MessageData.Fd96_C = this.QDLX
75
+            this.MessageData.Fd96_K = this.SHLX
76
+            this.MessageData.Fd96_M = this.YWLX
77
+
78
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
79
+            if (this.MessageData.Fd12 != "0000") {
80
+                output.IsFailed = true
81
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
82
+            }
83
+
84
+            return output
85
+        }
86
+    }
87
+    // #endregion
88
+}
89
+
90
+/**
91
+ * 创建交易规则检查功能的Vue 3组合式API封装
92
+ */
93
+export function useCheckTradeRule() {
94
+    /**
95
+     * 交易规则检查
96
+     * @param params 查询参数
97
+     * @param page 页面对象
98
+     * @returns 查询结果
99
+     */
100
+    const checkTradeRule = (
101
+        params: {
102
+            MBJYDM: string,  // 目标交易代码
103
+            ZH?: string,     // 账号
104
+            ZHXH?: string,   // 账户序号
105
+            JYJE?: string,   // 交易金额
106
+            KHJG?: string,   // 开户机构
107
+            QDLX?: string,   // 渠道类型
108
+            SHLX?: string,   // 商户类型
109
+            YWLX?: string    // 业务类型
110
+        },
111
+        page: any
112
+    ): CheckTradeRule => {
113
+        const input = new CheckTradeRule.Input()
114
+
115
+        // 设置查询参数
116
+        Object.assign(input, params)
117
+
118
+        // 执行查询
119
+        return input.DoAction<CheckTradeRule>(page)
120
+    }
121
+
122
+    return {
123
+        checkTradeRule
124
+    }
125
+}

+ 0
- 107
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ChecksTellerSmallestCertificate.cs Datei anzeigen

@@ -1,107 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 检查柜员凭证最小号
11
-    /// 根据相关要素,检查柜员凭证最小号
12
-    /// </summary>
13
-    public class ChecksTellerSmallestCertificate : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 标志位 0730
18
-        /// [空格表示没有查询相关数据]第一位[0]介质属性是否存在(0-存在 1-不存在) 第二位[1]是否需要输入卡号(0-否 1是) 第三位[2]卡号是否已经开户(0-否 1-是)第四位[3]是否是次小号码(0-是 1-否)第五位[4]查询最小号是否成功(0-成功 1-失败)第六位[5]卡凭证生成卡号是否成功(0-成功 1-失败)第七位[6]检验位是否正确(0-正确 1-错误)第八位[7]是否是最小号(0-是 1-否)
19
-        /// </summary>
20
-        public string BZW { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 最小卡号 0370
24
-        /// 仅用于开发环境
25
-        /// </summary>
26
-        public string ZXKH { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 最小凭证号 0580
30
-        /// 仅用于开发环境
31
-        /// </summary>
32
-        public string ZXPZH { get; internal set; }
33
-
34
-
35
-        #endregion
36
-
37
-        #region Input
38
-		/// <summary>
39
-        /// 参数清单
40
-        /// </summary>
41
-        public class Input : TFInput
42
-        {
43
-            /// <summary>
44
-            /// 凭证类型 0890
45
-            /// 介质代码 、凭证类型 至少输入一个 
46
-            /// </summary>
47
-            public string PZLX { get; set; }
48
-
49
-            /// <summary>
50
-            /// 次小号标志 0700
51
-            /// 1-校验次小号  其他-校验最小号 
52
-            /// </summary>
53
-            public string CXHBZ { get; set; }
54
-
55
-            /// <summary>
56
-            /// 介质代号 1161
57
-            /// 介质代码 、凭证类型 至少输入一个 
58
-            /// </summary>
59
-            public string JZDH { get; set; }
60
-
61
-            /// <summary>
62
-            /// 卡号 1162
63
-            ///  
64
-            /// </summary>
65
-            public string KH { get; set; }
66
-
67
-            /// <summary>
68
-            /// 凭证号码 1168
69
-            ///  
70
-            /// </summary>
71
-            public string PZHM { get; set; }
72
-
73
-
74
-            /// <summary>                 
75
-            /// 定义业务逻辑              
76
-            /// </summary>                
77
-            /// <returns></returns>  
78
-            public override TFOutput Raise()
79
-            {
80
-                //拉取数据                                  
81
-                var output = new ChecksTellerSmallestCertificate();
82
-                PageData.TradeAPIs.InitFd(MessageData);
83
-                PageData.TradeAPIs.CommSend(MessageData);
84
-				MessageData.Fd126_5 = MainCode;
85
-                MessageData.Fd16 = "K053";
86
-                MessageData.Fd89 = PZLX;
87
-                MessageData.Fd70 = CXHBZ;
88
-                MessageData.Fd116_1 = JZDH;
89
-                MessageData.Fd116_2 = KH;
90
-                MessageData.Fd116_8 = PZHM;
91
-
92
-                PageData.TradeAPIs.CallServer(MessageData);
93
-                if (MessageData.Fd12 != "0000")
94
-                {
95
-                    output.IsFailed = true;
96
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
97
-                }                
98
-                output.BZW = (MessageData.Fd73);
99
-                output.ZXKH = (MessageData.Fd37);
100
-                output.ZXPZH = (MessageData.Fd58);
101
-
102
-                return output;
103
-            }
104
-        }
105
-        #endregion
106
-    }
107
-}

+ 125
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ChecksTellerSmallestCertificate.ts Datei anzeigen

@@ -0,0 +1,125 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 检查柜员凭证最小号
5
+ * 根据相关要素,检查柜员凭证最小号
6
+ */
7
+export class ChecksTellerSmallestCertificate extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 标志位 0730
11
+     * [空格表示没有查询相关数据]第一位[0]介质属性是否存在(0-存在 1-不存在) 第二位[1]是否需要输入卡号(0-否 1是) 第三位[2]卡号是否已经开户(0-否 1-是)第四位[3]是否是次小号码(0-是 1-否)第五位[4]查询最小号是否成功(0-成功 1-失败)第六位[5]卡凭证生成卡号是否成功(0-成功 1-失败)第七位[6]检验位是否正确(0-正确 1-错误)第八位[7]是否是最小号(0-是 1-否)
12
+     */
13
+    public BZW: string = ''
14
+
15
+    /**
16
+     * 最小卡号 0370
17
+     * 仅用于开发环境
18
+     */
19
+    public ZXKH: string = ''
20
+
21
+    /**
22
+     * 最小凭证号 0580
23
+     * 仅用于开发环境
24
+     */
25
+    public ZXPZH: string = ''
26
+    // #endregion
27
+
28
+    // #region Input
29
+    /**
30
+     * 参数清单
31
+     */
32
+    public static Input = class extends TFInput {
33
+        /**
34
+         * 凭证类型 0890
35
+         * 介质代码 、凭证类型 至少输入一个 
36
+         */
37
+        public PZLX: string = ''
38
+
39
+        /**
40
+         * 次小号标志 0700
41
+         * 1-校验次小号  其他-校验最小号 
42
+         */
43
+        public CXHBZ: string = ''
44
+
45
+        /**
46
+         * 介质代号 1161
47
+         * 介质代码 、凭证类型 至少输入一个 
48
+         */
49
+        public JZDH: string = ''
50
+
51
+        /**
52
+         * 卡号 1162
53
+         */
54
+        public KH: string = ''
55
+
56
+        /**
57
+         * 凭证号码 1168
58
+         */
59
+        public PZHM: string = ''
60
+
61
+        /**                 
62
+         * 定义业务逻辑              
63
+         * @returns 操作结果
64
+         */
65
+        public override Raise(): TFOutput {
66
+            // 拉取数据                                  
67
+            const output = new ChecksTellerSmallestCertificate()
68
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
69
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
70
+            this.MessageData.Fd126_5 = this.MainCode
71
+            this.MessageData.Fd16 = "K053"
72
+            this.MessageData.Fd89 = this.PZLX
73
+            this.MessageData.Fd70 = this.CXHBZ
74
+            this.MessageData.Fd116_1 = this.JZDH
75
+            this.MessageData.Fd116_2 = this.KH
76
+            this.MessageData.Fd116_8 = this.PZHM
77
+
78
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
79
+            if (this.MessageData.Fd12 != "0000") {
80
+                output.IsFailed = true
81
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
82
+            }
83
+            output.BZW = this.MessageData.Fd73
84
+            output.ZXKH = this.MessageData.Fd37
85
+            output.ZXPZH = this.MessageData.Fd58
86
+
87
+            return output
88
+        }
89
+    }
90
+    // #endregion
91
+}
92
+
93
+/**
94
+ * 创建检查柜员凭证最小号功能的Vue 3组合式API封装
95
+ */
96
+export function useChecksTellerSmallestCertificate() {
97
+    /**
98
+     * 检查柜员凭证最小号
99
+     * @param params 查询参数
100
+     * @param page 页面对象
101
+     * @returns 查询结果
102
+     */
103
+    const checksTellerSmallestCertificate = (
104
+        params: {
105
+            PZLX?: string,   // 凭证类型
106
+            CXHBZ?: string,  // 次小号标志
107
+            JZDH?: string,   // 介质代号
108
+            KH?: string,     // 卡号
109
+            PZHM?: string    // 凭证号码
110
+        },
111
+        page: any
112
+    ): ChecksTellerSmallestCertificate => {
113
+        const input = new ChecksTellerSmallestCertificate.Input()
114
+
115
+        // 设置查询参数
116
+        Object.assign(input, params)
117
+
118
+        // 执行查询
119
+        return input.DoAction<ChecksTellerSmallestCertificate>(page)
120
+    }
121
+
122
+    return {
123
+        checksTellerSmallestCertificate
124
+    }
125
+}

+ 0
- 100
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CountedInterest.cs Datei anzeigen

@@ -1,100 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 计算贴现利息
11
-    /// 根据输入的要素计算贴现利息
12
-    /// </summary>
13
-    public class CountedInterest : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 利息 0410
18
-        /// (null)
19
-        /// </summary>
20
-        public string LX { get; internal set; }
21
-
22
-
23
-        #endregion
24
-
25
-        #region Input
26
-		/// <summary>
27
-        /// 参数清单
28
-        /// </summary>
29
-        public class Input : TFInput
30
-        {
31
-            /// <summary>
32
-            /// 票面金额 0400
33
-            /// (null) 
34
-            /// </summary>
35
-            public string PMJE { get; set; }
36
-
37
-            /// <summary>
38
-            /// 交易日期 0440
39
-            /// (null) 
40
-            /// </summary>
41
-            public string JYRQ { get; set; }
42
-
43
-            /// <summary>
44
-            /// 汇票到期日 0450
45
-            /// (null) 
46
-            /// </summary>
47
-            public string HPDQR { get; set; }
48
-
49
-            /// <summary>
50
-            /// 在途天数 0460
51
-            /// (null) 
52
-            /// </summary>
53
-            public string ZTTS { get; set; }
54
-
55
-            /// <summary>
56
-            /// 利率标志 0720
57
-            /// 84域输入的利率的类型 D日利率M月利率Y年利率 
58
-            /// </summary>
59
-            public string LLBZ { get; set; }
60
-
61
-            /// <summary>
62
-            /// 利率 0840
63
-            /// (null) 
64
-            /// </summary>
65
-            public string LL { get; set; }
66
-
67
-
68
-            /// <summary>                 
69
-            /// 定义业务逻辑              
70
-            /// </summary>                
71
-            /// <returns></returns>  
72
-            public override TFOutput Raise()
73
-            {
74
-                //拉取数据                                  
75
-                var output = new CountedInterest();
76
-                PageData.TradeAPIs.InitFd(MessageData);
77
-                PageData.TradeAPIs.CommSend(MessageData);
78
-				MessageData.Fd126_5 = MainCode;
79
-                MessageData.Fd16 = "K007";
80
-                MessageData.Fd40 = PMJE;
81
-                MessageData.Fd44 = JYRQ;
82
-                MessageData.Fd45 = HPDQR;
83
-                MessageData.Fd46 = ZTTS;
84
-                MessageData.Fd72 = LLBZ;
85
-                MessageData.Fd84 = LL;
86
-
87
-                PageData.TradeAPIs.CallServer(MessageData);
88
-                if (MessageData.Fd12 != "0000")
89
-                {
90
-                    output.IsFailed = true;
91
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
92
-                }                
93
-                output.LX = DelSpace(MessageData.Fd41);
94
-
95
-                return output;
96
-            }
97
-        }
98
-        #endregion
99
-    }
100
-}

+ 115
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/CountedInterest.ts Datei anzeigen

@@ -0,0 +1,115 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 计算贴现利息
5
+ * 根据输入的要素计算贴现利息
6
+ */
7
+export class CountedInterest extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 利息 0410
11
+     */
12
+    public LX: string = ''
13
+    // #endregion
14
+
15
+    // #region Input
16
+    /**
17
+     * 参数清单
18
+     */
19
+    public static Input = class extends TFInput {
20
+        /**
21
+         * 票面金额 0400
22
+         */
23
+        public PMJE: string = ''
24
+
25
+        /**
26
+         * 交易日期 0440
27
+         */
28
+        public JYRQ: string = ''
29
+
30
+        /**
31
+         * 汇票到期日 0450
32
+         */
33
+        public HPDQR: string = ''
34
+
35
+        /**
36
+         * 在途天数 0460
37
+         */
38
+        public ZTTS: string = ''
39
+
40
+        /**
41
+         * 利率标志 0720
42
+         * 84域输入的利率的类型 D日利率M月利率Y年利率 
43
+         */
44
+        public LLBZ: string = ''
45
+
46
+        /**
47
+         * 利率 0840
48
+         */
49
+        public LL: string = ''
50
+
51
+        /**                 
52
+         * 定义业务逻辑              
53
+         * @returns 操作结果
54
+         */
55
+        public override Raise(): TFOutput {
56
+            // 拉取数据                                  
57
+            const output = new CountedInterest()
58
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
59
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
60
+            this.MessageData.Fd126_5 = this.MainCode
61
+            this.MessageData.Fd16 = "K007"
62
+            this.MessageData.Fd40 = this.PMJE
63
+            this.MessageData.Fd44 = this.JYRQ
64
+            this.MessageData.Fd45 = this.HPDQR
65
+            this.MessageData.Fd46 = this.ZTTS
66
+            this.MessageData.Fd72 = this.LLBZ
67
+            this.MessageData.Fd84 = this.LL
68
+
69
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
70
+            if (this.MessageData.Fd12 != "0000") {
71
+                output.IsFailed = true
72
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
73
+            }
74
+            output.LX = this.DelSpace(this.MessageData.Fd41)
75
+
76
+            return output
77
+        }
78
+    }
79
+    // #endregion
80
+}
81
+
82
+/**
83
+ * 创建计算贴现利息功能的Vue 3组合式API封装
84
+ */
85
+export function useCountedInterest() {
86
+    /**
87
+     * 计算贴现利息
88
+     * @param params 计算参数
89
+     * @param page 页面对象
90
+     * @returns 计算结果
91
+     */
92
+    const countedInterest = (
93
+        params: {
94
+            PMJE: string,    // 票面金额
95
+            JYRQ: string,    // 交易日期
96
+            HPDQR: string,   // 汇票到期日
97
+            ZTTS: string,    // 在途天数
98
+            LLBZ: string,    // 利率标志
99
+            LL: string       // 利率
100
+        },
101
+        page: any
102
+    ): CountedInterest => {
103
+        const input = new CountedInterest.Input()
104
+
105
+        // 设置计算参数
106
+        Object.assign(input, params)
107
+
108
+        // 执行计算
109
+        return input.DoAction<CountedInterest>(page)
110
+    }
111
+
112
+    return {
113
+        countedInterest
114
+    }
115
+}

+ 0
- 79
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/GetRates.cs Datei anzeigen

@@ -1,79 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 获取利率
11
-    /// 根据输入的币种、计息类型获取利率
12
-    /// </summary>
13
-    public class GetRates : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 利率 0840
18
-        /// (null)
19
-        /// </summary>
20
-        public string LL { get; internal set; }
21
-
22
-
23
-        #endregion
24
-
25
-        #region Input
26
-		/// <summary>
27
-        /// 参数清单
28
-        /// </summary>
29
-        public class Input : TFInput
30
-        {
31
-            /// <summary>
32
-            /// 币种 0210
33
-            /// (null) 
34
-            /// </summary>
35
-            public string BZ { get; set; }
36
-
37
-            /// <summary>
38
-            /// 利率编号 0230
39
-            /// (null) 
40
-            /// </summary>
41
-            public string LLBH { get; set; }
42
-
43
-            /// <summary>
44
-            /// 利率日期 0440
45
-            /// 如果为当前挂牌利率可输入当前日期 
46
-            /// </summary>
47
-            public string LLRQ { get; set; }
48
-
49
-
50
-            /// <summary>                 
51
-            /// 定义业务逻辑              
52
-            /// </summary>                
53
-            /// <returns></returns>  
54
-            public override TFOutput Raise()
55
-            {
56
-                //拉取数据                                  
57
-                var output = new GetRates();
58
-                PageData.TradeAPIs.InitFd(MessageData);
59
-                PageData.TradeAPIs.CommSend(MessageData);
60
-				MessageData.Fd126_5 = MainCode;
61
-                MessageData.Fd16 = "K011";
62
-                MessageData.Fd21 = BZ;
63
-                MessageData.Fd23 = LLBH;
64
-                MessageData.Fd44 = LLRQ;
65
-
66
-                PageData.TradeAPIs.CallServer(MessageData);
67
-                if (MessageData.Fd12 != "0000")
68
-                {
69
-                    output.IsFailed = true;
70
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
71
-                }                
72
-                output.LL = DelSpace(MessageData.Fd84);
73
-
74
-                return output;
75
-            }
76
-        }
77
-        #endregion
78
-    }
79
-}

+ 94
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/GetRates.ts Datei anzeigen

@@ -0,0 +1,94 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 获取利率
5
+ * 根据输入的币种、计息类型获取利率
6
+ */
7
+export class GetRates extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 利率 0840
11
+     */
12
+    public LL: string = ''
13
+    // #endregion
14
+
15
+    // #region Input
16
+    /**
17
+     * 参数清单
18
+     */
19
+    public static Input = class extends TFInput {
20
+        /**
21
+         * 币种 0210
22
+         */
23
+        public BZ: string = ''
24
+
25
+        /**
26
+         * 利率编号 0230
27
+         */
28
+        public LLBH: string = ''
29
+
30
+        /**
31
+         * 利率日期 0440
32
+         * 如果为当前挂牌利率可输入当前日期 
33
+         */
34
+        public LLRQ: string = ''
35
+
36
+        /**                 
37
+         * 定义业务逻辑              
38
+         * @returns 操作结果
39
+         */
40
+        public override Raise(): TFOutput {
41
+            // 拉取数据                                  
42
+            const output = new GetRates()
43
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
44
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
45
+            this.MessageData.Fd126_5 = this.MainCode
46
+            this.MessageData.Fd16 = "K011"
47
+            this.MessageData.Fd21 = this.BZ
48
+            this.MessageData.Fd23 = this.LLBH
49
+            this.MessageData.Fd44 = this.LLRQ
50
+
51
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
52
+            if (this.MessageData.Fd12 != "0000") {
53
+                output.IsFailed = true
54
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
55
+            }
56
+            output.LL = this.DelSpace(this.MessageData.Fd84)
57
+
58
+            return output
59
+        }
60
+    }
61
+    // #endregion
62
+}
63
+
64
+/**
65
+ * 创建获取利率功能的Vue 3组合式API封装
66
+ */
67
+export function useGetRates() {
68
+    /**
69
+     * 获取利率
70
+     * @param params 查询参数
71
+     * @param page 页面对象
72
+     * @returns 查询结果
73
+     */
74
+    const getRates = (
75
+        params: {
76
+            BZ: string,     // 币种
77
+            LLBH: string,   // 利率编号
78
+            LLRQ: string    // 利率日期
79
+        },
80
+        page: any
81
+    ): GetRates => {
82
+        const input = new GetRates.Input()
83
+
84
+        // 设置查询参数
85
+        Object.assign(input, params)
86
+
87
+        // 执行查询
88
+        return input.DoAction<GetRates>(page)
89
+    }
90
+
91
+    return {
92
+        getRates
93
+    }
94
+}

+ 0
- 88
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/IDNumberVerification.cs Datei anzeigen

@@ -1,88 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 证件号码验证
11
-    /// 证件合法性验证
12
-    /// </summary>
13
-    public class IDNumberVerification : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 证件号码 0620
18
-        /// 15位身份证号转变成18位身份证号
19
-        /// </summary>
20
-        public string ZJHM { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 验证通过标志 0730
24
-        /// 第一位[0]验证是否成功 0.身份证验证失败1.身份证验证成功2.机构代码证验证失败3.机构代码证验证成功
25
-        /// </summary>
26
-        public string YZTGBZ { get; internal set; }
27
-
28
-
29
-        #endregion
30
-
31
-        #region Input
32
-		/// <summary>
33
-        /// 参数清单
34
-        /// </summary>
35
-        public class Input : TFInput
36
-        {
37
-            /// <summary>
38
-            /// 证件类型 0670
39
-            /// 1.身份证8.(组织机构)代码证 
40
-            /// </summary>
41
-            public string ZJLX { get; set; }
42
-
43
-            /// <summary>
44
-            /// 证件号码 0620
45
-            /// 主要验证身份证和组织机构代码证 
46
-            /// </summary>
47
-            public string ZJHM { get; set; }
48
-
49
-
50
-            /// <summary>                 
51
-            /// 定义业务逻辑              
52
-            /// </summary>                
53
-            /// <returns></returns>  
54
-            public override TFOutput Raise()
55
-            {
56
-                //拉取数据                                  
57
-                var output = new IDNumberVerification();
58
-                PageData.TradeAPIs.InitFd(MessageData);
59
-                PageData.TradeAPIs.CommSend(MessageData);
60
-				MessageData.Fd126_5 = MainCode;
61
-                MessageData.Fd16 = "K020";
62
-                MessageData.Fd67 = ZJLX;
63
-                MessageData.Fd62 = ZJHM;
64
-
65
-                PageData.TradeAPIs.CallServer(MessageData);
66
-                if (MessageData.Fd12 != "0000")
67
-                {
68
-                    output.IsFailed = true;
69
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
70
-                }                
71
-                output.ZJHM = (MessageData.Fd62);
72
-                output.YZTGBZ = (MessageData.Fd73);
73
-                //是否当前柜员给自己办理业务
74
-                if (TellerSystem.Library.Ext.TradeExtension.SystemSettingsHelper.Instance.IsTellerCustomer)
75
-                {
76
-                    var idCarNO = TellerSystem.Library.Ext.TradeExtension.LoginAuthentication.Instance.IdCarNO;
77
-                    if (!string.IsNullOrEmpty(idCarNO) && output.ZJHM.Trim() == idCarNO.Trim())
78
-                    {
79
-                        output.IsFailed = true;
80
-                        output.FailureCause = "当前柜员不能为自己办理业务!";
81
-                    }
82
-                }
83
-                return output;
84
-            }
85
-        }
86
-        #endregion
87
-    }
88
-}

+ 105
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/IDNumberVerification.ts Datei anzeigen

@@ -0,0 +1,105 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 证件号码验证
5
+ * 证件合法性验证
6
+ */
7
+export class IDNumberVerification extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 证件号码 0620
11
+     * 15位身份证号转变成18位身份证号
12
+     */
13
+    public ZJHM: string = ''
14
+
15
+    /**
16
+     * 验证通过标志 0730
17
+     * 第一位[0]验证是否成功 0.身份证验证失败1.身份证验证成功2.机构代码证验证失败3.机构代码证验证成功
18
+     */
19
+    public YZTGBZ: string = ''
20
+    // #endregion
21
+
22
+    // #region Input
23
+    /**
24
+     * 参数清单
25
+     */
26
+    public static Input = class extends TFInput {
27
+        /**
28
+         * 证件类型 0670
29
+         * 1.身份证8.(组织机构)代码证 
30
+         */
31
+        public ZJLX: string = ''
32
+
33
+        /**
34
+         * 证件号码 0620
35
+         * 主要验证身份证和组织机构代码证 
36
+         */
37
+        public ZJHM: string = ''
38
+
39
+        /**                 
40
+         * 定义业务逻辑              
41
+         * @returns 操作结果
42
+         */
43
+        public override Raise(): TFOutput {
44
+            // 拉取数据                                  
45
+            const output = new IDNumberVerification()
46
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
47
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
48
+            this.MessageData.Fd126_5 = this.MainCode
49
+            this.MessageData.Fd16 = "K020"
50
+            this.MessageData.Fd67 = this.ZJLX
51
+            this.MessageData.Fd62 = this.ZJHM
52
+
53
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
54
+            if (this.MessageData.Fd12 != "0000") {
55
+                output.IsFailed = true
56
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
57
+            }
58
+            output.ZJHM = this.MessageData.Fd62
59
+            output.YZTGBZ = this.MessageData.Fd73
60
+
61
+            // 是否当前柜员给自己办理业务
62
+            if (this.PageData.SystemSettingsHelper?.Instance?.IsTellerCustomer) {
63
+                const idCarNO = this.PageData.LoginAuthentication?.Instance?.IdCarNO
64
+                if (idCarNO && output.ZJHM.trim() === idCarNO.trim()) {
65
+                    output.IsFailed = true
66
+                    output.FailureCause = "当前柜员不能为自己办理业务!"
67
+                }
68
+            }
69
+
70
+            return output
71
+        }
72
+    }
73
+    // #endregion
74
+}
75
+
76
+/**
77
+ * 创建证件号码验证功能的Vue 3组合式API封装
78
+ */
79
+export function useIDNumberVerification() {
80
+    /**
81
+     * 证件号码验证
82
+     * @param params 验证参数
83
+     * @param page 页面对象
84
+     * @returns 验证结果
85
+     */
86
+    const verifyIDNumber = (
87
+        params: {
88
+            ZJLX: string,  // 证件类型
89
+            ZJHM: string   // 证件号码
90
+        },
91
+        page: any
92
+    ): IDNumberVerification => {
93
+        const input = new IDNumberVerification.Input()
94
+
95
+        // 设置验证参数
96
+        Object.assign(input, params)
97
+
98
+        // 执行验证
99
+        return input.DoAction<IDNumberVerification>(page)
100
+    }
101
+
102
+    return {
103
+        verifyIDNumber
104
+    }
105
+}

+ 0
- 107
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/MessageComprehensive.cs Datei anzeigen

@@ -1,107 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 客户综合签约
11
-    /// 客户综合签约
12
-    /// </summary>
13
-    public class MessageComprehensive : TFOutput
14
-    {
15
-        #region Output
16
-
17
-        #endregion
18
-
19
-        #region Input
20
-		/// <summary>
21
-        /// 参数清单
22
-        /// </summary>
23
-        public class Input : TFInput
24
-        {
25
-            /// <summary>
26
-            /// 多电话 0250
27
-            /// 多电话  
28
-            /// </summary>
29
-            public string DH { get; set; }
30
-
31
-            /// <summary>
32
-            /// 账号 0370
33
-            ///  
34
-            /// </summary>
35
-            public string ZH { get; set; }
36
-
37
-            /// <summary>
38
-            /// 贷方限额 0410
39
-            ///  
40
-            /// </summary>
41
-            public string DFXE { get; set; }
42
-
43
-            /// <summary>
44
-            /// 借方限额 0420
45
-            ///  
46
-            /// </summary>
47
-            public string JFXE { get; set; }
48
-
49
-            /// <summary>
50
-            /// 收费标志 0690
51
-            ///  
52
-            /// </summary>
53
-            public string SFBZ { get; set; }
54
-
55
-            /// <summary>
56
-            /// 账户类型 0710
57
-            ///  
58
-            /// </summary>
59
-            public string ZHLX { get; set; }
60
-
61
-            /// <summary>
62
-            /// 操作方式 0720
63
-            /// 0.开通1.修改2.注销 
64
-            /// </summary>
65
-            public string CZFS { get; set; }
66
-
67
-            /// <summary>
68
-            /// 服务类型 0860
69
-            ///  
70
-            /// </summary>
71
-            public string FWLX { get; set; }
72
-
73
-
74
-            /// <summary>                 
75
-            /// 定义业务逻辑              
76
-            /// </summary>                
77
-            /// <returns></returns>  
78
-            public override TFOutput Raise()
79
-            {
80
-                //拉取数据                                  
81
-                var output = new MessageComprehensive();
82
-                PageData.TradeAPIs.InitFd(MessageData);
83
-                PageData.TradeAPIs.CommSend(MessageData);
84
-				MessageData.Fd126_5 = MainCode;
85
-                MessageData.Fd16 = "8891";
86
-                MessageData.Fd25 = DH;
87
-                MessageData.Fd37 = ZH;
88
-                MessageData.Fd41 = DFXE;
89
-                MessageData.Fd42 = JFXE;
90
-                MessageData.Fd69 = SFBZ;
91
-                MessageData.Fd71 = ZHLX;
92
-                MessageData.Fd72 = CZFS;
93
-                MessageData.Fd86 = FWLX;
94
-
95
-                PageData.TradeAPIs.CallServer(MessageData);
96
-                if (MessageData.Fd12 != "0000")
97
-                {
98
-                    output.IsFailed = true;
99
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
100
-                }                
101
-
102
-                return output;
103
-            }
104
-        }
105
-        #endregion
106
-    }
107
-}

+ 122
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/MessageComprehensive.ts Datei anzeigen

@@ -0,0 +1,122 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 客户综合签约
5
+ * 客户综合签约
6
+ */
7
+export class MessageComprehensive extends TFOutput {
8
+    // #region Input
9
+    /**
10
+     * 参数清单
11
+     */
12
+    public static Input = class extends TFInput {
13
+        /**
14
+         * 多电话 0250
15
+         * 多电话  
16
+         */
17
+        public DH: string = ''
18
+
19
+        /**
20
+         * 账号 0370
21
+         */
22
+        public ZH: string = ''
23
+
24
+        /**
25
+         * 贷方限额 0410
26
+         */
27
+        public DFXE: string = ''
28
+
29
+        /**
30
+         * 借方限额 0420
31
+         */
32
+        public JFXE: string = ''
33
+
34
+        /**
35
+         * 收费标志 0690
36
+         */
37
+        public SFBZ: string = ''
38
+
39
+        /**
40
+         * 账户类型 0710
41
+         */
42
+        public ZHLX: string = ''
43
+
44
+        /**
45
+         * 操作方式 0720
46
+         * 0.开通 1.修改 2.注销 
47
+         */
48
+        public CZFS: string = ''
49
+
50
+        /**
51
+         * 服务类型 0860
52
+         */
53
+        public FWLX: string = ''
54
+
55
+        /**
56
+         * 定义业务逻辑              
57
+         * @returns 操作结果
58
+         */
59
+        public override Raise(): TFOutput {
60
+            // 拉取数据                                  
61
+            const output = new MessageComprehensive()
62
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
63
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
64
+            this.MessageData.Fd126_5 = this.MainCode
65
+            this.MessageData.Fd16 = "8891"
66
+            this.MessageData.Fd25 = this.DH
67
+            this.MessageData.Fd37 = this.ZH
68
+            this.MessageData.Fd41 = this.DFXE
69
+            this.MessageData.Fd42 = this.JFXE
70
+            this.MessageData.Fd69 = this.SFBZ
71
+            this.MessageData.Fd71 = this.ZHLX
72
+            this.MessageData.Fd72 = this.CZFS
73
+            this.MessageData.Fd86 = this.FWLX
74
+
75
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
76
+            if (this.MessageData.Fd12 != "0000") {
77
+                output.IsFailed = true
78
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
79
+            }
80
+
81
+            return output
82
+        }
83
+    }
84
+    // #endregion
85
+}
86
+
87
+/**
88
+ * 创建客户综合签约功能的Vue 3组合式API封装
89
+ */
90
+export function useMessageComprehensive() {
91
+    /**
92
+     * 执行客户综合签约
93
+     * @param params 签约参数
94
+     * @param page 页面对象
95
+     * @returns 签约结果
96
+     */
97
+    const executeComprehensiveSign = (
98
+        params: {
99
+            DH?: string  // 多电话
100
+            ZH?: string  // 账号
101
+            DFXE?: string  // 贷方限额
102
+            JFXE?: string  // 借方限额
103
+            SFBZ?: string  // 收费标志
104
+            ZHLX?: string  // 账户类型
105
+            CZFS?: string  // 操作方式(0.开通 1.修改 2.注销)
106
+            FWLX?: string  // 服务类型
107
+        },
108
+        page: any
109
+    ): MessageComprehensive => {
110
+        const input = new MessageComprehensive.Input()
111
+
112
+        // 设置签约参数
113
+        Object.assign(input, params)
114
+
115
+        // 执行签约
116
+        return input.DoAction<MessageComprehensive>(page)
117
+    }
118
+
119
+    return {
120
+        executeComprehensiveSign
121
+    }
122
+}

+ 0
- 137
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/PasswordAuthentication.cs Datei anzeigen

@@ -1,137 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-using TellerSystem.ServiceProxy.Ext.ServiceHelper;
7
-
8
-namespace TellerSystem.Contract.Function
9
-{
10
-    /// <summary>
11
-    /// 密码验证
12
-    /// 对传入的柜员密码或是凭证密码单或是账号密码进行验证
13
-    /// </summary>
14
-    public class PasswordAuthentication : TFOutput
15
-    {
16
-        #region Output
17
-        /// <summary>
18
-        /// 凭证密码验证方式 0670
19
-        /// 0.密码单1.支付密码器
20
-        /// </summary>
21
-        public string PZMMYZFS { get; internal set; }
22
-
23
-
24
-        #endregion
25
-
26
-        #region Input
27
-		/// <summary>
28
-        /// 参数清单
29
-        /// </summary>
30
-        public class Input : TFInput
31
-        {
32
-            /// <summary>
33
-            /// 账号 0300
34
-            /// (null) 
35
-            /// </summary>
36
-            public string ZH { get; set; }
37
-
38
-            /// <summary>
39
-            /// 出票日期 0440
40
-            /// (null) 
41
-            /// </summary>
42
-            public string CPRQ { get; set; }
43
-
44
-            /// <summary>
45
-            /// 凭证号码 0580
46
-            /// (null) 
47
-            /// </summary>
48
-            public string PZHM { get; set; }
49
-
50
-            /// <summary>
51
-            /// 验证标志 0670
52
-            /// 0.账户密码1.柜员密码2.凭证密码3.支付密码器4.凭证密码方式选择 
53
-            /// </summary>
54
-            public string YZBZ { get; set; }
55
-
56
-            /// <summary>
57
-            /// 密码 0800
58
-            /// (null) 
59
-            /// </summary>
60
-            public string MM { get; set; }
61
-
62
-            /// <summary>
63
-            /// 凭证类型 0890
64
-            /// (null) 
65
-            /// </summary>
66
-            public string PZLX { get; set; }
67
-
68
-            /// <summary>
69
-            /// 柜员号 0920
70
-            /// (null) 
71
-            /// </summary>
72
-            public string GYH { get; set; }
73
-
74
-            /// <summary>
75
-            /// 票面金额 0400
76
-            ///  
77
-            /// </summary>
78
-            public string PMJE { get; set; }
79
-
80
-            /// <summary>
81
-            /// 证件号码 0620
82
-            ///  
83
-            /// </summary>
84
-            public string ZJHM { get; set; }
85
-
86
-            /// <summary>
87
-            /// 证件类型 0680
88
-            ///  
89
-            /// </summary>
90
-            public string ZJLX { get; set; }
91
-
92
-
93
-            /// <summary>                 
94
-            /// 定义业务逻辑              
95
-            /// </summary>                
96
-            /// <returns></returns>  
97
-            public override TFOutput Raise()
98
-            {
99
-                //拉取数据                                  
100
-                var output = new PasswordAuthentication();
101
-                PageData.TradeAPIs.InitFd(MessageData);
102
-                PageData.TradeAPIs.CommSend(MessageData);
103
-				MessageData.Fd126_5 = MainCode;
104
-                MessageData.Fd16 = "K021";
105
-                MessageData.Fd30 = ZH;
106
-                MessageData.Fd44 = CPRQ;
107
-                MessageData.Fd58 = PZHM;
108
-                MessageData.Fd67 = YZBZ;
109
-                //国密改造
110
-                if (TradeManagerHandle.TT_SYSCONFIG_GetConfigValueByConfigID("EncrypteGM") == "true")
111
-                {
112
-                    MessageData.Fd122_I = MM;
113
-                }
114
-                else
115
-                {
116
-                    MessageData.Fd80 = MM;
117
-                }
118
-                MessageData.Fd89 = PZLX;
119
-                MessageData.Fd92 = GYH;
120
-                MessageData.Fd40 = PMJE;
121
-                MessageData.Fd62 = ZJHM;
122
-                MessageData.Fd68 = ZJLX;
123
-
124
-                PageData.TradeAPIs.CallServer(MessageData);
125
-                if (MessageData.Fd12 != "0000")
126
-                {
127
-                    output.IsFailed = true;
128
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
129
-                }                
130
-                output.PZMMYZFS = (MessageData.Fd67);
131
-
132
-                return output;
133
-            }
134
-        }
135
-        #endregion
136
-    }
137
-}

+ 157
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/PasswordAuthentication.ts Datei anzeigen

@@ -0,0 +1,157 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 密码验证
5
+ * 对传入的柜员密码或是凭证密码单或是账号密码进行验证
6
+ */
7
+export class PasswordAuthentication extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 凭证密码验证方式 0670
11
+     * 0.密码单1.支付密码器
12
+     */
13
+    public PZMMYZFS: string = ''
14
+    // #endregion
15
+
16
+    // #region Input
17
+    /**
18
+     * 参数清单
19
+     */
20
+    public static Input = class extends TFInput {
21
+        /**
22
+         * 账号 0300
23
+         * (null) 
24
+         */
25
+        public ZH: string = ''
26
+
27
+        /**
28
+         * 出票日期 0440
29
+         * (null) 
30
+         */
31
+        public CPRQ: string = ''
32
+
33
+        /**
34
+         * 凭证号码 0580
35
+         * (null) 
36
+         */
37
+        public PZHM: string = ''
38
+
39
+        /**
40
+         * 验证标志 0670
41
+         * 0.账户密码1.柜员密码2.凭证密码3.支付密码器4.凭证密码方式选择 
42
+         */
43
+        public YZBZ: string = ''
44
+
45
+        /**
46
+         * 密码 0800
47
+         * (null) 
48
+         */
49
+        public MM: string = ''
50
+
51
+        /**
52
+         * 凭证类型 0890
53
+         * (null) 
54
+         */
55
+        public PZLX: string = ''
56
+
57
+        /**
58
+         * 柜员号 0920
59
+         * (null) 
60
+         */
61
+        public GYH: string = ''
62
+
63
+        /**
64
+         * 票面金额 0400
65
+         */
66
+        public PMJE: string = ''
67
+
68
+        /**
69
+         * 证件号码 0620
70
+         */
71
+        public ZJHM: string = ''
72
+
73
+        /**
74
+         * 证件类型 0680
75
+         */
76
+        public ZJLX: string = ''
77
+
78
+        /**                 
79
+         * 定义业务逻辑              
80
+         * @returns 操作结果
81
+         */
82
+        public override Raise(): TFOutput {
83
+            // 拉取数据                                  
84
+            const output = new PasswordAuthentication()
85
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
86
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
87
+            this.MessageData.Fd126_5 = this.MainCode
88
+            this.MessageData.Fd16 = "K021"
89
+            this.MessageData.Fd30 = this.ZH
90
+            this.MessageData.Fd44 = this.CPRQ
91
+            this.MessageData.Fd58 = this.PZHM
92
+            this.MessageData.Fd67 = this.YZBZ
93
+
94
+            // 国密改造
95
+            if (this.PageData.TradeManagerHandle?.TT_SYSCONFIG_GetConfigValueByConfigID("EncrypteGM") === "true") {
96
+                this.MessageData.Fd122_I = this.MM
97
+            } else {
98
+                this.MessageData.Fd80 = this.MM
99
+            }
100
+
101
+            this.MessageData.Fd89 = this.PZLX
102
+            this.MessageData.Fd92 = this.GYH
103
+            this.MessageData.Fd40 = this.PMJE
104
+            this.MessageData.Fd62 = this.ZJHM
105
+            this.MessageData.Fd68 = this.ZJLX
106
+
107
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
108
+            if (this.MessageData.Fd12 != "0000") {
109
+                output.IsFailed = true
110
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
111
+            }
112
+            output.PZMMYZFS = this.MessageData.Fd67
113
+
114
+            return output
115
+        }
116
+    }
117
+    // #endregion
118
+}
119
+
120
+/**
121
+ * 创建密码验证功能的Vue 3组合式API封装
122
+ */
123
+export function usePasswordAuthentication() {
124
+    /**
125
+     * 密码验证
126
+     * @param params 验证参数
127
+     * @param page 页面对象
128
+     * @returns 验证结果
129
+     */
130
+    const verifyPassword = (
131
+        params: {
132
+            ZH?: string,    // 账号
133
+            CPRQ?: string,  // 出票日期
134
+            PZHM?: string,  // 凭证号码
135
+            YZBZ: string,   // 验证标志:0.账户密码1.柜员密码2.凭证密码3.支付密码器4.凭证密码方式选择
136
+            MM: string,     // 密码
137
+            PZLX?: string,  // 凭证类型
138
+            GYH?: string,   // 柜员号
139
+            PMJE?: string,  // 票面金额
140
+            ZJHM?: string,  // 证件号码
141
+            ZJLX?: string   // 证件类型
142
+        },
143
+        page: any
144
+    ): PasswordAuthentication => {
145
+        const input = new PasswordAuthentication.Input()
146
+
147
+        // 设置验证参数
148
+        Object.assign(input, params)
149
+
150
+        // 执行验证
151
+        return input.DoAction<PasswordAuthentication>(page)
152
+    }
153
+
154
+    return {
155
+        verifyPassword
156
+    }
157
+}

+ 0
- 79
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/PhoneComprehensive.cs Datei anzeigen

@@ -1,79 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 客户综合签约
11
-    /// 电话签约
12
-    /// </summary>
13
-    public class PhoneComprehensive : TFOutput
14
-    {
15
-        #region Output
16
-
17
-        #endregion
18
-
19
-        #region Input
20
-		/// <summary>
21
-        /// 参数清单
22
-        /// </summary>
23
-        public class Input : TFInput
24
-        {
25
-            /// <summary>
26
-            /// 账号 0370
27
-            ///  
28
-            /// </summary>
29
-            public string ZH { get; set; }
30
-
31
-            /// <summary>
32
-            /// 签约标志 0670
33
-            /// 0.签约2.解约3.重置密码4.修改密码 
34
-            /// </summary>
35
-            public string QYBZ { get; set; }
36
-
37
-            /// <summary>
38
-            /// 支取密码 0790
39
-            ///  
40
-            /// </summary>
41
-            public string ZQMM { get; set; }
42
-
43
-            /// <summary>
44
-            /// 电话银行密码 0800
45
-            ///  
46
-            /// </summary>
47
-            public string DHYHMM { get; set; }
48
-
49
-
50
-            /// <summary>                 
51
-            /// 定义业务逻辑              
52
-            /// </summary>                
53
-            /// <returns></returns>  
54
-            public override TFOutput Raise()
55
-            {
56
-                //拉取数据                                  
57
-                var output = new PhoneComprehensive();
58
-                PageData.TradeAPIs.InitFd(MessageData);
59
-                PageData.TradeAPIs.CommSend(MessageData);
60
-				MessageData.Fd126_5 = MainCode;
61
-                MessageData.Fd16 = "9316";
62
-                MessageData.Fd37 = ZH;
63
-                MessageData.Fd67 = QYBZ;
64
-                MessageData.Fd79 = ZQMM;
65
-                MessageData.Fd80 = DHYHMM;
66
-
67
-                PageData.TradeAPIs.CallServer(MessageData);
68
-                if (MessageData.Fd12 != "0000")
69
-                {
70
-                    output.IsFailed = true;
71
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
72
-                }                
73
-
74
-                return output;
75
-            }
76
-        }
77
-        #endregion
78
-    }
79
-}

+ 97
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/PhoneComprehensive.ts Datei anzeigen

@@ -0,0 +1,97 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 客户综合签约
5
+ * 电话签约
6
+ */
7
+export class PhoneComprehensive extends TFOutput {
8
+    // #region Output
9
+    // 无特定输出属性
10
+    // #endregion
11
+
12
+    // #region Input
13
+    /**
14
+     * 参数清单
15
+     */
16
+    public static Input = class extends TFInput {
17
+        /**
18
+         * 账号 0370
19
+         */
20
+        public ZH: string = ''
21
+
22
+        /**
23
+         * 签约标志 0670
24
+         * 0.签约2.解约3.重置密码4.修改密码
25
+         */
26
+        public QYBZ: string = ''
27
+
28
+        /**
29
+         * 支取密码 0790
30
+         */
31
+        public ZQMM: string = ''
32
+
33
+        /**
34
+         * 电话银行密码 0800
35
+         */
36
+        public DHYHMM: string = ''
37
+
38
+        /**                 
39
+         * 定义业务逻辑              
40
+         * @returns 操作结果
41
+         */
42
+        public override Raise(): TFOutput {
43
+            // 拉取数据                                  
44
+            const output = new PhoneComprehensive()
45
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
46
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
47
+            this.MessageData.Fd126_5 = this.MainCode
48
+            this.MessageData.Fd16 = "9316"
49
+            this.MessageData.Fd37 = this.ZH
50
+            this.MessageData.Fd67 = this.QYBZ
51
+            this.MessageData.Fd79 = this.ZQMM
52
+            this.MessageData.Fd80 = this.DHYHMM
53
+
54
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
55
+            if (this.MessageData.Fd12 != "0000") {
56
+                output.IsFailed = true
57
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
58
+            }
59
+
60
+            return output
61
+        }
62
+    }
63
+    // #endregion
64
+}
65
+
66
+/**
67
+ * 创建电话签约功能的Vue 3组合式API封装
68
+ */
69
+export function usePhoneComprehensive() {
70
+    /**
71
+     * 电话签约
72
+     * @param params 签约参数
73
+     * @param page 页面对象
74
+     * @returns 签约结果
75
+     */
76
+    const phoneComprehensive = (
77
+        params: {
78
+            ZH: string,     // 账号
79
+            QYBZ: string,   // 签约标志:0.签约2.解约3.重置密码4.修改密码
80
+            ZQMM: string,   // 支取密码
81
+            DHYHMM: string  // 电话银行密码
82
+        },
83
+        page: any
84
+    ): PhoneComprehensive => {
85
+        const input = new PhoneComprehensive.Input()
86
+
87
+        // 设置签约参数
88
+        Object.assign(input, params)
89
+
90
+        // 执行签约
91
+        return input.DoAction<PhoneComprehensive>(page)
92
+    }
93
+
94
+    return {
95
+        phoneComprehensive
96
+    }
97
+}

+ 0
- 120
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ProductUnderLevelSubjects.cs Datei anzeigen

@@ -1,120 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 指定一级科目下的活期产品
11
-    /// 根据一级科目号、介质代码查询产品列表
12
-    /// </summary>
13
-    public class ProductUnderLevelSubjects : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 产品列表
18
-        /// 文件附件:产品代码|产品描述|
19
-        /// </summary>
20
-        public string CPLB { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 产品列表
24
-        /// 文件附件:产品代码|产品描述|
25
-        /// </summary>
26
-        public List<E_CPLB> CPLBData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 产品列表
30
-        /// 文件附件:产品代码|产品描述|
31
-        /// </summary>
32
-        public class E_CPLB
33
-        {
34
-            /// <summary>
35
-            /// 产品代码
36
-            /// </summary>
37
-            public string CPDM { get; set; }
38
-
39
-            /// <summary>
40
-            /// 产品描述
41
-            /// </summary>
42
-            public string CPMS { get; set; }
43
-
44
-        }
45
-
46
-        #endregion
47
-
48
-        #region Input
49
-		/// <summary>
50
-        /// 参数清单
51
-        /// </summary>
52
-        public class Input : TFInput
53
-        {
54
-            /// <summary>
55
-            /// 币种 0210
56
-            /// 必输 
57
-            /// </summary>
58
-            public string BZ { get; set; }
59
-
60
-            /// <summary>
61
-            /// 产品可以使用的介质代码 0310
62
-            /// 可选输入 
63
-            /// </summary>
64
-            public string CPKYSYDJZDM { get; set; }
65
-
66
-            /// <summary>
67
-            /// 客户类型 0670
68
-            /// 0:公用;1:个人;2:公司;3:机构(指政府机关等组织);4:金融同业;5:内部员工;6金融机构 
69
-            /// </summary>
70
-            public string KHLX { get; set; }
71
-
72
-            /// <summary>
73
-            /// 业务种类 0300
74
-            /// 一级科目号 
75
-            /// </summary>
76
-            public string YWZL { get; set; }
77
-
78
-
79
-            /// <summary>                 
80
-            /// 定义业务逻辑              
81
-            /// </summary>                
82
-            /// <returns></returns>  
83
-            public override TFOutput Raise()
84
-            {
85
-                //拉取数据                                  
86
-                var output = new ProductUnderLevelSubjects();
87
-                PageData.TradeAPIs.InitFd(MessageData);
88
-                PageData.TradeAPIs.CommSend(MessageData);
89
-				MessageData.Fd126_5 = MainCode;
90
-                MessageData.Fd16 = "CXCL";
91
-                MessageData.Fd21 = BZ;
92
-                MessageData.Fd31 = CPKYSYDJZDM;
93
-                MessageData.Fd67 = KHLX;
94
-                MessageData.Fd128 = "0013";
95
-                MessageData.Fd30 = YWZL;
96
-
97
-                PageData.TradeAPIs.CallServer(MessageData);
98
-                if (MessageData.Fd12 != "0000")
99
-                {
100
-                    output.IsFailed = true;
101
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
102
-                }                
103
-                output.CPLBData = AnilyzeFileData<E_CPLB>(MessageData.FileData,
104
-                                            "产品代码|产品描述|",
105
-                                            x =>
106
-                                            {
107
-                                                return new E_CPLB
108
-                                                {
109
-                                                    CPDM = x["产品代码"],
110
-                                                    CPMS = x["产品描述"]
111
-                                                };
112
-                                            });
113
-                output.CPLB = MessageData.FileData;
114
-
115
-                return output;
116
-            }
117
-        }
118
-        #endregion
119
-    }
120
-}

+ 137
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/ProductUnderLevelSubjects.ts Datei anzeigen

@@ -0,0 +1,137 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 指定一级科目下的活期产品
5
+ * 根据一级科目号、介质代码查询产品列表
6
+ */
7
+export class ProductUnderLevelSubjects extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 产品列表
11
+     * 文件附件:产品代码|产品描述|
12
+     */
13
+    public CPLB: string = ''
14
+
15
+    /**
16
+     * 产品列表
17
+     * 文件附件:产品代码|产品描述|
18
+     */
19
+    public CPLBData: E_CPLB[] = []
20
+
21
+    // #endregion
22
+
23
+    // #region Input
24
+    /**
25
+     * 参数清单
26
+     */
27
+    public static Input = class extends TFInput {
28
+        /**
29
+         * 币种 0210
30
+         * 必输
31
+         */
32
+        public BZ: string = ''
33
+
34
+        /**
35
+         * 产品可以使用的介质代码 0310
36
+         * 可选输入
37
+         */
38
+        public CPKYSYDJZDM: string = ''
39
+
40
+        /**
41
+         * 客户类型 0670
42
+         * 0:公用;1:个人;2:公司;3:机构(指政府机关等组织);4:金融同业;5:内部员工;6金融机构
43
+         */
44
+        public KHLX: string = ''
45
+
46
+        /**
47
+         * 业务种类 0300
48
+         * 一级科目号
49
+         */
50
+        public YWZL: string = ''
51
+
52
+        /**                 
53
+         * 定义业务逻辑              
54
+         * @returns 操作结果
55
+         */
56
+        public override Raise(): TFOutput {
57
+            // 拉取数据                                  
58
+            const output = new ProductUnderLevelSubjects()
59
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
60
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
61
+            this.MessageData.Fd126_5 = this.MainCode
62
+            this.MessageData.Fd16 = "CXCL"
63
+            this.MessageData.Fd21 = this.BZ
64
+            this.MessageData.Fd31 = this.CPKYSYDJZDM
65
+            this.MessageData.Fd67 = this.KHLX
66
+            this.MessageData.Fd128 = "0013"
67
+            this.MessageData.Fd30 = this.YWZL
68
+
69
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
70
+            if (this.MessageData.Fd12 != "0000") {
71
+                output.IsFailed = true
72
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
73
+            }
74
+            output.CPLBData = this.AnilyzeFileData<E_CPLB>(this.MessageData.FileData,
75
+                "产品代码|产品描述|",
76
+                (x) => {
77
+                    return {
78
+                        CPDM: x["产品代码"],
79
+                        CPMS: x["产品描述"]
80
+                    }
81
+                })
82
+            output.CPLB = this.MessageData.FileData
83
+
84
+            return output
85
+        }
86
+    }
87
+    // #endregion
88
+}
89
+
90
+/**
91
+ * 产品列表项
92
+ * 文件附件:产品代码|产品描述|
93
+ */
94
+export interface E_CPLB {
95
+    /**
96
+     * 产品代码
97
+     */
98
+    CPDM: string
99
+
100
+    /**
101
+     * 产品描述
102
+     */
103
+    CPMS: string
104
+}
105
+
106
+/**
107
+ * 创建产品查询功能的Vue 3组合式API封装
108
+ */
109
+export function useProductUnderLevelSubjects() {
110
+    /**
111
+     * 查询指定一级科目下的活期产品
112
+     * @param params 查询参数
113
+     * @param page 页面对象
114
+     * @returns 产品列表结果
115
+     */
116
+    const queryProducts = (
117
+        params: {
118
+            BZ: string,           // 币种
119
+            CPKYSYDJZDM?: string, // 产品可以使用的介质代码
120
+            KHLX: string,         // 客户类型:0:公用;1:个人;2:公司;3:机构;4:金融同业;5:内部员工;6金融机构
121
+            YWZL: string          // 业务种类(一级科目号)
122
+        },
123
+        page: any
124
+    ): ProductUnderLevelSubjects => {
125
+        const input = new ProductUnderLevelSubjects.Input()
126
+
127
+        // 设置查询参数
128
+        Object.assign(input, params)
129
+
130
+        // 执行查询
131
+        return input.DoAction<ProductUnderLevelSubjects>(page)
132
+    }
133
+
134
+    return {
135
+        queryProducts
136
+    }
137
+}

+ 154
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryAccountDeductInfo.ts Datei anzeigen

@@ -0,0 +1,154 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 账户扣款信息接口
5
+ */
6
+export interface AccountDeductInfo {
7
+    /** 账户序号 */
8
+    ZHXH: string
9
+    /** 冻结序号 */
10
+    DJXH: string
11
+    /** 扣划类型 */
12
+    KHLX: string
13
+    /** 扣划周期 */
14
+    KHZQ: string
15
+    /** 起始日期 */
16
+    QSRQ: string
17
+    /** 终止日期 */
18
+    ZZRQ: string
19
+    /** 固定扣划金额 */
20
+    GDKHJE: string
21
+    /** 计划扣划总额 */
22
+    JHKHZE: string
23
+    /** 已扣划总额 */
24
+    YKHZE: string
25
+    /** 已扣划笔数 */
26
+    YKHBS: string
27
+    /** 上次扣划日期 */
28
+    SCKHRQ: string
29
+    /** 扣划机构 */
30
+    KHJG: string
31
+    /** 扣划柜员 */
32
+    KHGY: string
33
+    /** 备注 */
34
+    BZ: string
35
+}
36
+
37
+/**
38
+ * 查询账户扣款信息
39
+ * 通过账号查询账户计划扣款信息
40
+ */
41
+export class QueryAccountDeductInfo extends TFOutput {
42
+    /**
43
+     * 账户扣款信息(原始数据)
44
+     * 格式:账户序号|冻结序号|扣划类型|扣划周期|起始日期|终止日期|固定扣划金额|计划扣划总额|已扣划总额|已扣划笔数|上次扣划日期|扣划机构|扣划柜员|备注|
45
+     */
46
+    public ZHKHXX: string = ''
47
+
48
+    /**
49
+     * 解析后的账户扣款信息列表
50
+     */
51
+    public get ZHKHXXData(): AccountDeductInfo[] {
52
+        if (!this.ZHKHXX) return []
53
+
54
+        return this.ZHKHXX.split('|')
55
+            .filter(record => record.trim().length > 0)
56
+            .map(record => {
57
+                const fields = record.split(',')
58
+
59
+                return {
60
+                    ZHXH: fields[0] || '',
61
+                    DJXH: fields[1] || '',
62
+                    KHLX: fields[2] || '',
63
+                    KHZQ: fields[3] || '',
64
+                    QSRQ: fields[4] || '',
65
+                    ZZRQ: fields[5] || '',
66
+                    GDKHJE: fields[6] || '',
67
+                    JHKHZE: fields[7] || '',
68
+                    YKHZE: fields[8] || '',
69
+                    YKHBS: fields[9] || '',
70
+                    SCKHRQ: fields[10] || '',
71
+                    KHJG: fields[11] || '',
72
+                    KHGY: fields[12] || '',
73
+                    BZ: fields[13] || ''
74
+                }
75
+            })
76
+    }
77
+
78
+    // #region Input
79
+    /**
80
+     * 查询账户扣款信息的输入参数
81
+     */
82
+    public static Input = class extends TFInput {
83
+        /** 账号 0300 */
84
+        public ZH: string = ''
85
+        /** 账户序号 0340 */
86
+        public ZHXH: string = ''
87
+
88
+        /**
89
+         * 执行账户扣款信息查询
90
+         * @returns 查询结果
91
+         */
92
+        public override Raise(): TFOutput {
93
+            const output = new QueryAccountDeductInfo()
94
+
95
+            // 初始化交易数据
96
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
97
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
98
+
99
+            // 设置查询参数
100
+            this.MessageData.Fd126_5 = this.MainCode
101
+            this.MessageData.Fd16 = "CXCL"
102
+            this.MessageData.Fd30 = this.ZH
103
+            this.MessageData.Fd34 = this.ZHXH
104
+            this.MessageData.Fd128 = "0012"
105
+
106
+            // 调用服务
107
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
108
+
109
+            // 错误处理
110
+            if (this.MessageData.Fd12 != "0000") {
111
+                output.IsFailed = true
112
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
113
+                return output
114
+            }
115
+
116
+            // 获取账户扣款信息数据
117
+            output.ZHKHXX = this.MessageData.FileData
118
+
119
+            return output
120
+        }
121
+    }
122
+    // #endregion
123
+}
124
+
125
+/**
126
+ * 创建账户扣款信息查询的Vue 3组合式API封装
127
+ */
128
+export function useQueryAccountDeductInfo() {
129
+    /**
130
+     * 执行账户扣款信息查询
131
+     * @param params 查询参数
132
+     * @param page 页面对象
133
+     * @returns 查询结果
134
+     */
135
+    const executeAccountDeductQuery = (
136
+        params: {
137
+            ZH?: string      // 账号
138
+            ZHXH?: string    // 账户序号
139
+        },
140
+        page: any
141
+    ): QueryAccountDeductInfo => {
142
+        const input = new QueryAccountDeductInfo.Input()
143
+
144
+        // 设置查询参数
145
+        Object.assign(input, params)
146
+
147
+        // 执行查询
148
+        return input.DoAction<QueryAccountDeductInfo>(page)
149
+    }
150
+
151
+    return {
152
+        executeAccountDeductQuery
153
+    }
154
+}

+ 0
- 94
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryAccountDetail.cs Datei anzeigen

@@ -1,94 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 查询账户明细
11
-    /// 查询账户明细
12
-    /// </summary>
13
-    public class QueryAccountDetail : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 内容列表
18
-        /// 活期:交易日期|摘要|现转|借贷|发生额|余额|交易机构|交易柜员|流水号|交易时间|凭证号|代理人姓名|代理人证件类型|代理人证件号码|,定期:交易日期|摘要|现转|借贷|发生额|余额|交易机构|交易柜员|流水号|交易时间|凭证号|代理人姓名|代理人证件类型|代理人证件号码|,内部:交易日期|摘要|现转|借贷|发生额|余额|交易机构|交易柜员|流水号|交易时间|凭证号|,贷款:交易日期|摘要|现转|借贷|交易类型|发生额|余额|交易机构|交易柜员|流水号|交易时间|
19
-        /// </summary>
20
-        public string NRLB { get; internal set; }
21
-
22
-
23
-        #endregion
24
-
25
-        #region Input
26
-		/// <summary>
27
-        /// 参数清单
28
-        /// </summary>
29
-        public class Input : TFInput
30
-        {
31
-            /// <summary>
32
-            /// 账号 0380
33
-            ///  
34
-            /// </summary>
35
-            public string ZH { get; set; }
36
-
37
-            /// <summary>
38
-            /// 起始日期 0440
39
-            ///  
40
-            /// </summary>
41
-            public string QSRQ { get; set; }
42
-
43
-            /// <summary>
44
-            /// 截止日期 0450
45
-            ///  
46
-            /// </summary>
47
-            public string JZRQ { get; set; }
48
-
49
-            /// <summary>
50
-            /// 账户序号 0510
51
-            ///  
52
-            /// </summary>
53
-            public string ZHXH { get; set; }
54
-
55
-            /// <summary>
56
-            /// 查询标志 0660
57
-            /// 1活期2定期9内部3贷款 
58
-            /// </summary>
59
-            public string CXBZ { get; set; }
60
-
61
-
62
-            /// <summary>                 
63
-            /// 定义业务逻辑              
64
-            /// </summary>                
65
-            /// <returns></returns>  
66
-            public override TFOutput Raise()
67
-            {
68
-                //拉取数据                                  
69
-                var output = new QueryAccountDetail();
70
-                PageData.TradeAPIs.InitFd(MessageData);
71
-                PageData.TradeAPIs.CommSend(MessageData);
72
-				MessageData.Fd126_5 = MainCode;
73
-                MessageData.Fd16 = "CXCL";
74
-                MessageData.Fd38 = ZH;
75
-                MessageData.Fd44 = QSRQ;
76
-                MessageData.Fd45 = JZRQ;
77
-                MessageData.Fd51 = ZHXH;
78
-                MessageData.Fd66 = CXBZ;
79
-                MessageData.Fd128 = "0073";
80
-
81
-                PageData.TradeAPIs.CallServer(MessageData);
82
-                if (MessageData.Fd12 != "0000")
83
-                {
84
-                    output.IsFailed = true;
85
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
86
-                }                
87
-                output.NRLB = MessageData.FileData;
88
-
89
-                return output;
90
-            }
91
-        }
92
-        #endregion
93
-    }
94
-}

+ 181
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryAccountDetail.ts Datei anzeigen

@@ -0,0 +1,181 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 账户明细记录接口
5
+ */
6
+export interface AccountDetailRecord {
7
+    /** 交易日期 */
8
+    tradeDate: string
9
+    /** 摘要 */
10
+    summary: string
11
+    /** 现转标志 */
12
+    cashTransferFlag: string
13
+    /** 借贷标志 */
14
+    debitCreditFlag: string
15
+    /** 发生额 */
16
+    amount: string
17
+    /** 余额 */
18
+    balance: string
19
+    /** 交易机构 */
20
+    tradeBranch: string
21
+    /** 交易柜员 */
22
+    teller: string
23
+    /** 流水号 */
24
+    serialNumber: string
25
+    /** 交易时间 */
26
+    tradeTime: string
27
+    /** 凭证号 */
28
+    voucherNumber: string
29
+    /** 代理人姓名 (活期/定期特有) */
30
+    agentName?: string
31
+    /** 代理人证件类型 (活期/定期特有) */
32
+    agentIdType?: string
33
+    /** 代理人证件号码 (活期/定期特有) */
34
+    agentIdNumber?: string
35
+    /** 交易类型 (贷款特有) */
36
+    tradeType?: string
37
+}
38
+
39
+/**
40
+ * 查询账户明细
41
+ * 查询活期、定期、内部和贷款账户的交易明细
42
+ */
43
+export class QueryAccountDetail extends TFOutput {
44
+    /**
45
+     * 内容列表(原始数据)
46
+     * 格式:
47
+     * 活期:交易日期|摘要|现转|借贷|发生额|余额|交易机构|交易柜员|流水号|交易时间|凭证号|代理人姓名|代理人证件类型|代理人证件号码|
48
+     * 定期:同上
49
+     * 内部:交易日期|摘要|现转|借贷|发生额|余额|交易机构|交易柜员|流水号|交易时间|凭证号|
50
+     * 贷款:交易日期|摘要|现转|借贷|交易类型|发生额|余额|交易机构|交易柜员|流水号|交易时间|
51
+     */
52
+    public NRLB: string = ''
53
+
54
+    /**
55
+     * 解析后的明细记录列表
56
+     */
57
+    public get parsedDetails(): AccountDetailRecord[] {
58
+        if (!this.NRLB) return []
59
+
60
+        return this.NRLB.split('|')
61
+            .filter(record => record.trim().length > 0)
62
+            .map(record => {
63
+                const fields = record.split(',')
64
+
65
+                // 基础字段(所有账户类型共有)
66
+                const baseRecord: AccountDetailRecord = {
67
+                    tradeDate: fields[0] || '',
68
+                    summary: fields[1] || '',
69
+                    cashTransferFlag: fields[2] || '',
70
+                    debitCreditFlag: fields[3] || '',
71
+                    amount: fields[4] || '',
72
+                    balance: fields[5] || '',
73
+                    tradeBranch: fields[6] || '',
74
+                    teller: fields[7] || '',
75
+                    serialNumber: fields[8] || '',
76
+                    tradeTime: fields[9] || '',
77
+                    voucherNumber: fields[10] || ''
78
+                }
79
+
80
+                // 根据账户类型添加特有字段
81
+                if (fields.length > 11) {
82
+                    baseRecord.agentName = fields[11]
83
+                    baseRecord.agentIdType = fields[12]
84
+                    baseRecord.agentIdNumber = fields[13]
85
+                } else if (fields.length > 10 && fields[4] === '3') { // 贷款账户
86
+                    baseRecord.tradeType = fields[10]
87
+                }
88
+
89
+                return baseRecord
90
+            })
91
+    }
92
+
93
+    // #region Input
94
+    /**
95
+     * 查询账户明细的输入参数
96
+     */
97
+    public static Input = class extends TFInput {
98
+        /** 账号 0380 */
99
+        public ZH: string = ''
100
+        /** 起始日期 0440 (格式:YYYYMMDD) */
101
+        public QSRQ: string = ''
102
+        /** 截止日期 0450 (格式:YYYYMMDD) */
103
+        public JZRQ: string = ''
104
+        /** 账户序号 0510 */
105
+        public ZHXH: string = ''
106
+        /** 查询标志 0660 (1活期 2定期 9内部 3贷款) */
107
+        public CXBZ: string = '1'
108
+
109
+        /**
110
+         * 执行账户明细查询
111
+         * @returns 查询结果
112
+         */
113
+        public override Raise(): TFOutput {
114
+            const output = new QueryAccountDetail()
115
+
116
+            // 初始化交易数据
117
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
118
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
119
+
120
+            // 设置查询参数
121
+            this.MessageData.Fd126_5 = this.MainCode
122
+            this.MessageData.Fd16 = "CXCL"
123
+            this.MessageData.Fd38 = this.ZH
124
+            this.MessageData.Fd44 = this.QSRQ
125
+            this.MessageData.Fd45 = this.JZRQ
126
+            this.MessageData.Fd51 = this.ZHXH
127
+            this.MessageData.Fd66 = this.CXBZ
128
+            this.MessageData.Fd128 = "0073"
129
+
130
+            // 调用服务
131
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
132
+
133
+            // 错误处理
134
+            if (this.MessageData.Fd12 != "0000") {
135
+                output.IsFailed = true
136
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
137
+                return output
138
+            }
139
+
140
+            // 获取明细数据
141
+            output.NRLB = this.MessageData.FileData
142
+
143
+            return output
144
+        }
145
+    }
146
+    // #endregion
147
+}
148
+
149
+/**
150
+ * 创建账户明细查询的Vue 3组合式API封装
151
+ */
152
+export function useQueryAccountDetail() {
153
+    /**
154
+     * 执行账户明细查询
155
+     * @param params 查询参数
156
+     * @param page 页面对象
157
+     * @returns 查询结果
158
+     */
159
+    const executeAccountDetailQuery = (
160
+        params: {
161
+            ZH?: string      // 账号
162
+            QSRQ?: string    // 起始日期(YYYYMMDD)
163
+            JZRQ?: string    // 截止日期(YYYYMMDD)
164
+            ZHXH?: string    // 账户序号
165
+            CXBZ?: string    // 查询标志(1活期 2定期 9内部 3贷款)
166
+        },
167
+        page: any
168
+    ): QueryAccountDetail => {
169
+        const input = new QueryAccountDetail.Input()
170
+
171
+        // 设置查询参数
172
+        Object.assign(input, params)
173
+
174
+        // 执行查询
175
+        return input.DoAction<QueryAccountDetail>(page)
176
+    }
177
+
178
+    return {
179
+        executeAccountDetailQuery
180
+    }
181
+}

+ 156
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryAccountInfoByCustomer.ts Datei anzeigen

@@ -0,0 +1,156 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 账户信息接口
5
+ */
6
+export interface AccountInfo {
7
+    /** 账/卡号 */
8
+    ZKH: string
9
+    /** 账号ID */
10
+    ZHID: string
11
+    /** 户名 */
12
+    HM: string
13
+    /** 介质代码 */
14
+    JZDM: string
15
+    /** 介质名称 */
16
+    JZMC: string
17
+    /** 产品代码 */
18
+    CPDM: string
19
+    /** 产品名称 */
20
+    CPMC: string
21
+    /** 凭证号码 */
22
+    PZHM: string
23
+    /** 介质状态 */
24
+    JZZT: string
25
+    /** 支取方式 */
26
+    ZQFS: string
27
+    /** 开户机构 */
28
+    KHJG: string
29
+    /** 启用日期 */
30
+    QYRQ: string
31
+}
32
+
33
+/**
34
+ * 查询客户账户信息
35
+ * 通过证件信息查询该客户所有账户
36
+ */
37
+export class QueryAccountInfoByCustomer extends TFOutput {
38
+    /**
39
+     * 账户信息(原始数据)
40
+     * 格式:账/卡号|账号ID|户名|介质代码|介质名称|产品代码|产品名称|凭证号码|介质状态|支取方式|开户机构|启用日期|
41
+     */
42
+    public ZHXX: string = ''
43
+
44
+    /**
45
+     * 解析后的账户信息列表
46
+     */
47
+    public get ZHXXData(): AccountInfo[] {
48
+        if (!this.ZHXX) return []
49
+
50
+        return this.ZHXX.split('|')
51
+            .filter(record => record.trim().length > 0)
52
+            .map(record => {
53
+                const fields = record.split(',')
54
+
55
+                return {
56
+                    ZKH: fields[0] || '',
57
+                    ZHID: fields[1] || '',
58
+                    HM: fields[2] || '',
59
+                    JZDM: fields[3] || '',
60
+                    JZMC: fields[4] || '',
61
+                    CPDM: fields[5] || '',
62
+                    CPMC: fields[6] || '',
63
+                    PZHM: fields[7] || '',
64
+                    JZZT: fields[8] || '',
65
+                    ZQFS: fields[9] || '',
66
+                    KHJG: fields[10] || '',
67
+                    QYRQ: fields[11] || ''
68
+                }
69
+            })
70
+    }
71
+
72
+    // #region Input
73
+    /**
74
+     * 查询客户账户信息的输入参数
75
+     */
76
+    public static Input = class extends TFInput {
77
+        /** 户名 0250 */
78
+        public HM: string = ''
79
+        /** 证件号码 102A */
80
+        public ZJHM: string = ''
81
+        /** 证件类型 102G */
82
+        public ZJLX: string = ''
83
+        /** 查询标志 0670 (1-不包含无单折、对公一户通) */
84
+        public CXBZ: string = '1'
85
+
86
+        /**
87
+         * 执行客户账户信息查询
88
+         * @returns 查询结果
89
+         */
90
+        public override Raise(): TFOutput {
91
+            const output = new QueryAccountInfoByCustomer()
92
+
93
+            // 初始化交易数据
94
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
95
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
96
+
97
+            // 设置查询参数
98
+            this.MessageData.Fd126_5 = this.MainCode
99
+            this.MessageData.Fd16 = "CXCL"
100
+            this.MessageData.Fd25 = this.HM
101
+            this.MessageData.Fd102_A = this.ZJHM
102
+            this.MessageData.Fd102_G = this.ZJLX
103
+            this.MessageData.Fd128 = "0009"
104
+            this.MessageData.Fd67 = this.CXBZ
105
+
106
+            // 调用服务
107
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
108
+
109
+            // 错误处理
110
+            if (this.MessageData.Fd12 != "0000") {
111
+                output.IsFailed = true
112
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
113
+                return output
114
+            }
115
+
116
+            // 获取账户信息数据
117
+            output.ZHXX = this.MessageData.FileData
118
+
119
+            return output
120
+        }
121
+    }
122
+    // #endregion
123
+}
124
+
125
+/**
126
+ * 创建客户账户信息查询的Vue 3组合式API封装
127
+ */
128
+export function useQueryAccountInfoByCustomer() {
129
+    /**
130
+     * 执行客户账户信息查询
131
+     * @param params 查询参数
132
+     * @param page 页面对象
133
+     * @returns 查询结果
134
+     */
135
+    const executeAccountInfoQuery = (
136
+        params: {
137
+            HM?: string      // 户名
138
+            ZJHM?: string    // 证件号码
139
+            ZJLX?: string    // 证件类型
140
+            CXBZ?: string    // 查询标志(1-不包含无单折、对公一户通)
141
+        },
142
+        page: any
143
+    ): QueryAccountInfoByCustomer => {
144
+        const input = new QueryAccountInfoByCustomer.Input()
145
+
146
+        // 设置查询参数
147
+        Object.assign(input, params)
148
+
149
+        // 执行查询
150
+        return input.DoAction<QueryAccountInfoByCustomer>(page)
151
+    }
152
+
153
+    return {
154
+        executeAccountInfoQuery
155
+    }
156
+}

+ 110
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCollateralInformationByHTCode.ts Datei anzeigen

@@ -0,0 +1,110 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 按合同号查询抵质押信息结果
5
+ */
6
+export interface CollateralInfoByHTCode {
7
+    /** 业务类型 0220 */
8
+    DKLX: string
9
+    /** 审批未放款金额 1001 */
10
+    SPWFKJE: string
11
+    /** 已关联金额 1002 */
12
+    YGLJE: string
13
+    /** 已开户未销户抵质押贷款金额 1003 */
14
+    YKHWXHDZYDKJE: string
15
+    /** 该合同下的抵质押贷款余额 1004 */
16
+    GHTXDDZYDKYE: string
17
+    /** 是否有该笔合同 0730 (N:没有 Y:有) */
18
+    SFYGBHT: string
19
+}
20
+
21
+/**
22
+ * 按合同号查询抵质押信息
23
+ * 根据合同号查询并返回相关的抵质押信息
24
+ */
25
+export class QueryCollateralInformationByHTCode extends TFOutput implements CollateralInfoByHTCode {
26
+    // 输出字段
27
+    public DKLX: string = ''
28
+    public SPWFKJE: string = ''
29
+    public YGLJE: string = ''
30
+    public YKHWXHDZYDKJE: string = ''
31
+    public GHTXDDZYDKYE: string = ''
32
+    public SFYGBHT: string = ''
33
+
34
+    // #region Input
35
+    /**
36
+     * 查询抵质押信息的输入参数
37
+     */
38
+    public static Input = class extends TFInput {
39
+        /** 合同号 0860 */
40
+        public HTH: string = ''
41
+
42
+        /**
43
+         * 执行抵质押信息查询
44
+         * @returns 查询结果
45
+         */
46
+        public override Raise(): TFOutput {
47
+            const output = new QueryCollateralInformationByHTCode()
48
+
49
+            // 初始化交易数据
50
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
51
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
52
+
53
+            // 设置查询参数
54
+            this.MessageData.Fd126_5 = this.MainCode
55
+            this.MessageData.Fd16 = "K047"
56
+            this.MessageData.Fd86 = this.HTH
57
+
58
+            // 调用服务
59
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
60
+
61
+            // 错误处理
62
+            if (this.MessageData.Fd12 != "0000") {
63
+                output.IsFailed = true
64
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
65
+                return output
66
+            }
67
+
68
+            // 设置返回的抵质押信息
69
+            output.DKLX = this.MessageData.Fd22
70
+            output.SPWFKJE = this.MessageData.Fd100_1
71
+            output.YGLJE = this.MessageData.Fd100_2
72
+            output.YKHWXHDZYDKJE = this.MessageData.Fd100_3
73
+            output.GHTXDDZYDKYE = this.MessageData.Fd100_4
74
+            output.SFYGBHT = this.MessageData.Fd73
75
+
76
+            return output
77
+        }
78
+    }
79
+    // #endregion
80
+}
81
+
82
+/**
83
+ * 创建按合同号查询抵质押信息的Vue 3组合式API封装
84
+ */
85
+export function useQueryCollateralByHTCode() {
86
+    /**
87
+     * 执行按合同号查询抵质押信息
88
+     * @param params 查询参数
89
+     * @param page 页面对象
90
+     * @returns 查询结果
91
+     */
92
+    const executeCollateralQuery = (
93
+        params: {
94
+            HTH?: string    // 合同号
95
+        },
96
+        page: any
97
+    ): QueryCollateralInformationByHTCode => {
98
+        const input = new QueryCollateralInformationByHTCode.Input()
99
+
100
+        // 设置查询参数
101
+        Object.assign(input, params)
102
+
103
+        // 执行查询
104
+        return input.DoAction<QueryCollateralInformationByHTCode>(page)
105
+    }
106
+
107
+    return {
108
+        executeCollateralQuery
109
+    }
110
+}

+ 117
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryComboBoxData.ts Datei anzeigen

@@ -0,0 +1,117 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 下拉菜单项接口
5
+ */
6
+export interface ComboBoxItem {
7
+    /** 类型值 */
8
+    LXZ: string
9
+    /** 描述 */
10
+    MS: string
11
+}
12
+
13
+/**
14
+ * 查询下拉框数据
15
+ * 获取前端下拉框所需的数据列表
16
+ */
17
+export class QueryComboBoxData extends TFOutput {
18
+    /**
19
+     * 菜单信息(原始数据)
20
+     * 格式:类型值|描述|
21
+     */
22
+    public CDXX: string = ''
23
+
24
+    /**
25
+     * 解析后的菜单信息列表
26
+     */
27
+    public get CDXXData(): ComboBoxItem[] {
28
+        if (!this.CDXX) return []
29
+
30
+        return this.CDXX.split('|')
31
+            .filter(record => record.trim().length > 0)
32
+            .map(record => {
33
+                const fields = record.split(',')
34
+
35
+                return {
36
+                    LXZ: fields[0] || '',
37
+                    MS: fields[1] || ''
38
+                }
39
+            })
40
+    }
41
+
42
+    // #region Input
43
+    /**
44
+     * 查询下拉框数据的输入参数
45
+     */
46
+    public static Input = class extends TFInput {
47
+        /** 列表编码 0640 */
48
+        public LBBM: string = ''
49
+        /** 附属信息 1230 */
50
+        public FJTJ: string = ''
51
+
52
+        /**
53
+         * 执行下拉框数据查询
54
+         * @returns 查询结果
55
+         */
56
+        public override Raise(): TFOutput {
57
+            const output = new QueryComboBoxData()
58
+
59
+            // 初始化交易数据
60
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
61
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
62
+
63
+            // 设置查询参数
64
+            this.MessageData.Fd126_5 = this.MainCode
65
+            this.MessageData.Fd16 = "K042"
66
+            this.MessageData.Fd64 = this.LBBM
67
+            this.MessageData.Fd123 = this.FJTJ
68
+
69
+            // 调用服务
70
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
71
+
72
+            // 错误处理
73
+            if (this.MessageData.Fd12 != "0000") {
74
+                output.IsFailed = true
75
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
76
+                return output
77
+            }
78
+
79
+            // 获取菜单数据
80
+            output.CDXX = this.MessageData.FileData
81
+
82
+            return output
83
+        }
84
+    }
85
+    // #endregion
86
+}
87
+
88
+/**
89
+ * 创建下拉框数据查询的Vue 3组合式API封装
90
+ */
91
+export function useQueryComboBoxData() {
92
+    /**
93
+     * 执行下拉框数据查询
94
+     * @param params 查询参数
95
+     * @param page 页面对象
96
+     * @returns 查询结果
97
+     */
98
+    const executeComboBoxQuery = (
99
+        params: {
100
+            LBBM?: string      // 列表编码
101
+            FJTJ?: string      // 附属信息
102
+        },
103
+        page: any
104
+    ): QueryComboBoxData => {
105
+        const input = new QueryComboBoxData.Input()
106
+
107
+        // 设置查询参数
108
+        Object.assign(input, params)
109
+
110
+        // 执行查询
111
+        return input.DoAction<QueryComboBoxData>(page)
112
+    }
113
+
114
+    return {
115
+        executeComboBoxQuery
116
+    }
117
+}

+ 143
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerCertificateList.ts Datei anzeigen

@@ -0,0 +1,143 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 客户凭证信息接口
5
+ */
6
+export interface CustomerCertificateInfo {
7
+    /** 账号 */
8
+    ZH: string
9
+    /** 凭证名称 */
10
+    PZMC: string
11
+    /** 种类 */
12
+    ZL: string
13
+    /** 出售未使用 */
14
+    CSWSY: string
15
+    /** 挂失 */
16
+    GS: string
17
+    /** 回收 */
18
+    HS: string
19
+    /** 作废 */
20
+    ZF: string
21
+    /** 使用 */
22
+    SY: string
23
+}
24
+
25
+/**
26
+ * 查询客户凭证信息
27
+ * 根据账号或证件,返回客户所有的凭证信息
28
+ */
29
+export class QueryCustomerCertificateList extends TFOutput {
30
+    /**
31
+     * 客户凭证信息(原始数据)
32
+     * 格式:帐号|凭证名称|种类|出售未使用|挂失|回收|作废|使用|
33
+     */
34
+    public KHPZXX: string = ''
35
+
36
+    /**
37
+     * 解析后的客户凭证信息列表
38
+     */
39
+    public get KHPZXXData(): CustomerCertificateInfo[] {
40
+        if (!this.KHPZXX) return []
41
+
42
+        return this.KHPZXX.split('|')
43
+            .filter(record => record.trim().length > 0)
44
+            .map(record => {
45
+                const fields = record.split(',')
46
+
47
+                return {
48
+                    ZH: fields[0] || '',
49
+                    PZMC: fields[1] || '',
50
+                    ZL: fields[2] || '',
51
+                    CSWSY: fields[3] || '',
52
+                    GS: fields[4] || '',
53
+                    HS: fields[5] || '',
54
+                    ZF: fields[6] || '',
55
+                    SY: fields[7] || ''
56
+                }
57
+            })
58
+    }
59
+
60
+    // #region Input
61
+    /**
62
+     * 查询客户凭证信息的输入参数
63
+     */
64
+    public static Input = class extends TFInput {
65
+        /** 账号 0300 */
66
+        public ZH: string = ''
67
+        /** 证件号码 0620 */
68
+        public ZJHM: string = ''
69
+        /** 证件类型 0700 */
70
+        public ZJLX: string = ''
71
+        /** 操作标志 0670 */
72
+        public CZBZ: string = ''
73
+
74
+        /**
75
+         * 执行客户凭证信息查询
76
+         * @returns 查询结果
77
+         */
78
+        public override Raise(): TFOutput {
79
+            const output = new QueryCustomerCertificateList()
80
+
81
+            // 初始化交易数据
82
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
83
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
84
+
85
+            // 设置查询参数
86
+            this.MessageData.Fd126_5 = this.MainCode
87
+            this.MessageData.Fd16 = "K057"
88
+            this.MessageData.Fd30 = this.ZH
89
+            this.MessageData.Fd62 = this.ZJHM
90
+            this.MessageData.Fd70 = this.ZJLX
91
+            this.MessageData.Fd67 = this.CZBZ
92
+
93
+            // 调用服务
94
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
95
+
96
+            // 错误处理
97
+            if (this.MessageData.Fd12 != "0000") {
98
+                output.IsFailed = true
99
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
100
+                return output
101
+            }
102
+
103
+            // 获取客户凭证信息数据
104
+            output.KHPZXX = this.MessageData.FileData
105
+
106
+            return output
107
+        }
108
+    }
109
+    // #endregion
110
+}
111
+
112
+/**
113
+ * 创建客户凭证信息查询的Vue 3组合式API封装
114
+ */
115
+export function useQueryCustomerCertificateList() {
116
+    /**
117
+     * 执行客户凭证信息查询
118
+     * @param params 查询参数
119
+     * @param page 页面对象
120
+     * @returns 查询结果
121
+     */
122
+    const executeCertificateQuery = (
123
+        params: {
124
+            ZH?: string      // 账号
125
+            ZJHM?: string    // 证件号码
126
+            ZJLX?: string    // 证件类型
127
+            CZBZ?: string    // 操作标志
128
+        },
129
+        page: any
130
+    ): QueryCustomerCertificateList => {
131
+        const input = new QueryCustomerCertificateList.Input()
132
+
133
+        // 设置查询参数
134
+        Object.assign(input, params)
135
+
136
+        // 执行查询
137
+        return input.DoAction<QueryCustomerCertificateList>(page)
138
+    }
139
+
140
+    return {
141
+        executeCertificateQuery
142
+    }
143
+}

+ 0
- 184
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerInfoByCode.cs Datei anzeigen

@@ -1,184 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 客户信息查询-文件
11
-    /// 根据客户号查询客户信息
12
-    /// </summary>
13
-    public class QueryCustomerInfoByCode : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 客户信息
18
-        /// 客户编码|证件类型|证件号码|开始日期|结束日期|客户名称|客户级别|客户别名|创建日期|手机号|地址|公司地址|联系电话|性别|贡献度|
19
-        /// </summary>
20
-        public string KHXX { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 客户信息
24
-        /// 客户编码|证件类型|证件号码|开始日期|结束日期|客户名称|客户级别|客户别名|创建日期|手机号|地址|公司地址|联系电话|性别|贡献度|
25
-        /// </summary>
26
-        public List<E_KHXX> KHXXData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 客户信息
30
-        /// 客户编码|证件类型|证件号码|开始日期|结束日期|客户名称|客户级别|客户别名|创建日期|手机号|地址|公司地址|联系电话|性别|贡献度|
31
-        /// </summary>
32
-        public class E_KHXX
33
-        {
34
-            /// <summary>
35
-            /// 客户编码
36
-            /// </summary>
37
-            public string KHBM { get; set; }
38
-
39
-            /// <summary>
40
-            /// 证件类型
41
-            /// </summary>
42
-            public string ZJLX { get; set; }
43
-
44
-            /// <summary>
45
-            /// 证件号码
46
-            /// </summary>
47
-            public string ZJHM { get; set; }
48
-
49
-            /// <summary>
50
-            /// 开始日期
51
-            /// </summary>
52
-            public string KSRQ { get; set; }
53
-
54
-            /// <summary>
55
-            /// 结束日期
56
-            /// </summary>
57
-            public string JSRQ { get; set; }
58
-
59
-            /// <summary>
60
-            /// 客户名称
61
-            /// </summary>
62
-            public string KHMC { get; set; }
63
-
64
-            /// <summary>
65
-            /// 客户级别
66
-            /// </summary>
67
-            public string KHJB { get; set; }
68
-
69
-            /// <summary>
70
-            /// 客户别名
71
-            /// </summary>
72
-            public string KHBM_1 { get; set; }
73
-
74
-            /// <summary>
75
-            /// 创建日期
76
-            /// </summary>
77
-            public string CJRQ { get; set; }
78
-
79
-            /// <summary>
80
-            /// 手机号
81
-            /// </summary>
82
-            public string SJH { get; set; }
83
-
84
-            /// <summary>
85
-            /// 地址
86
-            /// </summary>
87
-            public string DZ { get; set; }
88
-
89
-            /// <summary>
90
-            /// 公司地址
91
-            /// </summary>
92
-            public string GSDZ { get; set; }
93
-
94
-            /// <summary>
95
-            /// 联系电话
96
-            /// </summary>
97
-            public string LXDH { get; set; }
98
-
99
-            /// <summary>
100
-            /// 性别
101
-            /// </summary>
102
-            public string XB { get; set; }
103
-
104
-            /// <summary>
105
-            /// 贡献度
106
-            /// </summary>
107
-            public string GXD { get; set; }
108
-
109
-        }
110
-
111
-        #endregion
112
-
113
-        #region Input
114
-		/// <summary>
115
-        /// 参数清单
116
-        /// </summary>
117
-        public class Input : TFInput
118
-        {
119
-            /// <summary>
120
-            /// 客户号 0280
121
-            ///  
122
-            /// </summary>
123
-            public string KHH { get; set; }
124
-
125
-            /// <summary>
126
-            /// 客户类型 0670
127
-            /// 1.对私2.对公 
128
-            /// </summary>
129
-            public string KHLX { get; set; }
130
-
131
-
132
-            /// <summary>                 
133
-            /// 定义业务逻辑              
134
-            /// </summary>                
135
-            /// <returns></returns>  
136
-            public override TFOutput Raise()
137
-            {
138
-                //拉取数据                                  
139
-                var output = new QueryCustomerInfoByCode();
140
-                PageData.TradeAPIs.InitFd(MessageData);
141
-                PageData.TradeAPIs.CommSend(MessageData);
142
-				MessageData.Fd126_5 = MainCode;
143
-                MessageData.Fd16 = "CXCL";
144
-                MessageData.Fd28 = KHH;
145
-                MessageData.Fd67 = KHLX;
146
-                MessageData.Fd128 = "0036";
147
-
148
-                PageData.TradeAPIs.CallServer(MessageData);
149
-                if (MessageData.Fd12 != "0000")
150
-                {
151
-                    output.IsFailed = true;
152
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
153
-                }                
154
-                output.KHXXData = AnilyzeFileData<E_KHXX>(MessageData.FileData,
155
-                                            "客户编码|证件类型|证件号码|开始日期|结束日期|客户名称|客户级别|客户别名|创建日期|手机号|地址|公司地址|联系电话|性别|贡献度|",
156
-                                            x =>
157
-                                            {
158
-                                                return new E_KHXX
159
-                                                {
160
-                                                    KHBM = x["客户编码"],
161
-                                                    ZJLX = x["证件类型"],
162
-                                                    ZJHM = x["证件号码"],
163
-                                                    KSRQ = x["开始日期"],
164
-                                                    JSRQ = x["结束日期"],
165
-                                                    KHMC = x["客户名称"],
166
-                                                    KHJB = x["客户级别"],
167
-                                                    KHBM_1 = x["客户别名"],
168
-                                                    CJRQ = x["创建日期"],
169
-                                                    SJH = x["手机号"],
170
-                                                    DZ = x["地址"],
171
-                                                    GSDZ = x["公司地址"],
172
-                                                    LXDH = x["联系电话"],
173
-                                                    XB = x["性别"],
174
-                                                    GXD = x["贡献度"]
175
-                                                };
176
-                                            });
177
-                output.KHXX = MessageData.FileData;
178
-
179
-                return output;
180
-            }
181
-        }
182
-        #endregion
183
-    }
184
-}

+ 157
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerInfoByCode.ts Datei anzeigen

@@ -0,0 +1,157 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 客户信息接口
5
+ */
6
+export interface CustomerInfo {
7
+    /** 客户编码 */
8
+    KHBM: string
9
+    /** 证件类型 */
10
+    ZJLX: string
11
+    /** 证件号码 */
12
+    ZJHM: string
13
+    /** 开始日期 */
14
+    KSRQ: string
15
+    /** 结束日期 */
16
+    JSRQ: string
17
+    /** 客户名称 */
18
+    KHMC: string
19
+    /** 客户级别 */
20
+    KHJB: string
21
+    /** 客户别名 */
22
+    KHBM_1: string
23
+    /** 创建日期 */
24
+    CJRQ: string
25
+    /** 手机号 */
26
+    SJH: string
27
+    /** 地址 */
28
+    DZ: string
29
+    /** 公司地址 */
30
+    GSDZ: string
31
+    /** 联系电话 */
32
+    LXDH: string
33
+    /** 性别 */
34
+    XB: string
35
+    /** 贡献度 */
36
+    GXD: string
37
+}
38
+
39
+/**
40
+ * 查询客户信息
41
+ * 根据客户号查询客户基本信息
42
+ */
43
+export class QueryCustomerInfoByCode extends TFOutput {
44
+    /**
45
+     * 客户信息(原始数据)
46
+     * 格式:客户编码|证件类型|证件号码|开始日期|结束日期|客户名称|客户级别|客户别名|创建日期|手机号|地址|公司地址|联系电话|性别|贡献度|
47
+     */
48
+    public KHXX: string = ''
49
+
50
+    /**
51
+     * 解析后的客户信息列表
52
+     */
53
+    public get KHXXData(): CustomerInfo[] {
54
+        if (!this.KHXX) return []
55
+
56
+        return this.KHXX.split('|')
57
+            .filter(record => record.trim().length > 0)
58
+            .map(record => {
59
+                const fields = record.split(',')
60
+
61
+                return {
62
+                    KHBM: fields[0] || '',
63
+                    ZJLX: fields[1] || '',
64
+                    ZJHM: fields[2] || '',
65
+                    KSRQ: fields[3] || '',
66
+                    JSRQ: fields[4] || '',
67
+                    KHMC: fields[5] || '',
68
+                    KHJB: fields[6] || '',
69
+                    KHBM_1: fields[7] || '',
70
+                    CJRQ: fields[8] || '',
71
+                    SJH: fields[9] || '',
72
+                    DZ: fields[10] || '',
73
+                    GSDZ: fields[11] || '',
74
+                    LXDH: fields[12] || '',
75
+                    XB: fields[13] || '',
76
+                    GXD: fields[14] || ''
77
+                }
78
+            })
79
+    }
80
+
81
+    // #region Input
82
+    /**
83
+     * 查询客户信息的输入参数
84
+     */
85
+    public static Input = class extends TFInput {
86
+        /** 客户号 0280 */
87
+        public KHH: string = ''
88
+        /** 客户类型 0670 (1对私 2对公) */
89
+        public KHLX: string = '1'
90
+
91
+        /**
92
+         * 执行客户信息查询
93
+         * @returns 查询结果
94
+         */
95
+        public override Raise(): TFOutput {
96
+            const output = new QueryCustomerInfoByCode()
97
+
98
+            // 初始化交易数据
99
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
100
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
101
+
102
+            // 设置查询参数
103
+            this.MessageData.Fd126_5 = this.MainCode
104
+            this.MessageData.Fd16 = "CXCL"
105
+            this.MessageData.Fd28 = this.KHH
106
+            this.MessageData.Fd67 = this.KHLX
107
+            this.MessageData.Fd128 = "0036"
108
+
109
+            // 调用服务
110
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
111
+
112
+            // 错误处理
113
+            if (this.MessageData.Fd12 != "0000") {
114
+                output.IsFailed = true
115
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
116
+                return output
117
+            }
118
+
119
+            // 获取客户信息数据
120
+            output.KHXX = this.MessageData.FileData
121
+
122
+            return output
123
+        }
124
+    }
125
+    // #endregion
126
+}
127
+
128
+/**
129
+ * 创建客户信息查询的Vue 3组合式API封装
130
+ */
131
+export function useQueryCustomerInfoByCode() {
132
+    /**
133
+     * 执行客户信息查询
134
+     * @param params 查询参数
135
+     * @param page 页面对象
136
+     * @returns 查询结果
137
+     */
138
+    const executeCustomerInfoQuery = (
139
+        params: {
140
+            KHH?: string      // 客户号
141
+            KHLX?: string    // 客户类型(1对私 2对公)
142
+        },
143
+        page: any
144
+    ): QueryCustomerInfoByCode => {
145
+        const input = new QueryCustomerInfoByCode.Input()
146
+
147
+        // 设置查询参数
148
+        Object.assign(input, params)
149
+
150
+        // 执行查询
151
+        return input.DoAction<QueryCustomerInfoByCode>(page)
152
+    }
153
+
154
+    return {
155
+        executeCustomerInfoQuery
156
+    }
157
+}

+ 0
- 1000
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerInformation.cs
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


+ 262
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryCustomerInformation.ts Datei anzeigen

@@ -0,0 +1,262 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 客户信息查询结果
5
+ */
6
+export interface CustomerInformation {
7
+    /** 帐户状态 0200 */
8
+    ZHZT: string
9
+    /** 户名 1202 */
10
+    HM: string
11
+    /** 客户号 0280 */
12
+    KHH: string
13
+    /** 有效起始日期 0440 */
14
+    YXQSRQ: string
15
+    /** 有效到期日期 0450 */
16
+    YXDQRQ: string
17
+    /** 指定卡类型卡开户张数 0480 */
18
+    KKHZS: string
19
+    /** 预警次数 0490 */
20
+    YJCS: string
21
+    /** 电话 0610 */
22
+    DH: string
23
+    /** 客户级别 0660 */
24
+    KHJB: string
25
+    /** 客户类型 0670 */
26
+    KHLX: string
27
+    /** 客户当前状态 0680 */
28
+    KHDQZT: string
29
+    /** 收费黑名单类型 0690 */
30
+    SFHMDLX: string
31
+    /** 客户黑名单状态 0700 */
32
+    KHHMDZT: string
33
+    /** 客户级别变更模式 0710 */
34
+    KHJBBGMS: string
35
+    /** 标志 0730 */
36
+    BZ: string
37
+    /** 地址 0810 */
38
+    DZ: string
39
+    /** 收费黑名单备注 0820 */
40
+    SFHMDBZ: string
41
+    /** 单位地址 0830 */
42
+    DWDZ: string
43
+    /** 开销户登记簿中账户状态 0930 */
44
+    KXHDJBZZHZT: string
45
+    /** 证件类型 1164 */
46
+    ZJLX: string
47
+    /** 证件号码 1165 */
48
+    ZJHM: string
49
+    /** 法定代理人名称 0270 */
50
+    FDDLRMC: string
51
+    /** 法定代理人证件号码 0620 */
52
+    FDDLRZJHM: string
53
+    /** 组织机构代码证 0630 */
54
+    ZZJGDMZ: string
55
+    /** 法定代理人证件类型 0720 */
56
+    FDDLRZJLX: string
57
+    /** 企业联系人 1166 */
58
+    QYLXR: string
59
+    /** 传真 1167 */
60
+    CZ: string
61
+    /** 邮编 1168 */
62
+    YB: string
63
+    /** 电子邮箱 0250 */
64
+    DZYX: string
65
+    /** 手机号 0860 */
66
+    SJH: string
67
+    /** 营业执照 0870 */
68
+    YYZZ: string
69
+    /** 客户开立机构 0910 */
70
+    KHKLJG: string
71
+    /** 基本户数量 0500 */
72
+    JBHSL: string
73
+    /** 一般户数量 0510 */
74
+    YBHSL: string
75
+    /** 临时户数量 0550 */
76
+    LSHSL: string
77
+    /** 总开卡数 0360 */
78
+    ZKKS: string
79
+    /** VIP卡数量 103H */
80
+    VIPS: string
81
+    /** 二类账户开户数量 1017 */
82
+    ELZHKHSL: string
83
+    /** 客户信息标志位 1016 */
84
+    MARK: string
85
+}
86
+
87
+/**
88
+ * 查询客户信息
89
+ * 根据客户号、账号、证件类型及号码查询并返回客户信息
90
+ */
91
+export class QueryCustomerInformation extends TFOutput implements CustomerInformation {
92
+    // 客户信息字段
93
+    public ZHZT: string = ''
94
+    public HM: string = ''
95
+    public KHH: string = ''
96
+    public YXQSRQ: string = ''
97
+    public YXDQRQ: string = ''
98
+    public KKHZS: string = ''
99
+    public YJCS: string = ''
100
+    public DH: string = ''
101
+    public KHJB: string = ''
102
+    public KHLX: string = ''
103
+    public KHDQZT: string = ''
104
+    public SFHMDLX: string = ''
105
+    public KHHMDZT: string = ''
106
+    public KHJBBGMS: string = ''
107
+    public BZ: string = ''
108
+    public DZ: string = ''
109
+    public SFHMDBZ: string = ''
110
+    public DWDZ: string = ''
111
+    public KXHDJBZZHZT: string = ''
112
+    public ZJLX: string = ''
113
+    public ZJHM: string = ''
114
+    public FDDLRMC: string = ''
115
+    public FDDLRZJHM: string = ''
116
+    public ZZJGDMZ: string = ''
117
+    public FDDLRZJLX: string = ''
118
+    public QYLXR: string = ''
119
+    public CZ: string = ''
120
+    public YB: string = ''
121
+    public DZYX: string = ''
122
+    public SJH: string = ''
123
+    public YYZZ: string = ''
124
+    public KHKLJG: string = ''
125
+    public JBHSL: string = ''
126
+    public YBHSL: string = ''
127
+    public LSHSL: string = ''
128
+    public ZKKS: string = ''
129
+    public VIPS: string = ''
130
+    public ELZHKHSL: string = ''
131
+    public MARK: string = ''
132
+
133
+    // #region Input
134
+    /**
135
+     * 查询客户信息的输入参数
136
+     */
137
+    public static Input = class extends TFInput {
138
+        /** 客户名称 0260 */
139
+        public KHMC: string = ''
140
+        /** 客户号 0280 */
141
+        public KHH: string = ''
142
+        /** 账号 0300 */
143
+        public ZH: string = ''
144
+        /** 介质代码 1161 */
145
+        public JZDM: string = ''
146
+        /** 证件类型 1164 */
147
+        public ZJLX: string = ''
148
+        /** 证件号码 1165 */
149
+        public ZJHM: string = ''
150
+
151
+        /**
152
+         * 执行客户信息查询
153
+         * @returns 查询结果
154
+         */
155
+        public override Raise(): TFOutput {
156
+            const output = new QueryCustomerInformation()
157
+
158
+            // 初始化交易数据
159
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
160
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
161
+
162
+            // 设置查询参数
163
+            this.MessageData.Fd126_5 = this.MainCode
164
+            this.MessageData.Fd16 = "K018"
165
+            this.MessageData.Fd26 = this.KHMC
166
+            this.MessageData.Fd28 = this.KHH
167
+            this.MessageData.Fd30 = this.ZH
168
+            this.MessageData.Fd116_1 = this.JZDM
169
+            this.MessageData.Fd116_4 = this.ZJLX
170
+            this.MessageData.Fd116_5 = this.ZJHM
171
+
172
+            // 调用服务
173
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
174
+
175
+            // 错误处理
176
+            if (this.MessageData.Fd12 != "0000") {
177
+                output.IsFailed = true
178
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
179
+                return output
180
+            }
181
+
182
+            // 设置返回的客户信息
183
+            output.ZHZT = this.MessageData.Fd20
184
+            output.HM = this.MessageData.Fd120_2
185
+            output.KHH = this.MessageData.Fd28
186
+            output.YXQSRQ = this.MessageData.Fd44
187
+            output.YXDQRQ = this.MessageData.Fd45
188
+            output.KKHZS = this.MessageData.Fd48
189
+            output.YJCS = this.MessageData.Fd49
190
+            output.DH = this.MessageData.Fd61
191
+            output.KHJB = this.MessageData.Fd66
192
+            output.KHLX = this.MessageData.Fd67
193
+            output.KHDQZT = this.MessageData.Fd68
194
+            output.SFHMDLX = this.MessageData.Fd69
195
+            output.KHHMDZT = this.MessageData.Fd70
196
+            output.KHJBBGMS = this.MessageData.Fd71
197
+            output.BZ = this.MessageData.Fd73
198
+            output.DZ = this.MessageData.Fd81
199
+            output.SFHMDBZ = this.MessageData.Fd82
200
+            output.DWDZ = this.MessageData.Fd83
201
+            output.KXHDJBZZHZT = this.MessageData.Fd93
202
+            output.ZJLX = this.MessageData.Fd116_4
203
+            output.ZJHM = this.MessageData.Fd116_5
204
+            output.FDDLRMC = this.MessageData.Fd27
205
+            output.FDDLRZJHM = this.MessageData.Fd62
206
+            output.ZZJGDMZ = this.MessageData.Fd63
207
+            output.FDDLRZJLX = this.MessageData.Fd72
208
+            output.QYLXR = this.MessageData.Fd116_6
209
+            output.CZ = this.MessageData.Fd116_7
210
+            output.YB = this.MessageData.Fd116_8
211
+            output.DZYX = this.MessageData.Fd25
212
+            output.SJH = this.MessageData.Fd86
213
+            output.YYZZ = this.MessageData.Fd87
214
+            output.KHKLJG = this.MessageData.Fd91
215
+            output.JBHSL = this.MessageData.Fd50
216
+            output.YBHSL = this.MessageData.Fd51
217
+            output.LSHSL = this.MessageData.Fd55
218
+            output.ZKKS = this.MessageData.Fd36
219
+            output.VIPS = this.MessageData.Fd103_H
220
+            output.ELZHKHSL = this.MessageData.Fd101_7
221
+            output.MARK = this.MessageData.Fd101_6
222
+
223
+            return output
224
+        }
225
+    }
226
+    // #endregion
227
+}
228
+
229
+/**
230
+ * 创建客户信息查询的Vue 3组合式API封装
231
+ */
232
+export function useQueryCustomerInformation() {
233
+    /**
234
+     * 执行客户信息查询
235
+     * @param params 查询参数
236
+     * @param page 页面对象
237
+     * @returns 查询结果
238
+     */
239
+    const executeCustomerQuery = (
240
+        params: {
241
+            KHMC?: string    // 客户名称
242
+            KHH?: string     // 客户号
243
+            ZH?: string      // 账号
244
+            JZDM?: string    // 介质代码
245
+            ZJLX?: string    // 证件类型
246
+            ZJHM?: string    // 证件号码
247
+        },
248
+        page: any
249
+    ): QueryCustomerInformation => {
250
+        const input = new QueryCustomerInformation.Input()
251
+
252
+        // 设置查询参数
253
+        Object.assign(input, params)
254
+
255
+        // 执行查询
256
+        return input.DoAction<QueryCustomerInformation>(page)
257
+    }
258
+
259
+    return {
260
+        executeCustomerQuery
261
+    }
262
+}

+ 0
- 112
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryDicData.cs Datei anzeigen

@@ -1,112 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 查询dic_data表
11
-    /// 通过项目编号查询dic_data表
12
-    /// </summary>
13
-    public class QueryDicData : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 内容列表
18
-        /// 项目编号|项目顺序号|内容
19
-        /// </summary>
20
-        public string NRLB { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 内容列表
24
-        /// 项目编号|项目顺序号|内容
25
-        /// </summary>
26
-        public List<E_NRLB> NRLBData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 内容列表
30
-        /// 项目编号|项目顺序号|内容
31
-        /// </summary>
32
-        public class E_NRLB
33
-        {
34
-            /// <summary>
35
-            /// 项目编号
36
-            /// </summary>
37
-            public string XMBH { get; set; }
38
-
39
-            /// <summary>
40
-            /// 项目顺序号
41
-            /// </summary>
42
-            public string XMSXH { get; set; }
43
-
44
-            /// <summary>
45
-            /// 内容
46
-            /// </summary>
47
-            public string NR { get; set; }
48
-
49
-        }
50
-
51
-        #endregion
52
-
53
-        #region Input
54
-		/// <summary>
55
-        /// 参数清单
56
-        /// </summary>
57
-        public class Input : TFInput
58
-        {
59
-            /// <summary>
60
-            /// 项目顺序号 0640
61
-            ///  
62
-            /// </summary>
63
-            public string XMSXH { get; set; }
64
-
65
-            /// <summary>
66
-            /// 项目编号 0820
67
-            ///  
68
-            /// </summary>
69
-            public string XMBH { get; set; }
70
-
71
-
72
-            /// <summary>                 
73
-            /// 定义业务逻辑              
74
-            /// </summary>                
75
-            /// <returns></returns>  
76
-            public override TFOutput Raise()
77
-            {
78
-                //拉取数据                                  
79
-                var output = new QueryDicData();
80
-                PageData.TradeAPIs.InitFd(MessageData);
81
-                PageData.TradeAPIs.CommSend(MessageData);
82
-				MessageData.Fd126_5 = MainCode;
83
-                MessageData.Fd16 = "CXCL";
84
-                MessageData.Fd64 = XMSXH;
85
-                MessageData.Fd82 = XMBH;
86
-                MessageData.Fd128 = "0023";
87
-
88
-                PageData.TradeAPIs.CallServer(MessageData);
89
-                if (MessageData.Fd12 != "0000")
90
-                {
91
-                    output.IsFailed = true;
92
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
93
-                }                
94
-                output.NRLBData = AnilyzeFileData<E_NRLB>(MessageData.FileData,
95
-                                            "项目编号|项目顺序号|内容|",
96
-                                            x =>
97
-                                            {
98
-                                                return new E_NRLB
99
-                                                {
100
-                                                    XMBH = x["项目编号"],
101
-                                                    XMSXH = x["项目顺序号"],
102
-                                                    NR = x["内容"]
103
-                                                };
104
-                                            });
105
-                output.NRLB = MessageData.FileData;
106
-
107
-                return output;
108
-            }
109
-        }
110
-        #endregion
111
-    }
112
-}

+ 121
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryDicData.ts Datei anzeigen

@@ -0,0 +1,121 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 字典数据项接口
5
+ */
6
+export interface DictionaryItem {
7
+    /** 项目编号 */
8
+    XMBH: string
9
+    /** 项目顺序号 */
10
+    XMSXH: string
11
+    /** 内容 */
12
+    NR: string
13
+}
14
+
15
+/**
16
+ * 查询字典数据
17
+ * 通过项目编号查询系统字典表中的数据
18
+ */
19
+export class QueryDicData extends TFOutput {
20
+    /**
21
+     * 内容列表(原始数据)
22
+     * 格式:项目编号|项目顺序号|内容|
23
+     */
24
+    public NRLB: string = ''
25
+
26
+    /**
27
+     * 解析后的内容列表
28
+     */
29
+    public get NRLBData(): DictionaryItem[] {
30
+        if (!this.NRLB) return []
31
+
32
+        return this.NRLB.split('|')
33
+            .filter(record => record.trim().length > 0)
34
+            .map(record => {
35
+                const fields = record.split(',')
36
+
37
+                return {
38
+                    XMBH: fields[0] || '',
39
+                    XMSXH: fields[1] || '',
40
+                    NR: fields[2] || ''
41
+                }
42
+            })
43
+    }
44
+
45
+    // #region Input
46
+    /**
47
+     * 查询字典数据的输入参数
48
+     */
49
+    public static Input = class extends TFInput {
50
+        /** 项目顺序号 0640 */
51
+        public XMSXH: string = ''
52
+        /** 项目编号 0820 */
53
+        public XMBH: string = ''
54
+
55
+        /**
56
+         * 执行字典数据查询
57
+         * @returns 查询结果
58
+         */
59
+        public override Raise(): TFOutput {
60
+            const output = new QueryDicData()
61
+
62
+            // 初始化交易数据
63
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
64
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
65
+
66
+            // 设置查询参数
67
+            this.MessageData.Fd126_5 = this.MainCode
68
+            this.MessageData.Fd16 = "CXCL"
69
+            this.MessageData.Fd64 = this.XMSXH
70
+            this.MessageData.Fd82 = this.XMBH
71
+            this.MessageData.Fd128 = "0023"
72
+
73
+            // 调用服务
74
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
75
+
76
+            // 错误处理
77
+            if (this.MessageData.Fd12 != "0000") {
78
+                output.IsFailed = true
79
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
80
+                return output
81
+            }
82
+
83
+            // 获取字典数据
84
+            output.NRLB = this.MessageData.FileData
85
+
86
+            return output
87
+        }
88
+    }
89
+    // #endregion
90
+}
91
+
92
+/**
93
+ * 创建字典数据查询的Vue 3组合式API封装
94
+ */
95
+export function useQueryDicData() {
96
+    /**
97
+     * 执行字典数据查询
98
+     * @param params 查询参数
99
+     * @param page 页面对象
100
+     * @returns 查询结果
101
+     */
102
+    const executeDicDataQuery = (
103
+        params: {
104
+            XMBH?: string      // 项目编号
105
+            XMSXH?: string     // 项目顺序号
106
+        },
107
+        page: any
108
+    ): QueryDicData => {
109
+        const input = new QueryDicData.Input()
110
+
111
+        // 设置查询参数
112
+        Object.assign(input, params)
113
+
114
+        // 执行查询
115
+        return input.DoAction<QueryDicData>(page)
116
+    }
117
+
118
+    return {
119
+        executeDicDataQuery
120
+    }
121
+}

+ 0
- 92
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryErrorCodeInfo.cs Datei anzeigen

@@ -1,92 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 错误码同步
11
-    /// 错误码同步
12
-    /// </summary>
13
-    public class QueryErrorCodeInfo : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 文件
18
-        /// 
19
-        /// </summary>
20
-        public string WJ { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 文件
24
-        /// 
25
-        /// </summary>
26
-        public List<E_WJ> WJData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 文件
30
-        /// 
31
-        /// </summary>
32
-        public class E_WJ
33
-        {
34
-            /// <summary>
35
-            /// 错误码
36
-            /// </summary>
37
-            public string CWM { get; set; }
38
-
39
-            /// <summary>
40
-            /// 错误描述
41
-            /// </summary>
42
-            public string CWMS { get; set; }
43
-
44
-        }
45
-
46
-        #endregion
47
-
48
-        #region Input
49
-		/// <summary>
50
-        /// 参数清单
51
-        /// </summary>
52
-        public class Input : TFInput
53
-        {
54
-
55
-            /// <summary>                 
56
-            /// 定义业务逻辑              
57
-            /// </summary>                
58
-            /// <returns></returns>  
59
-            public override TFOutput Raise()
60
-            {
61
-                //拉取数据                                  
62
-                var output = new QueryErrorCodeInfo();
63
-                PageData.TradeAPIs.InitFd(MessageData);
64
-                PageData.TradeAPIs.CommSend(MessageData);
65
-				MessageData.Fd126_5 = MainCode;
66
-                MessageData.Fd16 = "CXCL";
67
-                MessageData.Fd128 = "0080";
68
-
69
-                PageData.TradeAPIs.CallServer(MessageData);
70
-                if (MessageData.Fd12 != "0000")
71
-                {
72
-                    output.IsFailed = true;
73
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
74
-                }                
75
-                output.WJData = AnilyzeFileData<E_WJ>(MessageData.FileData,
76
-                                            "错误码|错误描述|",
77
-                                            x =>
78
-                                            {
79
-                                                return new E_WJ
80
-                                                {
81
-                                                    CWM = x["错误码"],
82
-                                                    CWMS = x["错误描述"]
83
-                                                };
84
-                                            });
85
-                output.WJ = MessageData.FileData;
86
-
87
-                return output;
88
-            }
89
-        }
90
-        #endregion
91
-    }
92
-}

+ 93
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryErrorCodeInfo.ts Datei anzeigen

@@ -0,0 +1,93 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 错误码同步
5
+ * 错误码同步
6
+ */
7
+export class QueryErrorCodeInfo extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 文件
11
+     */
12
+    public WJ: string = ''
13
+
14
+    /**
15
+     * 文件数据
16
+     */
17
+    public WJData: E_WJ[] = []
18
+    // #endregion
19
+
20
+    // #region Input
21
+    /**
22
+     * 参数清单
23
+     */
24
+    public static Input = class extends TFInput {
25
+        /**                 
26
+         * 定义业务逻辑              
27
+         * @returns 操作结果
28
+         */
29
+        public override Raise(): TFOutput {
30
+            // 拉取数据                                  
31
+            const output = new QueryErrorCodeInfo()
32
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
33
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
34
+            this.MessageData.Fd126_5 = this.MainCode
35
+            this.MessageData.Fd16 = "CXCL"
36
+            this.MessageData.Fd128 = "0080"
37
+
38
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
39
+            if (this.MessageData.Fd12 != "0000") {
40
+                output.IsFailed = true
41
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
42
+            }
43
+            output.WJData = this.AnilyzeFileData<E_WJ>(this.MessageData.FileData,
44
+                "错误码|错误描述|",
45
+                (x) => {
46
+                    return {
47
+                        CWM: x["错误码"],
48
+                        CWMS: x["错误描述"]
49
+                    }
50
+                })
51
+            output.WJ = this.MessageData.FileData
52
+
53
+            return output
54
+        }
55
+    }
56
+    // #endregion
57
+}
58
+
59
+/**
60
+ * 错误码信息
61
+ */
62
+export interface E_WJ {
63
+    /**
64
+     * 错误码
65
+     */
66
+    CWM: string
67
+
68
+    /**
69
+     * 错误描述
70
+     */
71
+    CWMS: string
72
+}
73
+
74
+/**
75
+ * 创建错误码同步功能的Vue 3组合式API封装
76
+ */
77
+export function useQueryErrorCodeInfo() {
78
+    /**
79
+     * 查询错误码信息
80
+     * @param page 页面对象
81
+     * @returns 错误码信息结果
82
+     */
83
+    const queryErrorCodes = (page: any): QueryErrorCodeInfo => {
84
+        const input = new QueryErrorCodeInfo.Input()
85
+
86
+        // 执行查询
87
+        return input.DoAction<QueryErrorCodeInfo>(page)
88
+    }
89
+
90
+    return {
91
+        queryErrorCodes
92
+    }
93
+}

+ 0
- 198
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeeBlackList.cs Datei anzeigen

@@ -1,198 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 收费黑白名单查询
11
-    /// 收费黑白名单查询
12
-    /// </summary>
13
-    public class QueryFeeBlackList : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 名单列表
18
-        /// 名单范围|交易机构|登记机构|客户类型|客户号|户名|控制类型|控制账号|名单性质|交易日期|流水号|操作柜员|授权人|状态|备注|
19
-        /// </summary>
20
-        public string MDLB { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 名单列表
24
-        /// 名单范围|交易机构|登记机构|客户类型|客户号|户名|控制类型|控制账号|名单性质|交易日期|流水号|操作柜员|授权人|状态|备注|
25
-        /// </summary>
26
-        public List<E_MDLB> MDLBData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 名单列表
30
-        /// 名单范围|交易机构|登记机构|客户类型|客户号|户名|控制类型|控制账号|名单性质|交易日期|流水号|操作柜员|授权人|状态|备注|
31
-        /// </summary>
32
-        public class E_MDLB
33
-        {
34
-            /// <summary>
35
-            /// 名单范围
36
-            /// </summary>
37
-            public string MDFW { get; set; }
38
-
39
-            /// <summary>
40
-            /// 交易机构
41
-            /// </summary>
42
-            public string JYJG { get; set; }
43
-
44
-            /// <summary>
45
-            /// 登记机构
46
-            /// </summary>
47
-            public string DJJG { get; set; }
48
-
49
-            /// <summary>
50
-            /// 客户类型
51
-            /// </summary>
52
-            public string KHLX { get; set; }
53
-
54
-            /// <summary>
55
-            /// 客户号
56
-            /// </summary>
57
-            public string KHH { get; set; }
58
-
59
-            /// <summary>
60
-            /// 户名
61
-            /// </summary>
62
-            public string HM { get; set; }
63
-
64
-            /// <summary>
65
-            /// 控制类型
66
-            /// </summary>
67
-            public string KZLX { get; set; }
68
-
69
-            /// <summary>
70
-            /// 控制账号
71
-            /// </summary>
72
-            public string KZZH { get; set; }
73
-
74
-            /// <summary>
75
-            /// 名单性质
76
-            /// </summary>
77
-            public string MDXZ { get; set; }
78
-
79
-            /// <summary>
80
-            /// 交易日期
81
-            /// </summary>
82
-            public string JYRQ { get; set; }
83
-
84
-            /// <summary>
85
-            /// 流水号
86
-            /// </summary>
87
-            public string LSH { get; set; }
88
-
89
-            /// <summary>
90
-            /// 操作柜员
91
-            /// </summary>
92
-            public string CZGY { get; set; }
93
-
94
-            /// <summary>
95
-            /// 授权人
96
-            /// </summary>
97
-            public string SQR { get; set; }
98
-
99
-            /// <summary>
100
-            /// 状态
101
-            /// </summary>
102
-            public string ZT { get; set; }
103
-
104
-            /// <summary>
105
-            /// 备注
106
-            /// </summary>
107
-            public string BZ { get; set; }
108
-
109
-        }
110
-
111
-        #endregion
112
-
113
-        #region Input
114
-		/// <summary>
115
-        /// 参数清单
116
-        /// </summary>
117
-        public class Input : TFInput
118
-        {
119
-            /// <summary>
120
-            /// 客户号 0280
121
-            /// 名单范围为2.指定客户时输入 
122
-            /// </summary>
123
-            public string KHH { get; set; }
124
-
125
-            /// <summary>
126
-            /// 账号 0300
127
-            /// 名单范围为1.指定账户时输入 
128
-            /// </summary>
129
-            public string ZH { get; set; }
130
-
131
-            /// <summary>
132
-            /// 客户类型 0670
133
-            /// 1.个人2.对公 
134
-            /// </summary>
135
-            public string KHLX { get; set; }
136
-
137
-            /// <summary>
138
-            /// 名单范围 0690
139
-            /// 1.指定账户2.指定客户 
140
-            /// </summary>
141
-            public string MDFW { get; set; }
142
-
143
-
144
-            /// <summary>                 
145
-            /// 定义业务逻辑              
146
-            /// </summary>                
147
-            /// <returns></returns>  
148
-            public override TFOutput Raise()
149
-            {
150
-                //拉取数据                                  
151
-                var output = new QueryFeeBlackList();
152
-                PageData.TradeAPIs.InitFd(MessageData);
153
-                PageData.TradeAPIs.CommSend(MessageData);
154
-				MessageData.Fd126_5 = MainCode;
155
-                MessageData.Fd16 = "CXCL";
156
-                MessageData.Fd28 = KHH;
157
-                MessageData.Fd30 = ZH;
158
-                MessageData.Fd67 = KHLX;
159
-                MessageData.Fd69 = MDFW;
160
-                MessageData.Fd128 = "0049";
161
-
162
-                PageData.TradeAPIs.CallServer(MessageData);
163
-                if (MessageData.Fd12 != "0000")
164
-                {
165
-                    output.IsFailed = true;
166
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
167
-                }                
168
-                output.MDLBData = AnilyzeFileData<E_MDLB>(MessageData.FileData,
169
-                                            "名单范围|交易机构|登记机构|客户类型|客户号|户名|控制类型|控制账号|名单性质|交易日期|流水号|操作柜员|授权人|状态|备注|",
170
-                                            x =>
171
-                                            {
172
-                                                return new E_MDLB
173
-                                                {
174
-                                                    MDFW = x["名单范围"],
175
-                                                    JYJG = x["交易机构"],
176
-                                                    DJJG = x["登记机构"],
177
-                                                    KHLX = x["客户类型"],
178
-                                                    KHH = x["客户号"],
179
-                                                    HM = x["户名"],
180
-                                                    KZLX = x["控制类型"],
181
-                                                    KZZH = x["控制账号"],
182
-                                                    MDXZ = x["名单性质"],
183
-                                                    JYRQ = x["交易日期"],
184
-                                                    LSH = x["流水号"],
185
-                                                    CZGY = x["操作柜员"],
186
-                                                    SQR = x["授权人"],
187
-                                                    ZT = x["状态"],
188
-                                                    BZ = x["备注"]
189
-                                                };
190
-                                            });
191
-                output.MDLB = MessageData.FileData;
192
-
193
-                return output;
194
-            }
195
-        }
196
-        #endregion
197
-    }
198
-}

+ 214
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeeBlackList.ts Datei anzeigen

@@ -0,0 +1,214 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 收费黑白名单查询
5
+ * 收费黑白名单查询
6
+ */
7
+export class QueryFeeBlackList extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 名单列表
11
+     * 名单范围|交易机构|登记机构|客户类型|客户号|户名|控制类型|控制账号|名单性质|交易日期|流水号|操作柜员|授权人|状态|备注|
12
+     */
13
+    public MDLB: string = ''
14
+
15
+    /**
16
+     * 名单列表
17
+     * 名单范围|交易机构|登记机构|客户类型|客户号|户名|控制类型|控制账号|名单性质|交易日期|流水号|操作柜员|授权人|状态|备注|
18
+     */
19
+    public MDLBData: E_MDLB[] = []
20
+    // #endregion
21
+
22
+    // #region Input
23
+    /**
24
+     * 参数清单
25
+     */
26
+    public static Input = class extends TFInput {
27
+        /**
28
+         * 客户号 0280
29
+         * 名单范围为2.指定客户时输入 
30
+         */
31
+        public KHH: string = ''
32
+
33
+        /**
34
+         * 账号 0300
35
+         * 名单范围为1.指定账户时输入 
36
+         */
37
+        public ZH: string = ''
38
+
39
+        /**
40
+         * 客户类型 0670
41
+         * 1.个人2.对公 
42
+         */
43
+        public KHLX: string = ''
44
+
45
+        /**
46
+         * 名单范围 0690
47
+         * 1.指定账户2.指定客户 
48
+         */
49
+        public MDFW: string = ''
50
+
51
+        /**                 
52
+         * 定义业务逻辑              
53
+         * @returns 操作结果
54
+         */
55
+        public override Raise(): TFOutput {
56
+            // 拉取数据                                  
57
+            const output = new QueryFeeBlackList()
58
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
59
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
60
+            this.MessageData.Fd126_5 = this.MainCode
61
+            this.MessageData.Fd16 = "CXCL"
62
+            this.MessageData.Fd28 = this.KHH
63
+            this.MessageData.Fd30 = this.ZH
64
+            this.MessageData.Fd67 = this.KHLX
65
+            this.MessageData.Fd69 = this.MDFW
66
+            this.MessageData.Fd128 = "0049"
67
+
68
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
69
+            if (this.MessageData.Fd12 != "0000") {
70
+                output.IsFailed = true
71
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
72
+            }
73
+            output.MDLBData = this.AnilyzeFileData<E_MDLB>(this.MessageData.FileData,
74
+                "名单范围|交易机构|登记机构|客户类型|客户号|户名|控制类型|控制账号|名单性质|交易日期|流水号|操作柜员|授权人|状态|备注|",
75
+                (x) => {
76
+                    return {
77
+                        MDFW: x["名单范围"],
78
+                        JYJG: x["交易机构"],
79
+                        DJJG: x["登记机构"],
80
+                        KHLX: x["客户类型"],
81
+                        KHH: x["客户号"],
82
+                        HM: x["户名"],
83
+                        KZLX: x["控制类型"],
84
+                        KZZH: x["控制账号"],
85
+                        MDXZ: x["名单性质"],
86
+                        JYRQ: x["交易日期"],
87
+                        LSH: x["流水号"],
88
+                        CZGY: x["操作柜员"],
89
+                        SQR: x["授权人"],
90
+                        ZT: x["状态"],
91
+                        BZ: x["备注"]
92
+                    }
93
+                })
94
+            output.MDLB = this.MessageData.FileData
95
+
96
+            return output
97
+        }
98
+    }
99
+    // #endregion
100
+}
101
+
102
+/**
103
+ * 名单列表项
104
+ * 名单范围|交易机构|登记机构|客户类型|客户号|户名|控制类型|控制账号|名单性质|交易日期|流水号|操作柜员|授权人|状态|备注|
105
+ */
106
+export interface E_MDLB {
107
+    /**
108
+     * 名单范围
109
+     */
110
+    MDFW: string
111
+
112
+    /**
113
+     * 交易机构
114
+     */
115
+    JYJG: string
116
+
117
+    /**
118
+     * 登记机构
119
+     */
120
+    DJJG: string
121
+
122
+    /**
123
+     * 客户类型
124
+     */
125
+    KHLX: string
126
+
127
+    /**
128
+     * 客户号
129
+     */
130
+    KHH: string
131
+
132
+    /**
133
+     * 户名
134
+     */
135
+    HM: string
136
+
137
+    /**
138
+     * 控制类型
139
+     */
140
+    KZLX: string
141
+
142
+    /**
143
+     * 控制账号
144
+     */
145
+    KZZH: string
146
+
147
+    /**
148
+     * 名单性质
149
+     */
150
+    MDXZ: string
151
+
152
+    /**
153
+     * 交易日期
154
+     */
155
+    JYRQ: string
156
+
157
+    /**
158
+     * 流水号
159
+     */
160
+    LSH: string
161
+
162
+    /**
163
+     * 操作柜员
164
+     */
165
+    CZGY: string
166
+
167
+    /**
168
+     * 授权人
169
+     */
170
+    SQR: string
171
+
172
+    /**
173
+     * 状态
174
+     */
175
+    ZT: string
176
+
177
+    /**
178
+     * 备注
179
+     */
180
+    BZ: string
181
+}
182
+
183
+/**
184
+ * 创建收费黑白名单查询功能的Vue 3组合式API封装
185
+ */
186
+export function useQueryFeeBlackList() {
187
+    /**
188
+     * 查询收费黑白名单
189
+     * @param params 查询参数
190
+     * @param page 页面对象
191
+     * @returns 名单查询结果
192
+     */
193
+    const queryFeeBlackList = (
194
+        params: {
195
+            KHH?: string,   // 客户号(名单范围为2.指定客户时输入)
196
+            ZH?: string,    // 账号(名单范围为1.指定账户时输入)
197
+            KHLX: string,   // 客户类型:1.个人2.对公
198
+            MDFW: string    // 名单范围:1.指定账户2.指定客户
199
+        },
200
+        page: any
201
+    ): QueryFeeBlackList => {
202
+        const input = new QueryFeeBlackList.Input()
203
+
204
+        // 设置查询参数
205
+        Object.assign(input, params)
206
+
207
+        // 执行查询
208
+        return input.DoAction<QueryFeeBlackList>(page)
209
+    }
210
+
211
+    return {
212
+        queryFeeBlackList
213
+    }
214
+}

+ 0
- 99
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeeNumberList.cs Datei anzeigen

@@ -1,99 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 收费业务费用编号查询
11
-    /// 收费业务费用编号查询
12
-    /// </summary>
13
-    public class QueryFeeNumberList : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 收费列表
18
-        /// 文件附件:费用编号|费用名| 
19
-        /// </summary>
20
-        public string SFLB { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 收费列表
24
-        /// 文件附件:费用编号|费用名| 
25
-        /// </summary>
26
-        public List<E_SFLB> SFLBData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 收费列表
30
-        /// 文件附件:费用编号|费用名| 
31
-        /// </summary>
32
-        public class E_SFLB
33
-        {
34
-            /// <summary>
35
-            /// 费用编号
36
-            /// </summary>
37
-            public string FYBH { get; set; }
38
-
39
-            /// <summary>
40
-            /// 费用名
41
-            /// </summary>
42
-            public string FYM { get; set; }
43
-
44
-        }
45
-
46
-        #endregion
47
-
48
-        #region Input
49
-		/// <summary>
50
-        /// 参数清单
51
-        /// </summary>
52
-        public class Input : TFInput
53
-        {
54
-            /// <summary>
55
-            /// 一级收费类型 0490
56
-            /// 1:结算业务手续费收入 2:工本费费收入 3:代理业务手续费收入 4:顾问及咨询业务收入 5:担保业务手续费收入 6:应付邮寄费 
57
-            /// </summary>
58
-            public string YJSFLX { get; set; }
59
-
60
-
61
-            /// <summary>                 
62
-            /// 定义业务逻辑              
63
-            /// </summary>                
64
-            /// <returns></returns>  
65
-            public override TFOutput Raise()
66
-            {
67
-                //拉取数据                                  
68
-                var output = new QueryFeeNumberList();
69
-                PageData.TradeAPIs.InitFd(MessageData);
70
-                PageData.TradeAPIs.CommSend(MessageData);
71
-				MessageData.Fd126_5 = MainCode;
72
-                MessageData.Fd16 = "CXCL";
73
-                MessageData.Fd49 = YJSFLX;
74
-                MessageData.Fd128 = "0041";
75
-
76
-                PageData.TradeAPIs.CallServer(MessageData);
77
-                if (MessageData.Fd12 != "0000")
78
-                {
79
-                    output.IsFailed = true;
80
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
81
-                }                
82
-                output.SFLBData = AnilyzeFileData<E_SFLB>(MessageData.FileData,
83
-                                            "费用编号|费用名| ",
84
-                                            x =>
85
-                                            {
86
-                                                return new E_SFLB
87
-                                                {
88
-                                                    FYBH = x["费用编号"],
89
-                                                    FYM = x["费用名"]
90
-                                                };
91
-                                            });
92
-                output.SFLB = MessageData.FileData;
93
-
94
-                return output;
95
-            }
96
-        }
97
-        #endregion
98
-    }
99
-}

+ 112
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeeNumberList.ts Datei anzeigen

@@ -0,0 +1,112 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 收费业务费用编号查询
5
+ * 收费业务费用编号查询
6
+ */
7
+export class QueryFeeNumberList extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 收费列表
11
+     * 文件附件:费用编号|费用名| 
12
+     */
13
+    public SFLB: string = ''
14
+
15
+    /**
16
+     * 收费列表
17
+     * 文件附件:费用编号|费用名| 
18
+     */
19
+    public SFLBData: E_SFLB[] = []
20
+    // #endregion
21
+
22
+    // #region Input
23
+    /**
24
+     * 参数清单
25
+     */
26
+    public static Input = class extends TFInput {
27
+        /**
28
+         * 一级收费类型 0490
29
+         * 1:结算业务手续费收入 2:工本费费收入 3:代理业务手续费收入 4:顾问及咨询业务收入 5:担保业务手续费收入 6:应付邮寄费 
30
+         */
31
+        public YJSFLX: string = ''
32
+
33
+        /**                 
34
+         * 定义业务逻辑              
35
+         * @returns 操作结果
36
+         */
37
+        public override Raise(): TFOutput {
38
+            // 拉取数据                                  
39
+            const output = new QueryFeeNumberList()
40
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
41
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
42
+            this.MessageData.Fd126_5 = this.MainCode
43
+            this.MessageData.Fd16 = "CXCL"
44
+            this.MessageData.Fd49 = this.YJSFLX
45
+            this.MessageData.Fd128 = "0041"
46
+
47
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
48
+            if (this.MessageData.Fd12 != "0000") {
49
+                output.IsFailed = true
50
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
51
+            }
52
+            output.SFLBData = this.AnilyzeFileData<E_SFLB>(this.MessageData.FileData,
53
+                "费用编号|费用名| ",
54
+                (x) => {
55
+                    return {
56
+                        FYBH: x["费用编号"],
57
+                        FYM: x["费用名"]
58
+                    }
59
+                })
60
+            output.SFLB = this.MessageData.FileData
61
+
62
+            return output
63
+        }
64
+    }
65
+    // #endregion
66
+}
67
+
68
+/**
69
+ * 收费列表项
70
+ * 文件附件:费用编号|费用名| 
71
+ */
72
+export interface E_SFLB {
73
+    /**
74
+     * 费用编号
75
+     */
76
+    FYBH: string
77
+
78
+    /**
79
+     * 费用名
80
+     */
81
+    FYM: string
82
+}
83
+
84
+/**
85
+ * 创建收费业务费用编号查询功能的Vue 3组合式API封装
86
+ */
87
+export function useQueryFeeNumberList() {
88
+    /**
89
+     * 查询费用编号列表
90
+     * @param params 查询参数
91
+     * @param page 页面对象
92
+     * @returns 费用编号查询结果
93
+     */
94
+    const queryFeeNumbers = (
95
+        params: {
96
+            YJSFLX: string  // 一级收费类型:1:结算业务手续费收入 2:工本费费收入 3:代理业务手续费收入 4:顾问及咨询业务收入 5:担保业务手续费收入 6:应付邮寄费
97
+        },
98
+        page: any
99
+    ): QueryFeeNumberList => {
100
+        const input = new QueryFeeNumberList.Input()
101
+
102
+        // 设置查询参数
103
+        Object.assign(input, params)
104
+
105
+        // 执行查询
106
+        return input.DoAction<QueryFeeNumberList>(page)
107
+    }
108
+
109
+    return {
110
+        queryFeeNumbers
111
+    }
112
+}

+ 0
- 135
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeePaymentInfo.cs Datei anzeigen

@@ -1,135 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 收费查询
11
-    /// 根据交易代码、账号、业务类型等预算收费
12
-    /// </summary>
13
-    public class QueryFeePaymentInfo : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 收费列表
18
-        /// 第1行:收费方式|收费黑名单标志|黑名单账户;其中,收费方式--共四位:每位0不允许,1允许 第一位:现金 第二位:转账(交易账号) 第三位:输入其他账号 第四位:不收 如1010表示可以收取现金和其他账号,不能转账,不能不收;收费黑名单标志--0:黑名单 1:白名单;第n+1行:|费用描述|应收金额|实收金额(优惠后);
19
-        /// </summary>
20
-        public string SFLB { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 收费标志 0120
24
-        /// P047:需要收费  0000:不需要收费
25
-        /// </summary>
26
-        public string SFBZ { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 收费黑白名单标志 1225
30
-        /// 0:黑名单 1:白名单
31
-        /// </summary>
32
-        public string SFHBMDBZ { get; internal set; }
33
-
34
-        /// <summary>
35
-        /// 实收总金额 1227
36
-        /// 
37
-        /// </summary>
38
-        public string SSZJE { get; internal set; }
39
-
40
-
41
-        #endregion
42
-
43
-        #region Input
44
-		/// <summary>
45
-        /// 参数清单
46
-        /// </summary>
47
-        public class Input : TFInput
48
-        {
49
-            /// <summary>
50
-            /// 目标交易代码 0120
51
-            ///  
52
-            /// </summary>
53
-            public string JYDM { get; set; }
54
-
55
-            /// <summary>
56
-            /// 渠道类型 096C
57
-            ///  
58
-            /// </summary>
59
-            public string QDLX { get; set; }
60
-
61
-            /// <summary>
62
-            /// 业务类型 096M
63
-            ///  
64
-            /// </summary>
65
-            public string YWLX { get; set; }
66
-
67
-            /// <summary>
68
-            /// 客户号 096N
69
-            /// 没有交易主账号的情况下使用 
70
-            /// </summary>
71
-            public string KHH { get; set; }
72
-
73
-            /// <summary>
74
-            /// 账号 1221
75
-            /// 交易主账号,据此计算优惠等;此账号可以不是付费账号 
76
-            /// </summary>
77
-            public string ZH { get; set; }
78
-
79
-            /// <summary>
80
-            /// 加急标志 122F
81
-            /// 1:加急 0:正常 
82
-            /// </summary>
83
-            public string JJBZ { get; set; }
84
-
85
-            /// <summary>
86
-            /// 交易发生额 1222
87
-            ///  
88
-            /// </summary>
89
-            public string JYFSE { get; set; }
90
-
91
-            /// <summary>
92
-            /// 客户类型 0710
93
-            /// 1-个人  2-对公 
94
-            /// </summary>
95
-            public string KHLX { get; set; }
96
-
97
-
98
-            /// <summary>                 
99
-            /// 定义业务逻辑              
100
-            /// </summary>                
101
-            /// <returns></returns>  
102
-            public override TFOutput Raise()
103
-            {
104
-                //拉取数据                                  
105
-                var output = new QueryFeePaymentInfo();
106
-                PageData.TradeAPIs.InitFd(MessageData);
107
-                PageData.TradeAPIs.CommSend(MessageData);
108
-				MessageData.Fd126_5 = MainCode;
109
-                MessageData.Fd16 = "9986";
110
-                MessageData.Fd12 = JYDM;
111
-                MessageData.Fd96_C = QDLX;
112
-                MessageData.Fd96_M = YWLX;
113
-                MessageData.Fd96_N = KHH;
114
-                MessageData.Fd122_1 = ZH;
115
-                MessageData.Fd122_F = JJBZ;
116
-                MessageData.Fd122_2 = JYFSE;
117
-                MessageData.Fd71 = KHLX;
118
-
119
-                PageData.TradeAPIs.CallServer(MessageData);
120
-                if (MessageData.Fd12 != "0000")
121
-                {
122
-                    output.IsFailed = true;
123
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
124
-                }                
125
-                output.SFLB = MessageData.FileData;
126
-                output.SFBZ = (MessageData.Fd12);
127
-                output.SFHBMDBZ = (MessageData.Fd122_5);
128
-                output.SSZJE = (MessageData.Fd122_7);
129
-
130
-                return output;
131
-            }
132
-        }
133
-        #endregion
134
-    }
135
-}

+ 153
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFeePaymentInfo.ts Datei anzeigen

@@ -0,0 +1,153 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 收费查询
5
+ * 根据交易代码、账号、业务类型等预算收费
6
+ */
7
+export class QueryFeePaymentInfo extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 收费列表
11
+     * 第1行:收费方式|收费黑名单标志|黑名单账户;其中,收费方式--共四位:每位0不允许,1允许 第一位:现金 第二位:转账(交易账号) 第三位:输入其他账号 第四位:不收 如1010表示可以收取现金和其他账号,不能转账,不能不收;收费黑名单标志--0:黑名单 1:白名单;第n+1行:|费用描述|应收金额|实收金额(优惠后);
12
+     */
13
+    public SFLB: string = ''
14
+
15
+    /**
16
+     * 收费标志 0120
17
+     * P047:需要收费  0000:不需要收费
18
+     */
19
+    public SFBZ: string = ''
20
+
21
+    /**
22
+     * 收费黑白名单标志 1225
23
+     * 0:黑名单 1:白名单
24
+     */
25
+    public SFHBMDBZ: string = ''
26
+
27
+    /**
28
+     * 实收总金额 1227
29
+     */
30
+    public SSZJE: string = ''
31
+    // #endregion
32
+
33
+    // #region Input
34
+    /**
35
+     * 参数清单
36
+     */
37
+    public static Input = class extends TFInput {
38
+        /**
39
+         * 目标交易代码 0120
40
+         */
41
+        public JYDM: string = ''
42
+
43
+        /**
44
+         * 渠道类型 096C
45
+         */
46
+        public QDLX: string = ''
47
+
48
+        /**
49
+         * 业务类型 096M
50
+         */
51
+        public YWLX: string = ''
52
+
53
+        /**
54
+         * 客户号 096N
55
+         * 没有交易主账号的情况下使用
56
+         */
57
+        public KHH: string = ''
58
+
59
+        /**
60
+         * 账号 1221
61
+         * 交易主账号,据此计算优惠等;此账号可以不是付费账号
62
+         */
63
+        public ZH: string = ''
64
+
65
+        /**
66
+         * 加急标志 122F
67
+         * 1:加急 0:正常
68
+         */
69
+        public JJBZ: string = ''
70
+
71
+        /**
72
+         * 交易发生额 1222
73
+         */
74
+        public JYFSE: string = ''
75
+
76
+        /**
77
+         * 客户类型 0710
78
+         * 1-个人  2-对公
79
+         */
80
+        public KHLX: string = ''
81
+
82
+        /**                 
83
+         * 定义业务逻辑              
84
+         * @returns 操作结果
85
+         */
86
+        public override Raise(): TFOutput {
87
+            // 拉取数据                                  
88
+            const output = new QueryFeePaymentInfo()
89
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
90
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
91
+            this.MessageData.Fd126_5 = this.MainCode
92
+            this.MessageData.Fd16 = "9986"
93
+            this.MessageData.Fd12 = this.JYDM
94
+            this.MessageData.Fd96_C = this.QDLX
95
+            this.MessageData.Fd96_M = this.YWLX
96
+            this.MessageData.Fd96_N = this.KHH
97
+            this.MessageData.Fd122_1 = this.ZH
98
+            this.MessageData.Fd122_F = this.JJBZ
99
+            this.MessageData.Fd122_2 = this.JYFSE
100
+            this.MessageData.Fd71 = this.KHLX
101
+
102
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
103
+            if (this.MessageData.Fd12 != "0000") {
104
+                output.IsFailed = true
105
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
106
+            }
107
+            output.SFLB = this.MessageData.FileData
108
+            output.SFBZ = this.MessageData.Fd12
109
+            output.SFHBMDBZ = this.MessageData.Fd122_5
110
+            output.SSZJE = this.MessageData.Fd122_7
111
+
112
+            return output
113
+        }
114
+    }
115
+    // #endregion
116
+}
117
+
118
+/**
119
+ * 创建收费查询功能的Vue 3组合式API封装
120
+ */
121
+export function useQueryFeePaymentInfo() {
122
+    /**
123
+     * 查询费用缴费信息
124
+     * @param params 查询参数
125
+     * @param page 页面对象
126
+     * @returns 费用缴费信息查询结果
127
+     */
128
+    const queryFeePayment = (
129
+        params: {
130
+            JYDM: string,    // 目标交易代码
131
+            QDLX: string,    // 渠道类型
132
+            YWLX: string,    // 业务类型
133
+            KHH?: string,    // 客户号(没有交易主账号的情况下使用)
134
+            ZH: string,      // 账号(交易主账号,据此计算优惠等;此账号可以不是付费账号)
135
+            JJBZ: string,    // 加急标志(1:加急 0:正常)
136
+            JYFSE: string,   // 交易发生额
137
+            KHLX: string     // 客户类型(1-个人 2-对公)
138
+        },
139
+        page: any
140
+    ): QueryFeePaymentInfo => {
141
+        const input = new QueryFeePaymentInfo.Input()
142
+
143
+        // 设置查询参数
144
+        Object.assign(input, params)
145
+
146
+        // 执行查询
147
+        return input.DoAction<QueryFeePaymentInfo>(page)
148
+    }
149
+
150
+    return {
151
+        queryFeePayment
152
+    }
153
+}

+ 0
- 99
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedDepositDateType.cs Datei anzeigen

@@ -1,99 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 查询定期存期类型
11
-    /// 根据介质代码查询支持的定期产品存期类型
12
-    /// </summary>
13
-    public class QueryFixedDepositDateType : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 定期存期类型列表
18
-        /// 存期类型|类型名称|
19
-        /// </summary>
20
-        public string DQCQLXLB { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 定期存期类型列表
24
-        /// 存期类型|类型名称|
25
-        /// </summary>
26
-        public List<E_DQCQLXLB> DQCQLXLBData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 定期存期类型列表
30
-        /// 存期类型|类型名称|
31
-        /// </summary>
32
-        public class E_DQCQLXLB
33
-        {
34
-            /// <summary>
35
-            /// 存期类型
36
-            /// </summary>
37
-            public string CQLX { get; set; }
38
-
39
-            /// <summary>
40
-            /// 类型名称
41
-            /// </summary>
42
-            public string LXMC { get; set; }
43
-
44
-        }
45
-
46
-        #endregion
47
-
48
-        #region Input
49
-		/// <summary>
50
-        /// 参数清单
51
-        /// </summary>
52
-        public class Input : TFInput
53
-        {
54
-            /// <summary>
55
-            /// 介质代码 1161
56
-            ///  
57
-            /// </summary>
58
-            public string JZDM { get; set; }
59
-
60
-
61
-            /// <summary>                 
62
-            /// 定义业务逻辑              
63
-            /// </summary>                
64
-            /// <returns></returns>  
65
-            public override TFOutput Raise()
66
-            {
67
-                //拉取数据                                  
68
-                var output = new QueryFixedDepositDateType();
69
-                PageData.TradeAPIs.InitFd(MessageData);
70
-                PageData.TradeAPIs.CommSend(MessageData);
71
-				MessageData.Fd126_5 = MainCode;
72
-                MessageData.Fd16 = "CXCL";
73
-                MessageData.Fd116_1 = JZDM;
74
-                MessageData.Fd128 = "0028";
75
-
76
-                PageData.TradeAPIs.CallServer(MessageData);
77
-                if (MessageData.Fd12 != "0000")
78
-                {
79
-                    output.IsFailed = true;
80
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
81
-                }                
82
-                output.DQCQLXLBData = AnilyzeFileData<E_DQCQLXLB>(MessageData.FileData,
83
-                                            "存期类型|类型名称|",
84
-                                            x =>
85
-                                            {
86
-                                                return new E_DQCQLXLB
87
-                                                {
88
-                                                    CQLX = x["存期类型"],
89
-                                                    LXMC = x["类型名称"]
90
-                                                };
91
-                                            });
92
-                output.DQCQLXLB = MessageData.FileData;
93
-
94
-                return output;
95
-            }
96
-        }
97
-        #endregion
98
-    }
99
-}

+ 111
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedDepositDateType.ts Datei anzeigen

@@ -0,0 +1,111 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 查询定期存期类型
5
+ * 根据介质代码查询支持的定期产品存期类型
6
+ */
7
+export class QueryFixedDepositDateType extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 定期存期类型列表
11
+     * 存期类型|类型名称|
12
+     */
13
+    public DQCQLXLB: string = ''
14
+
15
+    /**
16
+     * 定期存期类型列表
17
+     * 存期类型|类型名称|
18
+     */
19
+    public DQCQLXLBData: E_DQCQLXLB[] = []
20
+    // #endregion
21
+
22
+    // #region Input
23
+    /**
24
+     * 参数清单
25
+     */
26
+    public static Input = class extends TFInput {
27
+        /**
28
+         * 介质代码 1161
29
+         */
30
+        public JZDM: string = ''
31
+
32
+        /**                 
33
+         * 定义业务逻辑              
34
+         * @returns 操作结果
35
+         */
36
+        public override Raise(): TFOutput {
37
+            // 拉取数据                                  
38
+            const output = new QueryFixedDepositDateType()
39
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
40
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
41
+            this.MessageData.Fd126_5 = this.MainCode
42
+            this.MessageData.Fd16 = "CXCL"
43
+            this.MessageData.Fd116_1 = this.JZDM
44
+            this.MessageData.Fd128 = "0028"
45
+
46
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
47
+            if (this.MessageData.Fd12 != "0000") {
48
+                output.IsFailed = true
49
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
50
+            }
51
+            output.DQCQLXLBData = this.AnilyzeFileData<E_DQCQLXLB>(this.MessageData.FileData,
52
+                "存期类型|类型名称|",
53
+                (x) => {
54
+                    return {
55
+                        CQLX: x["存期类型"],
56
+                        LXMC: x["类型名称"]
57
+                    }
58
+                })
59
+            output.DQCQLXLB = this.MessageData.FileData
60
+
61
+            return output
62
+        }
63
+    }
64
+    // #endregion
65
+}
66
+
67
+/**
68
+ * 定期存期类型列表项
69
+ * 存期类型|类型名称|
70
+ */
71
+export interface E_DQCQLXLB {
72
+    /**
73
+     * 存期类型
74
+     */
75
+    CQLX: string
76
+
77
+    /**
78
+     * 类型名称
79
+     */
80
+    LXMC: string
81
+}
82
+
83
+/**
84
+ * 创建查询定期存期类型功能的Vue 3组合式API封装
85
+ */
86
+export function useQueryFixedDepositDateType() {
87
+    /**
88
+     * 查询定期存期类型
89
+     * @param params 查询参数
90
+     * @param page 页面对象
91
+     * @returns 定期存期类型查询结果
92
+     */
93
+    const queryFixedDepositDateTypes = (
94
+        params: {
95
+            JZDM: string  // 介质代码
96
+        },
97
+        page: any
98
+    ): QueryFixedDepositDateType => {
99
+        const input = new QueryFixedDepositDateType.Input()
100
+
101
+        // 设置查询参数
102
+        Object.assign(input, params)
103
+
104
+        // 执行查询
105
+        return input.DoAction<QueryFixedDepositDateType>(page)
106
+    }
107
+
108
+    return {
109
+        queryFixedDepositDateTypes
110
+    }
111
+}

+ 0
- 149
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedDepositProduct.cs Datei anzeigen

@@ -1,149 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 根据存款类型、存期查询定期产品信息
11
-    /// 根据存款类型、存期查询定期产品信息
12
-    /// </summary>
13
-    public class QueryFixedDepositProduct : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 最大开户金额 0390
18
-        /// 
19
-        /// </summary>
20
-        public string ZDKHJE { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 利率 1005
24
-        /// 
25
-        /// </summary>
26
-        public string LL { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 产品代码 1031
30
-        /// 
31
-        /// </summary>
32
-        public string CPDM { get; internal set; }
33
-
34
-        /// <summary>
35
-        /// 产品名称 1032
36
-        /// 
37
-        /// </summary>
38
-        public string CPMC { get; internal set; }
39
-
40
-        /// <summary>
41
-        /// 币种 1033
42
-        /// 
43
-        /// </summary>
44
-        public string BZ { get; internal set; }
45
-
46
-        /// <summary>
47
-        /// 产品类型 1034
48
-        /// 1活期 2定期 9内部
49
-        /// </summary>
50
-        public string CPLX { get; internal set; }
51
-
52
-        /// <summary>
53
-        /// 利率类型(定期) 1035
54
-        /// 0:产品利率(挂牌利率);1:手输利率(开户日利率)
55
-        /// </summary>
56
-        public string LLLXDQ { get; internal set; }
57
-
58
-        /// <summary>
59
-        /// 结算类型(活期) 1035
60
-        /// D结算 S非结算
61
-        /// </summary>
62
-        public string JSLXHQ { get; internal set; }
63
-
64
-        /// <summary>
65
-        /// 计息类型 1036
66
-        /// 0:不计息;1:利随本清;2:按日计息;3:按月计息;4:按季计息;5:按年计息
67
-        /// </summary>
68
-        public string JXLX { get; internal set; }
69
-
70
-        /// <summary>
71
-        /// 最小开户金额 1037
72
-        /// 
73
-        /// </summary>
74
-        public string ZXKHJE { get; internal set; }
75
-
76
-        /// <summary>
77
-        /// 自动转存限制标志(定期) 103G
78
-        /// Y:允许;N:不允许
79
-        /// </summary>
80
-        public string ZDZCXZBZDQ { get; internal set; }
81
-
82
-
83
-        #endregion
84
-
85
-        #region Input
86
-		/// <summary>
87
-        /// 参数清单
88
-        /// </summary>
89
-        public class Input : TFInput
90
-        {
91
-            /// <summary>
92
-            /// 币种 0210
93
-            /// 01 
94
-            /// </summary>
95
-            public string BZ { get; set; }
96
-
97
-            /// <summary>
98
-            /// 存期 0640
99
-            /// (存期类型 Y:年;M:月;D:日) 例如 3M表示3个月 
100
-            /// </summary>
101
-            public string CQ { get; set; }
102
-
103
-            /// <summary>
104
-            /// 定期存款类型(定期) 0670
105
-            /// 0:整存整取;1:零存整取;2:整存零取;3:存本取息;4:通知存款;5:协议存款;6:定活两便;7:教育储蓄;A: 利润最大化通知存款 
106
-            /// </summary>
107
-            public string DQCKLXDQ { get; set; }
108
-
109
-
110
-            /// <summary>                 
111
-            /// 定义业务逻辑              
112
-            /// </summary>                
113
-            /// <returns></returns>  
114
-            public override TFOutput Raise()
115
-            {
116
-                //拉取数据                                  
117
-                var output = new QueryFixedDepositProduct();
118
-                PageData.TradeAPIs.InitFd(MessageData);
119
-                PageData.TradeAPIs.CommSend(MessageData);
120
-				MessageData.Fd126_5 = MainCode;
121
-                MessageData.Fd16 = "K040";
122
-                MessageData.Fd21 = BZ;
123
-                MessageData.Fd64 = CQ;
124
-                MessageData.Fd67 = DQCKLXDQ;
125
-
126
-                PageData.TradeAPIs.CallServer(MessageData);
127
-                if (MessageData.Fd12 != "0000")
128
-                {
129
-                    output.IsFailed = true;
130
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
131
-                }                
132
-                output.ZDKHJE = DelSpace(MessageData.Fd39);
133
-                output.LL = DelSpace(MessageData.Fd100_5);
134
-                output.CPDM = DelSpace(MessageData.Fd103_1);
135
-                output.CPMC = DelSpace(MessageData.Fd103_2);
136
-                output.BZ = DelSpace(MessageData.Fd103_3);
137
-                output.CPLX = DelSpace(MessageData.Fd103_4);
138
-                output.LLLXDQ = DelSpace(MessageData.Fd103_5);
139
-                output.JSLXHQ = DelSpace(MessageData.Fd103_5);
140
-                output.JXLX = DelSpace(MessageData.Fd103_6);
141
-                output.ZXKHJE = DelSpace(MessageData.Fd103_7);
142
-                output.ZDZCXZBZDQ = DelSpace(MessageData.Fd103_G);
143
-
144
-                return output;
145
-            }
146
-        }
147
-        #endregion
148
-    }
149
-}

+ 161
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedDepositProduct.ts Datei anzeigen

@@ -0,0 +1,161 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 根据存款类型、存期查询定期产品信息
5
+ * 根据存款类型、存期查询定期产品信息
6
+ */
7
+export class QueryFixedDepositProduct extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 最大开户金额 0390
11
+     */
12
+    public ZDKHJE: string = ''
13
+
14
+    /**
15
+     * 利率 1005
16
+     */
17
+    public LL: string = ''
18
+
19
+    /**
20
+     * 产品代码 1031
21
+     */
22
+    public CPDM: string = ''
23
+
24
+    /**
25
+     * 产品名称 1032
26
+     */
27
+    public CPMC: string = ''
28
+
29
+    /**
30
+     * 币种 1033
31
+     */
32
+    public BZ: string = ''
33
+
34
+    /**
35
+     * 产品类型 1034
36
+     * 1活期 2定期 9内部
37
+     */
38
+    public CPLX: string = ''
39
+
40
+    /**
41
+     * 利率类型(定期) 1035
42
+     * 0:产品利率(挂牌利率);1:手输利率(开户日利率)
43
+     */
44
+    public LLLXDQ: string = ''
45
+
46
+    /**
47
+     * 结算类型(活期) 1035
48
+     * D结算 S非结算
49
+     */
50
+    public JSLXHQ: string = ''
51
+
52
+    /**
53
+     * 计息类型 1036
54
+     * 0:不计息;1:利随本清;2:按日计息;3:按月计息;4:按季计息;5:按年计息
55
+     */
56
+    public JXLX: string = ''
57
+
58
+    /**
59
+     * 最小开户金额 1037
60
+     */
61
+    public ZXKHJE: string = ''
62
+
63
+    /**
64
+     * 自动转存限制标志(定期) 103G
65
+     * Y:允许;N:不允许
66
+     */
67
+    public ZDZCXZBZDQ: string = ''
68
+    // #endregion
69
+
70
+    // #region Input
71
+    /**
72
+     * 参数清单
73
+     */
74
+    public static Input = class extends TFInput {
75
+        /**
76
+         * 币种 0210
77
+         * 01 
78
+         */
79
+        public BZ: string = ''
80
+
81
+        /**
82
+         * 存期 0640
83
+         * (存期类型 Y:年;M:月;D:日) 例如 3M表示3个月 
84
+         */
85
+        public CQ: string = ''
86
+
87
+        /**
88
+         * 定期存款类型(定期) 0670
89
+         * 0:整存整取;1:零存整取;2:整存零取;3:存本取息;4:通知存款;5:协议存款;6:定活两便;7:教育储蓄;A: 利润最大化通知存款 
90
+         */
91
+        public DQCKLXDQ: string = ''
92
+
93
+        /**                 
94
+         * 定义业务逻辑              
95
+         * @returns 操作结果
96
+         */
97
+        public override Raise(): TFOutput {
98
+            // 拉取数据                                  
99
+            const output = new QueryFixedDepositProduct()
100
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
101
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
102
+            this.MessageData.Fd126_5 = this.MainCode
103
+            this.MessageData.Fd16 = "K040"
104
+            this.MessageData.Fd21 = this.BZ
105
+            this.MessageData.Fd64 = this.CQ
106
+            this.MessageData.Fd67 = this.DQCKLXDQ
107
+
108
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
109
+            if (this.MessageData.Fd12 != "0000") {
110
+                output.IsFailed = true
111
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
112
+            }
113
+            output.ZDKHJE = this.DelSpace(this.MessageData.Fd39)
114
+            output.LL = this.DelSpace(this.MessageData.Fd100_5)
115
+            output.CPDM = this.DelSpace(this.MessageData.Fd103_1)
116
+            output.CPMC = this.DelSpace(this.MessageData.Fd103_2)
117
+            output.BZ = this.DelSpace(this.MessageData.Fd103_3)
118
+            output.CPLX = this.DelSpace(this.MessageData.Fd103_4)
119
+            output.LLLXDQ = this.DelSpace(this.MessageData.Fd103_5)
120
+            output.JSLXHQ = this.DelSpace(this.MessageData.Fd103_5)
121
+            output.JXLX = this.DelSpace(this.MessageData.Fd103_6)
122
+            output.ZXKHJE = this.DelSpace(this.MessageData.Fd103_7)
123
+            output.ZDZCXZBZDQ = this.DelSpace(this.MessageData.Fd103_G)
124
+
125
+            return output
126
+        }
127
+    }
128
+    // #endregion
129
+}
130
+
131
+/**
132
+ * 创建查询定期产品信息功能的Vue 3组合式API封装
133
+ */
134
+export function useQueryFixedDepositProduct() {
135
+    /**
136
+     * 查询定期产品信息
137
+     * @param params 查询参数
138
+     * @param page 页面对象
139
+     * @returns 定期产品信息查询结果
140
+     */
141
+    const queryFixedDepositProduct = (
142
+        params: {
143
+            BZ: string,       // 币种(如:01)
144
+            CQ: string,       // 存期(存期类型 Y:年;M:月;D:日,例如 3M表示3个月)
145
+            DQCKLXDQ: string  // 定期存款类型(0:整存整取;1:零存整取;2:整存零取;3:存本取息;4:通知存款;5:协议存款;6:定活两便;7:教育储蓄;A: 利润最大化通知存款)
146
+        },
147
+        page: any
148
+    ): QueryFixedDepositProduct => {
149
+        const input = new QueryFixedDepositProduct.Input()
150
+
151
+        // 设置查询参数
152
+        Object.assign(input, params)
153
+
154
+        // 执行查询
155
+        return input.DoAction<QueryFixedDepositProduct>(page)
156
+    }
157
+
158
+    return {
159
+        queryFixedDepositProduct
160
+    }
161
+}

+ 0
- 143
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedPay.cs Datei anzeigen

@@ -1,143 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 受托支付支取额度查询
11
-    /// 根据账号查询受托支付支取额度
12
-    /// </summary>
13
-    public class QueryFixedPay : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 以文件形式返回支取额度
18
-        /// 贷款协议号|授权支付协议|支取金额|自主支取限额|委托支付限额|支付方式|收款账号|
19
-        /// </summary>
20
-        public string YWJXSFHZQED { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 以文件形式返回支取额度
24
-        /// 贷款协议号|授权支付协议|支取金额|自主支取限额|委托支付限额|支付方式|收款账号|
25
-        /// </summary>
26
-        public List<E_YWJXSFHZQED> YWJXSFHZQEDData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 以文件形式返回支取额度
30
-        /// 贷款协议号|授权支付协议|支取金额|自主支取限额|委托支付限额|支付方式|收款账号|
31
-        /// </summary>
32
-        public class E_YWJXSFHZQED
33
-        {
34
-            /// <summary>
35
-            /// 贷款协议号
36
-            /// </summary>
37
-            public string DKXYH { get; set; }
38
-
39
-            /// <summary>
40
-            /// 授权支付协议
41
-            /// </summary>
42
-            public string SQZFXY { get; set; }
43
-
44
-            /// <summary>
45
-            /// 支取金额
46
-            /// </summary>
47
-            public string ZQJE { get; set; }
48
-
49
-            /// <summary>
50
-            /// 自主支取限额
51
-            /// </summary>
52
-            public string ZZZQXE { get; set; }
53
-
54
-            /// <summary>
55
-            /// 委托支付限额
56
-            /// </summary>
57
-            public string WTZFXE { get; set; }
58
-
59
-            /// <summary>
60
-            /// 支付方式
61
-            /// </summary>
62
-            public string ZFFS { get; set; }
63
-
64
-            /// <summary>
65
-            /// 收款账号
66
-            /// </summary>
67
-            public string SKZH { get; set; }
68
-
69
-        }
70
-
71
-        #endregion
72
-
73
-        #region Input
74
-		/// <summary>
75
-        /// 参数清单
76
-        /// </summary>
77
-        public class Input : TFInput
78
-        {
79
-            /// <summary>
80
-            /// 账号 0300
81
-            ///  
82
-            /// </summary>
83
-            public string ZH { get; set; }
84
-
85
-            /// <summary>
86
-            /// 扣划标志 0670
87
-            /// 1:扣划 2非扣划 
88
-            /// </summary>
89
-            public string KHBZ { get; set; }
90
-
91
-            /// <summary>
92
-            /// 支取标志 0690
93
-            /// 1:待支取; 2:已支取 
94
-            /// </summary>
95
-            public string ZQBZ { get; set; }
96
-
97
-
98
-            /// <summary>                 
99
-            /// 定义业务逻辑              
100
-            /// </summary>                
101
-            /// <returns></returns>  
102
-            public override TFOutput Raise()
103
-            {
104
-                //拉取数据                                  
105
-                var output = new QueryFixedPay();
106
-                PageData.TradeAPIs.InitFd(MessageData);
107
-                PageData.TradeAPIs.CommSend(MessageData);
108
-				MessageData.Fd126_5 = MainCode;
109
-                MessageData.Fd16 = "CXCL";
110
-                MessageData.Fd30 = ZH;
111
-                MessageData.Fd67 = KHBZ;
112
-                MessageData.Fd69 = ZQBZ;
113
-                MessageData.Fd128 = "0024";
114
-
115
-                PageData.TradeAPIs.CallServer(MessageData);
116
-                if (MessageData.Fd12 != "0000")
117
-                {
118
-                    output.IsFailed = true;
119
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
120
-                }                
121
-                output.YWJXSFHZQEDData = AnilyzeFileData<E_YWJXSFHZQED>(MessageData.FileData,
122
-                                            "贷款协议号|授权支付协议|支取金额|自主支取限额|委托支付限额|支付方式|收款账号|",
123
-                                            x =>
124
-                                            {
125
-                                                return new E_YWJXSFHZQED
126
-                                                {
127
-                                                    DKXYH = x["贷款协议号"],
128
-                                                    SQZFXY = x["授权支付协议"],
129
-                                                    ZQJE = x["支取金额"],
130
-                                                    ZZZQXE = x["自主支取限额"],
131
-                                                    WTZFXE = x["委托支付限额"],
132
-                                                    ZFFS = x["支付方式"],
133
-                                                    SKZH = x["收款账号"]
134
-                                                };
135
-                                            });
136
-                output.YWJXSFHZQED = MessageData.FileData;
137
-
138
-                return output;
139
-            }
140
-        }
141
-        #endregion
142
-    }
143
-}

+ 157
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFixedPay.ts Datei anzeigen

@@ -0,0 +1,157 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 受托支付支取额度查询
5
+ * 根据账号查询受托支付支取额度
6
+ */
7
+export class QueryFixedPay extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 以文件形式返回支取额度
11
+     * 贷款协议号|授权支付协议|支取金额|自主支取限额|委托支付限额|支付方式|收款账号|
12
+     */
13
+    public YWJXSFHZQED: string = ''
14
+
15
+    /**
16
+     * 以文件形式返回支取额度
17
+     * 贷款协议号|授权支付协议|支取金额|自主支取限额|委托支付限额|支付方式|收款账号|
18
+     */
19
+    public YWJXSFHZQEDData: E_YWJXSFHZQED[] = []
20
+    // #endregion
21
+
22
+    // #region Input
23
+    /**
24
+     * 参数清单
25
+     */
26
+    public static Input = class extends TFInput {
27
+        /**
28
+         * 账号 0300
29
+         */
30
+        public ZH: string = ''
31
+
32
+        /**
33
+         * 扣划标志 0670
34
+         * 1:扣划 2非扣划 
35
+         */
36
+        public KHBZ: string = ''
37
+
38
+        /**
39
+         * 支取标志 0690
40
+         * 1:待支取; 2:已支取 
41
+         */
42
+        public ZQBZ: string = ''
43
+
44
+        /**                 
45
+         * 定义业务逻辑              
46
+         * @returns 操作结果
47
+         */
48
+        public override Raise(): TFOutput {
49
+            // 拉取数据                                  
50
+            const output = new QueryFixedPay()
51
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
52
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
53
+            this.MessageData.Fd126_5 = this.MainCode
54
+            this.MessageData.Fd16 = "CXCL"
55
+            this.MessageData.Fd30 = this.ZH
56
+            this.MessageData.Fd67 = this.KHBZ
57
+            this.MessageData.Fd69 = this.ZQBZ
58
+            this.MessageData.Fd128 = "0024"
59
+
60
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
61
+            if (this.MessageData.Fd12 != "0000") {
62
+                output.IsFailed = true
63
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
64
+            }
65
+            output.YWJXSFHZQEDData = this.AnilyzeFileData<E_YWJXSFHZQED>(this.MessageData.FileData,
66
+                "贷款协议号|授权支付协议|支取金额|自主支取限额|委托支付限额|支付方式|收款账号|",
67
+                (x) => {
68
+                    return {
69
+                        DKXYH: x["贷款协议号"],
70
+                        SQZFXY: x["授权支付协议"],
71
+                        ZQJE: x["支取金额"],
72
+                        ZZZQXE: x["自主支取限额"],
73
+                        WTZFXE: x["委托支付限额"],
74
+                        ZFFS: x["支付方式"],
75
+                        SKZH: x["收款账号"]
76
+                    }
77
+                })
78
+            output.YWJXSFHZQED = this.MessageData.FileData
79
+
80
+            return output
81
+        }
82
+    }
83
+    // #endregion
84
+}
85
+
86
+/**
87
+ * 以文件形式返回支取额度项
88
+ * 贷款协议号|授权支付协议|支取金额|自主支取限额|委托支付限额|支付方式|收款账号|
89
+ */
90
+export interface E_YWJXSFHZQED {
91
+    /**
92
+     * 贷款协议号
93
+     */
94
+    DKXYH: string
95
+
96
+    /**
97
+     * 授权支付协议
98
+     */
99
+    SQZFXY: string
100
+
101
+    /**
102
+     * 支取金额
103
+     */
104
+    ZQJE: string
105
+
106
+    /**
107
+     * 自主支取限额
108
+     */
109
+    ZZZQXE: string
110
+
111
+    /**
112
+     * 委托支付限额
113
+     */
114
+    WTZFXE: string
115
+
116
+    /**
117
+     * 支付方式
118
+     */
119
+    ZFFS: string
120
+
121
+    /**
122
+     * 收款账号
123
+     */
124
+    SKZH: string
125
+}
126
+
127
+/**
128
+ * 创建受托支付支取额度查询功能的Vue 3组合式API封装
129
+ */
130
+export function useQueryFixedPay() {
131
+    /**
132
+     * 查询受托支付支取额度
133
+     * @param params 查询参数
134
+     * @param page 页面对象
135
+     * @returns 受托支付支取额度查询结果
136
+     */
137
+    const queryFixedPay = (
138
+        params: {
139
+            ZH: string,    // 账号
140
+            KHBZ: string,  // 扣划标志(1:扣划 2非扣划)
141
+            ZQBZ: string   // 支取标志(1:待支取; 2:已支取)
142
+        },
143
+        page: any
144
+    ): QueryFixedPay => {
145
+        const input = new QueryFixedPay.Input()
146
+
147
+        // 设置查询参数
148
+        Object.assign(input, params)
149
+
150
+        // 执行查询
151
+        return input.DoAction<QueryFixedPay>(page)
152
+    }
153
+
154
+    return {
155
+        queryFixedPay
156
+    }
157
+}

+ 0
- 162
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFreezeAccountInformation.cs Datei anzeigen

@@ -1,162 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 查询账户冻结信息
11
-    /// 通过账号查询账户冻结信息
12
-    /// </summary>
13
-    public class QueryFreezeAccountInformation : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 计划冻结金额 0400
18
-        /// (null)
19
-        /// </summary>
20
-        public string JHDJJE { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 计划冻结起始日期 0440
24
-        /// (null)
25
-        /// </summary>
26
-        public string JHDJQSRQ { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 到期日期 0450
30
-        /// (null)
31
-        /// </summary>
32
-        public string DQRQ { get; internal set; }
33
-
34
-        /// <summary>
35
-        /// 止付种类 0650
36
-        /// CKZM存款证明 JHKH计划扣划 CZZF错帐止付 CKZF存款止付(拉存款)CDNF卡年费止付 STZF: 受托止付 QTZF:其它
37
-        /// </summary>
38
-        public string ZFZL { get; internal set; }
39
-
40
-        /// <summary>
41
-        /// 冻结/解冻状态 0690
42
-        /// 0未解除 1解除
43
-        /// </summary>
44
-        public string DJJDZT { get; internal set; }
45
-
46
-        /// <summary>
47
-        /// 冻结/止付类型 0700
48
-        /// 1全部冻结/止付 2只进不出 3部分冻结/止付 4交易冻结
49
-        /// </summary>
50
-        public string DJZFLX { get; internal set; }
51
-
52
-        /// <summary>
53
-        /// 冻结止付标志 0710
54
-        /// 1冻结 2止付
55
-        /// </summary>
56
-        public string DJZFBZ { get; internal set; }
57
-
58
-        /// <summary>
59
-        /// 自动解除标志 0720
60
-        /// Y是 N否
61
-        /// </summary>
62
-        public string ZDJCBZ { get; internal set; }
63
-
64
-        /// <summary>
65
-        /// 有效计划冻结金额 0410
66
-        /// 
67
-        /// </summary>
68
-        public string YXJHDJJE { get; internal set; }
69
-
70
-        /// <summary>
71
-        /// 有效累计已扣划金额 0420
72
-        /// 
73
-        /// </summary>
74
-        public string YXLJYKHJE { get; internal set; }
75
-
76
-        /// <summary>
77
-        /// 法律文书 1135
78
-        /// 
79
-        /// </summary>
80
-        public string FLWS { get; internal set; }
81
-
82
-        /// <summary>
83
-        /// 标志位 0730
84
-        /// [空格表示没有查询相关数据]第一位[0]:该笔冻结是否生效 1未生效 0生效;第二位[1]:该账户是否还存在其他冻结/止付 1存在 0不存在
85
-        /// </summary>
86
-        public string BZW { get; internal set; }
87
-
88
-        /// <summary>
89
-        /// 冻结执法机关 0680
90
-        /// 1海关2司法3税务4检察院
91
-        /// </summary>
92
-        public string DJZFJG { get; internal set; }
93
-
94
-
95
-        #endregion
96
-
97
-        #region Input
98
-		/// <summary>
99
-        /// 参数清单
100
-        /// </summary>
101
-        public class Input : TFInput
102
-        {
103
-            /// <summary>
104
-            /// 账号 0300
105
-            /// (null) 
106
-            /// </summary>
107
-            public string ZH { get; set; }
108
-
109
-            /// <summary>
110
-            /// 账户序号 0340
111
-            /// (null) 
112
-            /// </summary>
113
-            public string ZHXH { get; set; }
114
-
115
-            /// <summary>
116
-            /// 冻结序号 0350
117
-            /// (null) 
118
-            /// </summary>
119
-            public string DJXH { get; set; }
120
-
121
-
122
-            /// <summary>                 
123
-            /// 定义业务逻辑              
124
-            /// </summary>                
125
-            /// <returns></returns>  
126
-            public override TFOutput Raise()
127
-            {
128
-                //拉取数据                                  
129
-                var output = new QueryFreezeAccountInformation();
130
-                PageData.TradeAPIs.InitFd(MessageData);
131
-                PageData.TradeAPIs.CommSend(MessageData);
132
-				MessageData.Fd126_5 = MainCode;
133
-                MessageData.Fd16 = "K028";
134
-                MessageData.Fd30 = ZH;
135
-                MessageData.Fd34 = ZHXH;
136
-                MessageData.Fd35 = DJXH;
137
-
138
-                PageData.TradeAPIs.CallServer(MessageData);
139
-                if (MessageData.Fd12 != "0000")
140
-                {
141
-                    output.IsFailed = true;
142
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
143
-                }                
144
-                output.JHDJJE = DelSpace(MessageData.Fd40);
145
-                output.JHDJQSRQ = DelSpace(MessageData.Fd44);
146
-                output.DQRQ = DelSpace(MessageData.Fd45);
147
-                output.ZFZL = DelSpace(MessageData.Fd65);
148
-                output.DJJDZT = DelSpace(MessageData.Fd69);
149
-                output.DJZFLX = DelSpace(MessageData.Fd70);
150
-                output.DJZFBZ = DelSpace(MessageData.Fd71);
151
-                output.ZDJCBZ = DelSpace(MessageData.Fd72);
152
-                output.YXJHDJJE = DelSpace(MessageData.Fd41);
153
-                output.YXLJYKHJE = DelSpace(MessageData.Fd42);
154
-                output.BZW = (MessageData.Fd73);
155
-                output.DJZFJG = DelSpace(MessageData.Fd68);
156
-                output.FLWS = DelSpace(MessageData.Fd113_5);
157
-                return output;
158
-            }
159
-        }
160
-        #endregion
161
-    }
162
-}

+ 172
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFreezeAccountInformation.ts Datei anzeigen

@@ -0,0 +1,172 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 查询账户冻结信息
5
+ * 通过账号查询账户冻结信息
6
+ */
7
+export class QueryFreezeAccountInformation extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 计划冻结金额 0400
11
+     */
12
+    public JHDJJE: string = ''
13
+
14
+    /**
15
+     * 计划冻结起始日期 0440
16
+     */
17
+    public JHDJQSRQ: string = ''
18
+
19
+    /**
20
+     * 到期日期 0450
21
+     */
22
+    public DQRQ: string = ''
23
+
24
+    /**
25
+     * 止付种类 0650
26
+     * CKZM存款证明 JHKH计划扣划 CZZF错帐止付 CKZF存款止付(拉存款)CDNF卡年费止付 STZF: 受托止付 QTZF:其它
27
+     */
28
+    public ZFZL: string = ''
29
+
30
+    /**
31
+     * 冻结/解冻状态 0690
32
+     * 0未解除 1解除
33
+     */
34
+    public DJJDZT: string = ''
35
+
36
+    /**
37
+     * 冻结/止付类型 0700
38
+     * 1全部冻结/止付 2只进不出 3部分冻结/止付 4交易冻结
39
+     */
40
+    public DJZFLX: string = ''
41
+
42
+    /**
43
+     * 冻结止付标志 0710
44
+     * 1冻结 2止付
45
+     */
46
+    public DJZFBZ: string = ''
47
+
48
+    /**
49
+     * 自动解除标志 0720
50
+     * Y是 N否
51
+     */
52
+    public ZDJCBZ: string = ''
53
+
54
+    /**
55
+     * 有效计划冻结金额 0410
56
+     */
57
+    public YXJHDJJE: string = ''
58
+
59
+    /**
60
+     * 有效累计已扣划金额 0420
61
+     */
62
+    public YXLJYKHJE: string = ''
63
+
64
+    /**
65
+     * 法律文书 1135
66
+     */
67
+    public FLWS: string = ''
68
+
69
+    /**
70
+     * 标志位 0730
71
+     * [空格表示没有查询相关数据]第一位[0]:该笔冻结是否生效 1未生效 0生效;第二位[1]:该账户是否还存在其他冻结/止付 1存在 0不存在
72
+     */
73
+    public BZW: string = ''
74
+
75
+    /**
76
+     * 冻结执法机关 0680
77
+     * 1海关2司法3税务4检察院
78
+     */
79
+    public DJZFJG: string = ''
80
+    // #endregion
81
+
82
+    // #region Input
83
+    /**
84
+     * 参数清单
85
+     */
86
+    public static Input = class extends TFInput {
87
+        /**
88
+         * 账号 0300
89
+         */
90
+        public ZH: string = ''
91
+
92
+        /**
93
+         * 账户序号 0340
94
+         */
95
+        public ZHXH: string = ''
96
+
97
+        /**
98
+         * 冻结序号 0350
99
+         */
100
+        public DJXH: string = ''
101
+
102
+        /**                 
103
+         * 定义业务逻辑              
104
+         * @returns 操作结果
105
+         */
106
+        public override Raise(): TFOutput {
107
+            // 拉取数据                                  
108
+            const output = new QueryFreezeAccountInformation()
109
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
110
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
111
+            this.MessageData.Fd126_5 = this.MainCode
112
+            this.MessageData.Fd16 = "K028"
113
+            this.MessageData.Fd30 = this.ZH
114
+            this.MessageData.Fd34 = this.ZHXH
115
+            this.MessageData.Fd35 = this.DJXH
116
+
117
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
118
+            if (this.MessageData.Fd12 != "0000") {
119
+                output.IsFailed = true
120
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
121
+            }
122
+            output.JHDJJE = this.DelSpace(this.MessageData.Fd40)
123
+            output.JHDJQSRQ = this.DelSpace(this.MessageData.Fd44)
124
+            output.DQRQ = this.DelSpace(this.MessageData.Fd45)
125
+            output.ZFZL = this.DelSpace(this.MessageData.Fd65)
126
+            output.DJJDZT = this.DelSpace(this.MessageData.Fd69)
127
+            output.DJZFLX = this.DelSpace(this.MessageData.Fd70)
128
+            output.DJZFBZ = this.DelSpace(this.MessageData.Fd71)
129
+            output.ZDJCBZ = this.DelSpace(this.MessageData.Fd72)
130
+            output.YXJHDJJE = this.DelSpace(this.MessageData.Fd41)
131
+            output.YXLJYKHJE = this.DelSpace(this.MessageData.Fd42)
132
+            output.BZW = this.MessageData.Fd73
133
+            output.DJZFJG = this.DelSpace(this.MessageData.Fd68)
134
+            output.FLWS = this.DelSpace(this.MessageData.Fd113_5)
135
+
136
+            return output
137
+        }
138
+    }
139
+    // #endregion
140
+}
141
+
142
+/**
143
+ * 创建账户冻结信息查询功能的Vue 3组合式API封装
144
+ */
145
+export function useQueryFreezeAccountInformation() {
146
+    /**
147
+     * 查询账户冻结信息
148
+     * @param params 查询参数
149
+     * @param page 页面对象
150
+     * @returns 账户冻结信息查询结果
151
+     */
152
+    const queryFreezeAccountInformation = (
153
+        params: {
154
+            ZH: string,    // 账号
155
+            ZHXH: string,  // 账户序号
156
+            DJXH: string   // 冻结序号
157
+        },
158
+        page: any
159
+    ): QueryFreezeAccountInformation => {
160
+        const input = new QueryFreezeAccountInformation.Input()
161
+
162
+        // 设置查询参数
163
+        Object.assign(input, params)
164
+
165
+        // 执行查询
166
+        return input.DoAction<QueryFreezeAccountInformation>(page)
167
+    }
168
+
169
+    return {
170
+        queryFreezeAccountInformation
171
+    }
172
+}

+ 0
- 180
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFreezeList.cs Datei anzeigen

@@ -1,180 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 冻结登记簿查询
11
-    /// 根据账号、序号查询冻结登记簿
12
-    /// </summary>
13
-    public class QueryFreezeList : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 冻结登记簿信息
18
-        /// 文件格式:冻结止付序号|冻结止付类型|计划冻结金额|起始日期|解除日期|机构号|操作员|说明|冻结止付标志|止付种类|冻结执法机关|冻结法律文书编号| 
19
-        /// </summary>
20
-        public string DJXX { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 冻结登记簿信息
24
-        /// 文件格式:冻结止付序号|冻结止付类型|计划冻结金额|起始日期|解除日期|机构号|操作员|说明|冻结止付标志|止付种类|冻结执法机关|冻结法律文书编号| 
25
-        /// </summary>
26
-        public List<E_DJXX> DJXXData { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 冻结登记簿信息
30
-        /// 文件格式:冻结止付序号|冻结止付类型|计划冻结金额|起始日期|解除日期|机构号|操作员|说明|冻结止付标志|止付种类|冻结执法机关|冻结法律文书编号| 
31
-        /// </summary>
32
-        public class E_DJXX
33
-        {
34
-            /// <summary>
35
-            /// 冻结止付序号
36
-            /// </summary>
37
-            public string DJZFXH { get; set; }
38
-
39
-            /// <summary>
40
-            /// 冻结止付类型
41
-            /// </summary>
42
-            public string DJZFLX { get; set; }
43
-
44
-            /// <summary>
45
-            /// 计划冻结金额
46
-            /// </summary>
47
-            public string JHDJJE { get; set; }
48
-
49
-            /// <summary>
50
-            /// 起始日期
51
-            /// </summary>
52
-            public string QSRQ { get; set; }
53
-
54
-            /// <summary>
55
-            /// 解除日期
56
-            /// </summary>
57
-            public string JCRQ { get; set; }
58
-
59
-            /// <summary>
60
-            /// 机构号
61
-            /// </summary>
62
-            public string JGH { get; set; }
63
-
64
-            /// <summary>
65
-            /// 操作员
66
-            /// </summary>
67
-            public string CZY { get; set; }
68
-
69
-            /// <summary>
70
-            /// 说明
71
-            /// </summary>
72
-            public string SM { get; set; }
73
-
74
-            /// <summary>
75
-            /// 冻结止付标志
76
-            /// </summary>
77
-            public string DJZFBZ { get; set; }
78
-
79
-            /// <summary>
80
-            /// 止付种类
81
-            /// </summary>
82
-            public string ZFZL { get; set; }
83
-
84
-            /// <summary>
85
-            /// 冻结执法机关
86
-            /// </summary>
87
-            public string DJZFJG { get; set; }
88
-
89
-            /// <summary>
90
-            /// 冻结法律文书编号
91
-            /// </summary>
92
-            public string DJFLWSBH { get; set; }
93
-
94
-        }
95
-
96
-        #endregion
97
-
98
-        #region Input
99
-		/// <summary>
100
-        /// 参数清单
101
-        /// </summary>
102
-        public class Input : TFInput
103
-        {
104
-            /// <summary>
105
-            /// 账号 0310
106
-            ///  
107
-            /// </summary>
108
-            public string ZH { get; set; }
109
-
110
-            /// <summary>
111
-            /// 账户序号 0340
112
-            ///  
113
-            /// </summary>
114
-            public string ZHXH { get; set; }
115
-
116
-            /// <summary>
117
-            /// 标志 0660
118
-            /// 2:冻结扣划只显示冻结记录 4:止付扣划时只显示止付记录,空值返回全部记录 
119
-            /// </summary>
120
-            public string BZ { get; set; }
121
-
122
-            /// <summary>
123
-            /// 状态 0670
124
-            /// 0:未解除;1:解除,空值返回所有状态 
125
-            /// </summary>
126
-            public string ZT { get; set; }
127
-
128
-
129
-            /// <summary>                 
130
-            /// 定义业务逻辑              
131
-            /// </summary>                
132
-            /// <returns></returns>  
133
-            public override TFOutput Raise()
134
-            {
135
-                //拉取数据                                  
136
-                var output = new QueryFreezeList();
137
-                PageData.TradeAPIs.InitFd(MessageData);
138
-                PageData.TradeAPIs.CommSend(MessageData);
139
-				MessageData.Fd126_5 = MainCode;
140
-                MessageData.Fd16 = "CXCL";
141
-                MessageData.Fd31 = ZH;
142
-                MessageData.Fd34 = ZHXH;
143
-                MessageData.Fd66 = BZ;
144
-                MessageData.Fd128 = "0043";
145
-                MessageData.Fd67 = ZT;
146
-
147
-                PageData.TradeAPIs.CallServer(MessageData);
148
-                if (MessageData.Fd12 != "0000")
149
-                {
150
-                    output.IsFailed = true;
151
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
152
-                }                
153
-                output.DJXXData = AnilyzeFileData<E_DJXX>(MessageData.FileData,
154
-                                            "冻结止付序号|冻结止付类型|计划冻结金额|起始日期|解除日期|机构号|操作员|说明|冻结止付标志|止付种类|冻结执法机关|冻结法律文书编号| ",
155
-                                            x =>
156
-                                            {
157
-                                                return new E_DJXX
158
-                                                {
159
-                                                    DJZFXH = x["冻结止付序号"],
160
-                                                    DJZFLX = x["冻结止付类型"],
161
-                                                    JHDJJE = x["计划冻结金额"],
162
-                                                    QSRQ = x["起始日期"],
163
-                                                    JCRQ = x["解除日期"],
164
-                                                    JGH = x["机构号"],
165
-                                                    CZY = x["操作员"],
166
-                                                    SM = x["说明"],
167
-                                                    DJZFBZ = x["冻结止付标志"],
168
-                                                    ZFZL = x["止付种类"],
169
-                                                    DJZFJG = x["冻结执法机关"],
170
-                                                    DJFLWSBH = x["冻结法律文书编号"]
171
-                                                };
172
-                                            });
173
-                output.DJXX = MessageData.FileData;
174
-
175
-                return output;
176
-            }
177
-        }
178
-        #endregion
179
-    }
180
-}

+ 194
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryFreezeList.ts Datei anzeigen

@@ -0,0 +1,194 @@
1
+import { TFInput, TFOutput } from './TFBase'
2
+
3
+/**
4
+ * 冻结登记簿查询
5
+ * 根据账号、序号查询冻结登记簿
6
+ */
7
+export class QueryFreezeList extends TFOutput {
8
+    // #region Output
9
+    /**
10
+     * 冻结登记簿信息
11
+     * 文件格式:冻结止付序号|冻结止付类型|计划冻结金额|起始日期|解除日期|机构号|操作员|说明|冻结止付标志|止付种类|冻结执法机关|冻结法律文书编号| 
12
+     */
13
+    public DJXX: string = ''
14
+
15
+    /**
16
+     * 冻结登记簿信息
17
+     * 文件格式:冻结止付序号|冻结止付类型|计划冻结金额|起始日期|解除日期|机构号|操作员|说明|冻结止付标志|止付种类|冻结执法机关|冻结法律文书编号| 
18
+     */
19
+    public DJXXData: E_DJXX[] = []
20
+    // #endregion
21
+
22
+    // #region Input
23
+    /**
24
+     * 参数清单
25
+     */
26
+    public static Input = class extends TFInput {
27
+        /**
28
+         * 账号 0310
29
+         */
30
+        public ZH: string = ''
31
+
32
+        /**
33
+         * 账户序号 0340
34
+         */
35
+        public ZHXH: string = ''
36
+
37
+        /**
38
+         * 标志 0660
39
+         * 2:冻结扣划只显示冻结记录 4:止付扣划时只显示止付记录,空值返回全部记录 
40
+         */
41
+        public BZ: string = ''
42
+
43
+        /**
44
+         * 状态 0670
45
+         * 0:未解除;1:解除,空值返回所有状态 
46
+         */
47
+        public ZT: string = ''
48
+
49
+        /**                 
50
+         * 定义业务逻辑              
51
+         * @returns 操作结果
52
+         */
53
+        public override Raise(): TFOutput {
54
+            // 拉取数据                                  
55
+            const output = new QueryFreezeList()
56
+            this.PageData.TradeAPIs.InitFd(this.MessageData)
57
+            this.PageData.TradeAPIs.CommSend(this.MessageData)
58
+            this.MessageData.Fd126_5 = this.MainCode
59
+            this.MessageData.Fd16 = "CXCL"
60
+            this.MessageData.Fd31 = this.ZH
61
+            this.MessageData.Fd34 = this.ZHXH
62
+            this.MessageData.Fd66 = this.BZ
63
+            this.MessageData.Fd128 = "0043"
64
+            this.MessageData.Fd67 = this.ZT
65
+
66
+            this.PageData.TradeAPIs.CallServer(this.MessageData)
67
+            if (this.MessageData.Fd12 != "0000") {
68
+                output.IsFailed = true
69
+                output.FailureCause = this.PageData.TradeAPIs.GetError(this.MessageData)
70
+            }
71
+            output.DJXXData = this.AnilyzeFileData<E_DJXX>(this.MessageData.FileData,
72
+                "冻结止付序号|冻结止付类型|计划冻结金额|起始日期|解除日期|机构号|操作员|说明|冻结止付标志|止付种类|冻结执法机关|冻结法律文书编号| ",
73
+                (x) => {
74
+                    return {
75
+                        DJZFXH: x["冻结止付序号"],
76
+                        DJZFLX: x["冻结止付类型"],
77
+                        JHDJJE: x["计划冻结金额"],
78
+                        QSRQ: x["起始日期"],
79
+                        JCRQ: x["解除日期"],
80
+                        JGH: x["机构号"],
81
+                        CZY: x["操作员"],
82
+                        SM: x["说明"],
83
+                        DJZFBZ: x["冻结止付标志"],
84
+                        ZFZL: x["止付种类"],
85
+                        DJZFJG: x["冻结执法机关"],
86
+                        DJFLWSBH: x["冻结法律文书编号"]
87
+                    }
88
+                })
89
+            output.DJXX = this.MessageData.FileData
90
+
91
+            return output
92
+        }
93
+    }
94
+    // #endregion
95
+}
96
+
97
+/**
98
+ * 冻结登记簿信息项
99
+ * 文件格式:冻结止付序号|冻结止付类型|计划冻结金额|起始日期|解除日期|机构号|操作员|说明|冻结止付标志|止付种类|冻结执法机关|冻结法律文书编号| 
100
+ */
101
+export interface E_DJXX {
102
+    /**
103
+     * 冻结止付序号
104
+     */
105
+    DJZFXH: string
106
+
107
+    /**
108
+     * 冻结止付类型
109
+     */
110
+    DJZFLX: string
111
+
112
+    /**
113
+     * 计划冻结金额
114
+     */
115
+    JHDJJE: string
116
+
117
+    /**
118
+     * 起始日期
119
+     */
120
+    QSRQ: string
121
+
122
+    /**
123
+     * 解除日期
124
+     */
125
+    JCRQ: string
126
+
127
+    /**
128
+     * 机构号
129
+     */
130
+    JGH: string
131
+
132
+    /**
133
+     * 操作员
134
+     */
135
+    CZY: string
136
+
137
+    /**
138
+     * 说明
139
+     */
140
+    SM: string
141
+
142
+    /**
143
+     * 冻结止付标志
144
+     */
145
+    DJZFBZ: string
146
+
147
+    /**
148
+     * 止付种类
149
+     */
150
+    ZFZL: string
151
+
152
+    /**
153
+     * 冻结执法机关
154
+     */
155
+    DJZFJG: string
156
+
157
+    /**
158
+     * 冻结法律文书编号
159
+     */
160
+    DJFLWSBH: string
161
+}
162
+
163
+/**
164
+ * 创建冻结登记簿查询功能的Vue 3组合式API封装
165
+ */
166
+export function useQueryFreezeList() {
167
+    /**
168
+     * 查询冻结登记簿
169
+     * @param params 查询参数
170
+     * @param page 页面对象
171
+     * @returns 冻结登记簿查询结果
172
+     */
173
+    const queryFreezeList = (
174
+        params: {
175
+            ZH: string,    // 账号
176
+            ZHXH: string,  // 账户序号
177
+            BZ?: string,   // 标志(2:冻结扣划只显示冻结记录 4:止付扣划时只显示止付记录,空值返回全部记录)
178
+            ZT?: string    // 状态(0:未解除;1:解除,空值返回所有状态)
179
+        },
180
+        page: any
181
+    ): QueryFreezeList => {
182
+        const input = new QueryFreezeList.Input()
183
+
184
+        // 设置查询参数
185
+        Object.assign(input, params)
186
+
187
+        // 执行查询
188
+        return input.DoAction<QueryFreezeList>(page)
189
+    }
190
+
191
+    return {
192
+        queryFreezeList
193
+    }
194
+}

+ 0
- 301
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryGuaranteeInfomationByNum.cs Datei anzeigen

@@ -1,301 +0,0 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.ComponentModel;
4
-using System.Linq;
5
-using System.Text;
6
-
7
-namespace TellerSystem.Contract.Function
8
-{
9
-    /// <summary>
10
-    /// 根据保函协议编号查询协议信息
11
-    /// 根据保函协议编号查询保函登记簿的详细信息
12
-    /// </summary>
13
-    public class QueryGuaranteeInfomationByNum : TFOutput
14
-    {
15
-        #region Output
16
-        /// <summary>
17
-        /// 质押物类别 0220
18
-        /// 
19
-        /// </summary>
20
-        public string ZYWLB { get; internal set; }
21
-
22
-        /// <summary>
23
-        /// 申请人户名 0250
24
-        /// 
25
-        /// </summary>
26
-        public string SQRHM { get; internal set; }
27
-
28
-        /// <summary>
29
-        /// 受益人户名 0260
30
-        /// 
31
-        /// </summary>
32
-        public string SYRHM { get; internal set; }
33
-
34
-        /// <summary>
35
-        /// 申请人客户号 0280
36
-        /// 
37
-        /// </summary>
38
-        public string SQRKHH { get; internal set; }
39
-
40
-        /// <summary>
41
-        /// 受益人客户号 0290
42
-        /// 
43
-        /// </summary>
44
-        public string SYRKHH { get; internal set; }
45
-
46
-        /// <summary>
47
-        /// 申请人账号 0300
48
-        /// 
49
-        /// </summary>
50
-        public string SQRZH { get; internal set; }
51
-
52
-        /// <summary>
53
-        /// 受益人账号 0310
54
-        /// 
55
-        /// </summary>
56
-        public string SYRZH { get; internal set; }
57
-
58
-        /// <summary>
59
-        /// 保证金账号 0320
60
-        /// 
61
-        /// </summary>
62
-        public string BZJZH { get; internal set; }
63
-
64
-        /// <summary>
65
-        /// 垫款账号 0330
66
-        /// 
67
-        /// </summary>
68
-        public string DKZH { get; internal set; }
69
-
70
-        /// <summary>
71
-        /// 质押物号码 0370
72
-        /// 
73
-        /// </summary>
74
-        public string ZYWHM { get; internal set; }
75
-
76
-        /// <summary>
77
-        /// 合同总金额 0390
78
-        /// 
79
-        /// </summary>
80
-        public string HTZJE { get; internal set; }
81
-
82
-        /// <summary>
83
-        /// 保函金额 0400
84
-        /// 
85
-        /// </summary>
86
-        public string BHJE { get; internal set; }
87
-
88
-        /// <summary>
89
-        /// 保证金金额 0410
90
-        /// 
91
-        /// </summary>
92
-        public string BZJJE { get; internal set; }
93
-
94
-        /// <summary>
95
-        /// 赔偿金额 0420
96
-        /// 
97
-        /// </summary>
98
-        public string PCJE { get; internal set; }
99
-
100
-        /// <summary>
101
-        /// 保证金比例 0430
102
-        /// 
103
-        /// </summary>
104
-        public string BZJBL { get; internal set; }
105
-
106
-        /// <summary>
107
-        /// 交易日期 0440
108
-        /// 
109
-        /// </summary>
110
-        public string JYRQ { get; internal set; }
111
-
112
-        /// <summary>
113
-        /// 保函到期日期 0450
114
-        /// 
115
-        /// </summary>
116
-        public string BHDQRQ { get; internal set; }
117
-
118
-        /// <summary>
119
-        /// 开具保函日期 0460
120
-        /// 
121
-        /// </summary>
122
-        public string KJBHRQ { get; internal set; }
123
-
124
-        /// <summary>
125
-        /// 保函有效期限 0470
126
-        /// 
127
-        /// </summary>
128
-        public string BHYXQX { get; internal set; }
129
-
130
-        /// <summary>
131
-        /// 申请人电话 0580
132
-        /// 
133
-        /// </summary>
134
-        public string SQRDH { get; internal set; }
135
-
136
-        /// <summary>
137
-        /// 受益人电话 0590
138
-        /// 
139
-        /// </summary>
140
-        public string SYRDH { get; internal set; }
141
-
142
-        /// <summary>
143
-        /// 是否有记录 0660
144
-        /// 0无1有
145
-        /// </summary>
146
-        public string SFYJL { get; internal set; }
147
-
148
-        /// <summary>
149
-        /// 协议状态 0670
150
-        /// A-存保证金 0、审核1核销X信贷录入
151
-        /// </summary>
152
-        public string XYZT { get; internal set; }
153
-
154
-        /// <summary>
155
-        /// 保函类型 0700
156
-        /// 0预付款退款保函 1付款保函 2关税保付保函 3工程投标保函 4工程承包履约保函 5工程维修保函 6加工承揽商贸履约保函 7质量保函
157
-        /// </summary>
158
-        public string BHLX { get; internal set; }
159
-
160
-        /// <summary>
161
-        /// 申请人地址 0810
162
-        /// 
163
-        /// </summary>
164
-        public string SQRDZ { get; internal set; }
165
-
166
-        /// <summary>
167
-        /// 受益人地址 0820
168
-        /// 
169
-        /// </summary>
170
-        public string SYRDZ { get; internal set; }
171
-
172
-        /// <summary>
173
-        /// 逾期利率 0840
174
-        /// 
175
-        /// </summary>
176
-        public string YQLL { get; internal set; }
177
-
178
-        /// <summary>
179
-        /// 担保费比例 0850
180
-        /// 
181
-        /// </summary>
182
-        public string DBFLL { get; internal set; }
183
-
184
-        /// <summary>
185
-        /// 垫款金额 1001
186
-        /// 
187
-        /// </summary>
188
-        public string DKJE { get; internal set; }
189
-
190
-        /// <summary>
191
-        /// 质押总额 1002
192
-        /// 
193
-        /// </summary>
194
-        public string ZYZE { get; internal set; }
195
-
196
-        /// <summary>
197
-        /// 交易机构 0910
198
-        /// 
199
-        /// </summary>
200
-        public string JYJG { get; internal set; }
201
-
202
-        /// <summary>
203
-        /// 项目名称 0830
204
-        /// 
205
-        /// </summary>
206
-        public string XMMC { get; internal set; }
207
-
208
-        /// <summary>
209
-        /// 担保合同号 0860
210
-        /// 
211
-        /// </summary>
212
-        public string DBHTH { get; internal set; }
213
-
214
-        /// <summary>
215
-        /// 手续费比例 1005
216
-        /// 
217
-        /// </summary>
218
-        public string SXFBL { get; internal set; }
219
-
220
-        // <summary>
221
-        ///保证金利率 0970
222
-        /// 
223
-        /// </summary>
224
-        public string BZJLL { get; internal set; }
225
-        #endregion
226
-
227
-        #region Input
228
-		/// <summary>
229
-        /// 参数清单
230
-        /// </summary>
231
-        public class Input : TFInput
232
-        {
233
-            /// <summary>
234
-            /// 保函协议编号 0630
235
-            ///  
236
-            /// </summary>
237
-            public string BHXYBH { get; set; }
238
-
239
-
240
-            /// <summary>                 
241
-            /// 定义业务逻辑              
242
-            /// </summary>                
243
-            /// <returns></returns>  
244
-            public override TFOutput Raise()
245
-            {
246
-                //拉取数据                                  
247
-                var output = new QueryGuaranteeInfomationByNum();
248
-                PageData.TradeAPIs.InitFd(MessageData);
249
-                PageData.TradeAPIs.CommSend(MessageData);
250
-				MessageData.Fd126_5 = MainCode;
251
-                MessageData.Fd16 = "K004";
252
-                MessageData.Fd63 = BHXYBH;
253
-
254
-                PageData.TradeAPIs.CallServer(MessageData);
255
-                if (MessageData.Fd12 != "0000")
256
-                {
257
-                    output.IsFailed = true;
258
-                    output.FailureCause = PageData.TradeAPIs.GetError(MessageData);
259
-                }                
260
-                output.ZYWLB = DelSpace(MessageData.Fd22);
261
-                output.SQRHM = DelSpace(MessageData.Fd25);
262
-                output.SYRHM = DelSpace(MessageData.Fd26);
263
-                output.SQRKHH = DelSpace(MessageData.Fd28);
264
-                output.SYRKHH = DelSpace(MessageData.Fd29);
265
-                output.SQRZH = DelSpace(MessageData.Fd30);
266
-                output.SYRZH = DelSpace(MessageData.Fd31);
267
-                output.BZJZH = DelSpace(MessageData.Fd32);
268
-                output.DKZH = DelSpace(MessageData.Fd33);
269
-                output.ZYWHM = DelSpace(MessageData.Fd37);
270
-                output.HTZJE = DelSpace(MessageData.Fd39);
271
-                output.BHJE = DelSpace(MessageData.Fd40);
272
-                output.BZJJE = DelSpace(MessageData.Fd41);
273
-                output.PCJE = DelSpace(MessageData.Fd42);
274
-                output.BZJBL = DelSpace(MessageData.Fd43);
275
-                output.JYRQ = DelSpace(MessageData.Fd44);
276
-                output.BHDQRQ = DelSpace(MessageData.Fd45);
277
-                output.KJBHRQ = DelSpace(MessageData.Fd46);
278
-                output.BHYXQX = DelSpace(MessageData.Fd47);
279
-                output.SQRDH = DelSpace(MessageData.Fd58);
280
-                output.SYRDH = DelSpace(MessageData.Fd59);
281
-                output.SFYJL = DelSpace(MessageData.Fd66);
282
-                output.XYZT = DelSpace(MessageData.Fd67);
283
-                output.BHLX = DelSpace(MessageData.Fd70);
284
-                output.SQRDZ = DelSpace(MessageData.Fd81);
285
-                output.SYRDZ = DelSpace(MessageData.Fd82);
286
-                output.YQLL = DelSpace(MessageData.Fd84);
287
-                output.DBFLL = DelSpace(MessageData.Fd85);
288
-                output.DKJE = DelSpace(MessageData.Fd100_1);
289
-                output.ZYZE = DelSpace(MessageData.Fd100_2);
290
-                output.JYJG = DelSpace(MessageData.Fd91);
291
-                output.XMMC = DelSpace(MessageData.Fd83);
292
-                output.DBHTH = DelSpace(MessageData.Fd86);
293
-                output.SXFBL = DelSpace(MessageData.Fd100_5);
294
-                output.BZJLL = DelSpace(MessageData.Fd97);
295
-
296
-                return output;
297
-            }
298
-        }
299
-        #endregion
300
-    }
301
-}

+ 0
- 0
ant-design-pro-vue3/src/views/front/develop/Constract/Function/Entity/QueryGuaranteeInfomationByNum.ts Datei anzeigen


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.

Laden…
Abbrechen
Speichern