admin
2023-12-13 471f85bc683af5e612b216b60301e217a704d8e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dapper;
using GasolineBlend.Entity;
 
namespace GasolineBlend.DAL
{
    public class AssessCapitalDAL:BaseDAL
    {
        #region 列表集合List
 
        /// <summary>
        /// 获取项目下所有的资产
        /// </summary>
        /// <param name="ProjId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalList(int ProjId)
        {
            var sql = $"select * from assessCapital where ProjId={ProjId} ";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取指定类型的资产
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalList(int ProjId, string TypeInfo)
        {
            var sql = $"select a.*,b.Title as BelongLtdName,c.RateName as SubClassName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id left join rateAssetRecover as c ON a.SubClassId=c.id where a.ProjId={ProjId} and a.TypeInfo='{TypeInfo}' order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取特定分组下特定类型的资产
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <param name="SubjectGroupId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalList(int ProjId, string TypeInfo, int CapitalOperateUpId,int SubjectGroupId)
        {
            var sql = $"select a.*,b.Title as BelongLtdName,c.RateName as SubClassName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id left join rateAssetRecover as c ON a.SubClassId=c.id where a.ProjId={ProjId} and a.TypeInfo='{TypeInfo}' and a.CapitalOperateUpId={CapitalOperateUpId} and a.SubjectGroupId={SubjectGroupId} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取特定分组下特定企业特定类型的资产
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <param name="BelongLtdId"></param>
        /// <param name="SubjectGroupId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalList(int ProjId, string TypeInfo, int CapitalOperateUpId, int BelongLtdId, int SubjectGroupId)
        {
            var sql = $"select a.*,b.Title as BelongLtdName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id where a.ProjId={ProjId} and a.TypeInfo='{TypeInfo}' and a.CapitalOperateUpId={CapitalOperateUpId}  and a.BelongLtdId={BelongLtdId} and a.SubjectGroupId={SubjectGroupId} order by a.id asc"; 
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 针对子类提取经营性/非经营性资产
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="SubClassId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListbySubClassId(int ProjId, int SubClassId)
        {
            var sql = $"select a.*,b.Title as BelongLtdName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id where a.ProjId={ProjId} and a.SubClassId={SubClassId} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 针对企业主体算应收应付(包括无)
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <param name="BelongLtdId"></param>
        /// <param name="SubClassId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListbySubClassId(int ProjId, string TypeInfo, int CapitalOperateUpId, int BelongLtdId, int SubClassId)
        {
            var sql = $"select a.*,b.Title as BelongLtdName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id where a.ProjId={ProjId} and a.TypeInfo='{TypeInfo}' and a.CapitalOperateUpId={CapitalOperateUpId}  and a.BelongLtdId={BelongLtdId}  and a.SubClassId={SubClassId} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 针对企业主体算应收应付(不包括无)
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <param name="BelongLtdId"></param>
        /// <param name="SubClassId"></param>
        /// <param name="CapitalOperateIdNone"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListbySubClassIdNone(int ProjId, string TypeInfo, int CapitalOperateUpId, int BelongLtdId, int SubClassId, int CapitalOperateIdNone)
        {
            var sql = $"select a.*,b.Title as BelongLtdName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id where a.ProjId={ProjId} and a.TypeInfo='{TypeInfo}' and a.CapitalOperateUpId={CapitalOperateUpId}  and a.BelongLtdId={BelongLtdId}  and a.SubClassId={SubClassId} and a.CapitalOperateId<>{CapitalOperateIdNone} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 针对经营性资产算应收应付
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <param name="CapitalOperateId"></param>
        /// <param name="SubClassId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListbySubClassId(int ProjId, string TypeInfo, int CapitalOperateId, int SubClassId)
        {
            var sql = $"select a.*,b.Title as BelongLtdName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id where a.ProjId={ProjId} and a.TypeInfo='{TypeInfo}' and a.CapitalOperateId={CapitalOperateId} and a.SubClassId={SubClassId} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
 
        /// <summary>
        /// 获取某个主体的非经营性资产/某个经营性资产的子资产(更多条件)
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <param name="BelongLtdId"></param>
        /// <param name="SubjectGroupId"></param>
        /// <param name="CapitalOperateId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalList(int ProjId, string TypeInfo, int CapitalOperateUpId, int BelongLtdId, int SubjectGroupId,int CapitalOperateId)
        {
            var sql = $"select a.*,b.Title as BelongLtdName,c.OperateName as CapitalOperateName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id left join assessCapitalOperate as c ON a.CapitalOperateId=c.id where a.ProjId={ProjId} and a.TypeInfo='{TypeInfo}' and a.CapitalOperateUpId={CapitalOperateUpId}  and a.BelongLtdId={BelongLtdId} and a.SubjectGroupId={SubjectGroupId} and a.CapitalOperateId<>{CapitalOperateId} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取某个主体的非经营性资产/某个经营性资产的子资产(普通筛选)
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="BelongLtdId"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalList(int ProjId, int BelongLtdId, int CapitalOperateUpId)
        {
            var sql = $"select a.*,b.Title as BelongLtdName from assessCapital as a left join mainSubject as b ON a.BelongLtdId=b.id where a.ProjId={ProjId} and a.BelongLtdId={BelongLtdId} and a.CapitalOperateUpId={CapitalOperateUpId} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
 
        /// <summary>
        /// 获取除了“无”的经营性资产
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="BelongLtdId"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <param name="CapitalOperateId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListNone(int ProjId, int BelongLtdId, int CapitalOperateUpId, int CapitalOperateIdNone)
        {
            var sql = $"select a.*,c.OperateName as CapitalOperateName from assessCapital as a left join assessCapitalOperate as c ON a.CapitalOperateId=c.id where a.ProjId={ProjId} and a.BelongLtdId={BelongLtdId} and a.CapitalOperateUpId={CapitalOperateUpId} and a.CapitalOperateId<>{CapitalOperateIdNone} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取当前经营性资产的所有子项
        /// </summary>
        /// <param name="CapitalOperateUpId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListForOperater(int CapitalOperateUpId)
        {
            var sql = $"select a.*,b.Note as TypeInfoName from assessCapital as a left join sysPropertyInfo as b ON a.TypeInfo=b.PropertyName where a.CapitalOperateUpId={CapitalOperateUpId} and a.CapitalOperateUpId<>0 order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取当前项目的所有非经营性资产
        /// </summary>
        /// <param name="ProjId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListForNoOperater(int ProjId)
        {
            var sql = $"select a.* from assessCapital as a where a.ProjId={ProjId} and a.CapitalOperateUpId=0 order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取某企业的非经营性资产的列表
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="BelongLtdId"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListForDebt(int ProjId, int BelongLtdId, int CapitalOperateUpId)
        {
            var sql = $"select * from assessCapital where ProjId={ProjId} and BelongLtdId={BelongLtdId} and CapitalOperateUpId={CapitalOperateUpId} and EvaluateDateCashLeft<>0 order by id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取某个项目税收折旧和摊销表的清单
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="DepreciationFlag"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListForDepreciation(int ProjId,bool DepreciationFlag)
        {
            var sql = $"select * from assessCapital where ProjId={ProjId} and DepreciationFlag='{DepreciationFlag}' order by id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 获取某个经营性资产税收折旧和摊销表的清单
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="DepreciationFlag"></param>
        /// <param name="CapitalOperateUpId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListForDepreciation(int ProjId, bool DepreciationFlag,int CapitalOperateUpId)
        {
            var sql = $"select * from assessCapital where ProjId={ProjId} and DepreciationFlag='{DepreciationFlag}' and CapitalOperateUpId={CapitalOperateUpId} order by id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 为全面绩效分析的经营分析定制
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <param name="CapitalOperateId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListForBusiness(int ProjId, string TypeInfo, int CapitalOperateId)
        {
            var sql = $"select * from assessCapital where ProjId={ProjId} and TypeInfo='{TypeInfo}' and CapitalOperateId={CapitalOperateId} order by id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        /// <summary>
        /// 为全面绩效分析的经营分析定制
        /// </summary>
        /// <param name="ProjId"></param>
        /// <param name="CapitalOperateId"></param>
        /// <returns></returns>
        public List<AssessCapital> GetAssessCapitalListForBusiness(int ProjId, int CapitalOperateId)
        {
            var sql = $"select a.*,b.Note as TypeInfoName from assessCapital as a left join sysPropertyInfo as b ON a.TypeInfo=b.PropertyName where a.ProjId={ProjId}  and a.CapitalOperateId={CapitalOperateId} order by a.id asc";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        public List<AssessCapital> GetAssessCapitalListforUpdate()
        {
            var sql = $"select * from assessCapital where CapitalOperateUpId>0";
            return Conn.Query<AssessCapital>(sql).ToList();
        }
 
        #endregion
 
        #region 获取信息Id
 
        public AssessCapital GetAssessCapitalbyId(int id)
        {
            var sql = new StringBuilder("select * from assessCapital ");
            DynamicParameters paras = new DynamicParameters();
            sql = sql.Append(" where id=@id");
            paras.Add("id", id);
            return Conn.QueryFirstOrDefault<AssessCapital>(sql.ToString(), paras);
        }
 
        #endregion
 
        #region 存在判断Id
        public bool ExistAssessCapital(AssessCapital assessCapital,bool ModifyFlag)
        {
            string strCompareSQL = (ModifyFlag == false ? "" : " and id<>@id");
            var sql = $"select * from assessCapital where CapitalName=@CapitalName and TypeInfo=@TypeInfo and ProjId=@ProjId and SubClassId=@SubClassId and CapitalOperateUpId=@CapitalOperateUpId and SubjectGroupId=@SubjectGroupId" + strCompareSQL;
            return Conn.ExecuteScalar<int>(sql, assessCapital) > 0;
        }
        #endregion
 
        #region 添加部分
        public int AddAssessCapital(AssessCapital assessCapital)
        {
            var sql = $"insert into assessCapital (CapitalName,CapitalNote,CapitalFlag,BelongLtdId,ClassLabel,ClassFirst,ClassSecond,ClassThird,ClassIndustry,TypeInfo,ProjId,ActualDate,EvaluateDateCash,BackDate,SubClassId,CapitalOperateId, CashInRemark,CashOutRemark,DepreciationFlag,CapitalOperateUpId,SubjectGroupId,Country,Province,City) Values(@CapitalName,@CapitalNote,@CapitalFlag,@BelongLtdId,@ClassLabel,@ClassFirst,@ClassSecond,@ClassThird,@ClassIndustry,@TypeInfo,@ProjId,@ActualDate,@EvaluateDateCash,@BackDate,@SubClassId,@CapitalOperateId,@CashInRemark,@CashOutRemark,@DepreciationFlag,@CapitalOperateUpId,@SubjectGroupId,@Country,@Province,@City);select @@IDENTITY;";
            return Conn.ExecuteScalar<int>(sql, assessCapital) ;
        }
 
        public int AddAssessCapitalAll(AssessCapital assessCapital)
        {
            var sql = $"insert into assessCapital Values(@CapitalName,@CapitalNote,@CapitalFlag,@BelongLtdId,@ClassLabel,@ClassFirst,@ClassSecond,@ClassThird,@TypeInfo,@ProjId,@CreateDate,@ActualDate,@EvaluateDateCash,@EvaluateDateDuration, @EvaluateDateCashPay, @EvaluateDateCashLeft,@BackDate,@BackDuration, @BackCashPay,@BackCashRefer,@BackCashActual,@SubClassId,@CapitalOperateId,@CashInRemark,@CashOutRemark,@DepreciationFlag,@CapitalOperateUpId,@SubjectGroupId,@Country,@Province,@City,@ClassIndustry,@EvaluateDateCashIn,@EvaluateDateCashOut,@CashOutAvrDate,@CashOutAvrNum,@CashInAvrDate,@CashInAvrNum,@CashXIRR,@CashTips,@CashYearRate,@CashXIRRFlag,@CashYearRateFlag,@DateTips,@Details);select @@IDENTITY;";
            return Conn.ExecuteScalar<int>(sql, assessCapital);
        }
        #endregion
 
        #region 更新部分
        public bool UpdateAssessCapital(AssessCapital assessCapital)
        {
            var sql = "update assessCapital set CapitalName=@CapitalName, CapitalNote=@CapitalNote, CapitalFlag=@CapitalFlag,BelongLtdId=@BelongLtdId,ClassLabel=@ClassLabel,ClassFirst=@ClassFirst,ClassSecond=@ClassSecond,ClassThird=@ClassThird,ClassIndustry=@ClassIndustry,ActualDate=@ActualDate,EvaluateDateCash=@EvaluateDateCash,BackDate=@BackDate,SubClassId=@SubClassId,CapitalOperateId=@CapitalOperateId,CashInRemark=@CashInRemark,CashOutRemark=@CashOutRemark,DepreciationFlag=@DepreciationFlag,Country=@Country,Province=@Province,City=@City where id=@id;";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("CapitalName", assessCapital.CapitalName);
            paras.Add("CapitalNote", assessCapital.CapitalNote);
            paras.Add("CapitalFlag", assessCapital.CapitalFlag);
            paras.Add("BelongLtdId", assessCapital.BelongLtdId);
            paras.Add("ClassLabel", assessCapital.ClassLabel);
            paras.Add("ClassFirst", assessCapital.ClassFirst);
            paras.Add("ClassSecond", assessCapital.ClassSecond);
            paras.Add("ClassThird", assessCapital.ClassThird);
            paras.Add("ClassIndustry",assessCapital.ClassIndustry);
            paras.Add("ActualDate", assessCapital.ActualDate);
            paras.Add("EvaluateDateCash", assessCapital.EvaluateDateCash);
            paras.Add("BackDate", assessCapital.BackDate);
            paras.Add("SubClassId",assessCapital.SubClassId);
            paras.Add("CapitalOperateId",assessCapital.CapitalOperateId);
            paras.Add("CashInRemark", assessCapital.CashInRemark);
            paras.Add("CashOutRemark", assessCapital.CashOutRemark);
            paras.Add("DepreciationFlag", assessCapital.DepreciationFlag);
            paras.Add("Country", assessCapital.Country);
            paras.Add("Province", assessCapital.Province);
            paras.Add("City", assessCapital.City);
            paras.Add("id", assessCapital.id);
 
            return Conn.Execute(sql, paras) > 0;
        }
 
        public bool UpdateAssessCapitalOut(AssessCapital assessCapital)
        {
            var sql = "update assessCapital set EvaluateDateDuration=@EvaluateDateDuration, EvaluateDateCashPay=@EvaluateDateCashPay, EvaluateDateCashLeft=@EvaluateDateCashLeft,BackCashRefer=@BackCashRefer where id=@id;";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("EvaluateDateDuration", assessCapital.EvaluateDateDuration);
            paras.Add("EvaluateDateCashPay", assessCapital.EvaluateDateCashPay);
            paras.Add("EvaluateDateCashLeft", assessCapital.EvaluateDateCashLeft);
            paras.Add("BackCashRefer", assessCapital.BackCashRefer);
            paras.Add("id", assessCapital.id);
 
            return Conn.Execute(sql, paras) > 0;
        }
 
        public bool UpdateAssessCapitalBack(AssessCapital assessCapital)
        {
            var sql = "update assessCapital set BackDuration=@BackDuration, BackCashActual=@BackCashActual,BackCashPay=@BackCashPay where id=@id;";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("BackDuration", assessCapital.BackDuration);
            paras.Add("BackCashActual", assessCapital.BackCashActual);
            paras.Add("BackCashPay", assessCapital.BackCashPay);
            paras.Add("id", assessCapital.id);
 
            return Conn.Execute(sql, paras) > 0;
        }
 
        public bool UpdateDepreciationFlag(AssessCapital assessCapital)
        {
            var sql = "update assessCapital set DepreciationFlag=@DepreciationFlag where id=@id;";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("DepreciationFlag", assessCapital.DepreciationFlag);
            paras.Add("id", assessCapital.id);
 
            return Conn.Execute(sql, paras) > 0;
        }
 
        public bool UpdateCapitalDetails(AssessCapital assessCapital)
        {
            var sql = "update assessCapital set Details=@Details,EvaluateDateCash=@EvaluateDateCash,ActualDate=@ActualDate where id=@id;";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("Details", assessCapital.Details);
            paras.Add("EvaluateDateCash", assessCapital.EvaluateDateCash);
            paras.Add("ActualDate", assessCapital.ActualDate);
            paras.Add("id", assessCapital.id);
 
            return Conn.Execute(sql, paras) > 0;
        }
 
        public bool UpdateEvaluateDateCash(AssessCapital assessCapital)
        {
            var sql = "update assessCapital set EvaluateDateCash=@EvaluateDateCash where id=@id;";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("EvaluateDateCash", assessCapital.EvaluateDateCash);
            paras.Add("id", assessCapital.id);
 
            return Conn.Execute(sql, paras) > 0;
        }
 
        public bool UpdateAssessCapitalBelongLtdId(AssessCapital assessCapital)
        {
            var sql = "update assessCapital set BelongLtdId=@BelongLtdId where CapitalOperateId=@CapitalOperateId and ProjId=@ProjId;";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("BelongLtdId", assessCapital.BelongLtdId);
            paras.Add("CapitalOperateId", assessCapital.CapitalOperateId);
            paras.Add("ProjId", assessCapital.ProjId);
 
            return Conn.Execute(sql, paras) > 0;
        }
 
        public bool UpdateAssessCapitalBIResult(AssessCapital assessCapital)
        {
            try
            {
                var sql =
                    "update assessCapital set EvaluateDateCashIn=@EvaluateDateCashIn,EvaluateDateCashOut=@EvaluateDateCashOut,CashOutAvrDate=@CashOutAvrDate,CashOutAvrNum=@CashOutAvrNum,CashInAvrDate=@CashInAvrDate,CashInAvrNum=@CashInAvrNum,CashXIRR=@CashXIRR,CashTips=@CashTips,CashYearRate=@CashYearRate,CashXIRRFlag=@CashXIRRFlag,CashYearRateFlag=@CashYearRateFlag,DateTips=@DateTips where id=@id;";
                DynamicParameters paras = new DynamicParameters();
                paras.Add("EvaluateDateCashIn", assessCapital.EvaluateDateCashIn);
                paras.Add("EvaluateDateCashOut", assessCapital.EvaluateDateCashOut);
                paras.Add("CashOutAvrDate", assessCapital.CashOutAvrDate);
                paras.Add("CashOutAvrNum", assessCapital.CashOutAvrNum);
                paras.Add("CashInAvrDate", assessCapital.CashInAvrDate);
                paras.Add("CashInAvrNum", assessCapital.CashInAvrNum);
                paras.Add("CashXIRR", assessCapital.CashXIRR);
                paras.Add("CashTips", assessCapital.CashTips);
                paras.Add("CashYearRate", assessCapital.CashYearRate);
                paras.Add("CashXIRRFlag", assessCapital.CashXIRRFlag);
                paras.Add("CashYearRateFlag", assessCapital.CashYearRateFlag);
                paras.Add("DateTips", assessCapital.DateTips);
                paras.Add("id", assessCapital.id);
 
                return Conn.Execute(sql, paras) > 0;
            }
            catch (Exception e)
            {
                //Console.WriteLine(e);
                return false;
            }
        }
 
        public bool UpdateAssessCapitalBIResult(string DateTips,int id)
        {
            var sql = "update assessCapital set DateTips=@DateTips where id=@id;";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("DateTips", DateTips);
            paras.Add("id", id);
 
            return Conn.Execute(sql, paras) > 0;
        }
        #endregion
 
        #region 删除部分
        public bool DeleteAssessCapitalbyId(int id)
        {
            var sql = $"delete from assessCapital where id={id}";
            return Conn.Execute(sql) > 0;
        }
 
        public bool DeleteAssessCapitalbyCapitalOperateId(int CapitalOperateUpId)
        {
            var sql = $"delete from assessCapital where CapitalOperateUpId={CapitalOperateUpId}";
            return Conn.Execute(sql) > 0;
        }
        #endregion
 
        #region 金额求和
        /// <summary>
        /// 企业管理的非经营性资产
        /// </summary>
        /// <param name="BelongLtdId"></param>
        /// <param name="ProjId"></param>
        /// <param name="TypeInfo"></param>
        /// <returns></returns>
        public double GetAssessCapitalBackCashActualSum(int BelongLtdId,int ProjId, string TypeInfo, bool OperateFlag,int CapitalOperateId)
        {
            string strCompare = (OperateFlag == false ? "" : " and CapitalOperateId<>" + CapitalOperateId);
            var sql = $"select SUM(BackCashActual) as BackCashActualSum from assessCapital where BelongLtdId={BelongLtdId} and ProjId={ProjId} and TypeInfo='{TypeInfo}' "+strCompare;
            return Conn.ExecuteScalar<double>(sql) ;
        }
 
        /// <summary>
        /// 经营性资产关联的非经营性资产
        /// </summary>
        /// <param name="CapitalOperateId"></param>
        /// <param name="TypeInfo"></param>
        /// <returns></returns>
        public double GetAssessCapitalBackCashActualSum(int CapitalOperateId, string TypeInfo)
        {
            var sql = $"select SUM(BackCashActual) as BackCashActualSum from assessCapital where CapitalOperateId={CapitalOperateId} and TypeInfo='{TypeInfo}'";
            return Conn.ExecuteScalar<double>(sql);
        }
 
        public double GetAssessCapitalBackCashOperate(int SubjectGroupId, int ProjId, int CapitalOperateUpId)
        {
            var sql = $"select SUM(BackCashActual) as BackCashActualSum from assessCapital where SubjectGroupId={SubjectGroupId} and ProjId={ProjId} and CapitalOperateUpId={CapitalOperateUpId}";
            return Conn.ExecuteScalar<double>(sql);
        }
 
        public double GetAssessCapitalLeftCashOperate(int SubjectGroupId, int ProjId, int CapitalOperateUpId)
        {
            var sql = $"select SUM(EvaluateDateCashLeft) as EvaluateDateCashLeftSum from assessCapital where SubjectGroupId={SubjectGroupId} and ProjId={ProjId} and CapitalOperateUpId={CapitalOperateUpId}";
            return Conn.ExecuteScalar<double>(sql);
        }
 
        public double GetAssessCapitalROICashInSum(int BelongLtdId, int ProjId, string TypeInfo)
        {
            var sql = $"select SUM(EvaluateDateCashLeft)+SUM(EvaluateDateCashPay) as ROICashInSum from assessCapital where BelongLtdId={BelongLtdId} and ProjId={ProjId} and TypeInfo='{TypeInfo}'";
            return Conn.ExecuteScalar<double>(sql);
        }
 
        public double GetAssessCapitalROICashOutSum(int BelongLtdId, int ProjId, string TypeInfo)
        {
            var sql = $"select SUM(BackCashPay)+SUM(BackCashActual) as ROICashOutSum from assessCapital where BelongLtdId={BelongLtdId} and ProjId={ProjId} and TypeInfo='{TypeInfo}'";
            return Conn.ExecuteScalar<double>(sql);
        }
 
        public double GetAssessCapitalROIOperateInSum(int CapitalOperateUpId, int ProjId)
        {
            var sql = $"select SUM(EvaluateDateCashLeft)+SUM(EvaluateDateCashPay) as ROICashInSum from assessCapital where CapitalOperateUpId={CapitalOperateUpId} and ProjId={ProjId} ";
            return Conn.ExecuteScalar<double>(sql);
        }
 
        public double GetAssessCapitalROIOperateOutSum(int CapitalOperateUpId, int ProjId)
        {
            var sql = $"select SUM(BackCashPay)+SUM(BackCashActual) as ROICashInSum from assessCapital where CapitalOperateUpId={CapitalOperateUpId} and ProjId={ProjId} ";
            return Conn.ExecuteScalar<double>(sql);
        }
#endregion
    }
}