DuGuYang 2 vuotta sitten
vanhempi
commit
6be9812d6e

+ 52 - 0
AppStart/PublicFunction.cs

@@ -514,6 +514,58 @@ namespace MySystem
 
         #endregion
 
+
+        #region 通用添加收支明细
+        /// <summary>
+        /// 通用添加收支明细
+        /// </summary>
+        /// <param name="UserId">运营中心Id</param>
+        /// <param name="ShowType">显示类型(11 单可提现额度增减 21 单合伙人额度增减 31 双额度显示)</param>
+        /// <param name="Remark">备注</param>
+        /// <param name="UseAmount">变动金额</param>
+        /// <param name="OperateType">变动类型(0 总和 1 增加 2 减少)</param>
+        /// <param name="AfterTotalAmt">使用后未使用额度</param>
+        /// <param name="AfterValidForGetAmount">使用后可提现额度</param>
+        /// <param name="AfterValidAmount">使用后关联分仓额度</param>
+        /// <param name="UseValidForGetAmount">使用可提现额度</param>
+        /// <param name="UseTotalAmt">使用未使用额度</param>
+        /// <param name="UseValidAmount">使用关联分仓额度</param>
+        /// <param name="ApplyId">申请机记录具Id</param>
+        /// <param name="DataId">数据来源Id</param>
+        /// <param name="DataType">数据来源表(1 PosMachinesTwo 2 StoreHouse 3 Orders 4 SysAdmin)</param>
+        /// <returns></returns>
+        public static string AddAmountRecordNew(int ChangeTypeId, string Remark, int ShowType, decimal AfterValidAmount, decimal AfterTotalAmt, decimal AfterValidForGetAmount, int OperateType, decimal AfterAmount, decimal BeforeAmount, decimal UseAmount, int ApplyId, int UserId, decimal UseValidAmount, decimal UseTotalAmt, decimal UseValidForGetAmount, int DataId, int DataType)
+        {
+            OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
+            opdb.AmountRecordNew.Add(new OpModels.AmountRecordNew()
+            {
+                CreateDate = DateTime.Now,
+                UpdateDate = DateTime.Now,
+                ChangeTypeId = ChangeTypeId,
+                Remark = Remark,
+                ShowType = ShowType,
+                AfterValidAmount = AfterValidAmount,
+                AfterTotalAmt = AfterTotalAmt,
+                AfterValidForGetAmount = AfterValidForGetAmount,
+                OperateType = OperateType,
+                AfterAmount = AfterAmount,
+                BeforeAmount = BeforeAmount,
+                UseAmount = UseAmount,
+                ApplyId = ApplyId,
+                UserId = UserId,
+                UseValidForGetAmount = UseValidForGetAmount,
+                UseTotalAmt = UseTotalAmt,
+                UseValidAmount = UseValidAmount,
+                DataId = DataId,
+                DataType = DataType
+            });
+            opdb.SaveChanges();
+
+            return "success";
+        }
+        #endregion
+
+
         #region 统计机具绑定数据
 
         public static void StatUserMachineData(int UserId, int BrandId, int Count)

+ 202 - 188
Areas/Admin/Controllers/MainServer/StoreHouseController.cs

@@ -568,33 +568,38 @@ namespace MySystem.Areas.Admin.Controllers
                         if (UseAmount > 0)
                         {
                             var amount = opdb.UserAccount.FirstOrDefault(m => m.UserId == sto.OpId) ?? new OpModels.UserAccount();
-                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord()
-                            {
-                                Version = 3,//1 未使用额度 2 可提现额度 3 关联分仓额度
-                                CreateDate = DateTime.Now,
-                                UserId = sto.OpId,
-                                SeoDescription = "分仓押金变更",
-                                OperateType = OperateType,
-                                UseAmount = UseAmount,
-                                BeforeAmount = amount.ValidAmount,
-                                AfterAmount = amount.ValidAmount + UseAmount,
-                                AfterTotalAmt = amount.TotalAmt,
-                                AfterValidForGetAmount = amount.ValidForGetAmount,
-                                AfterValidAmount = amount.ValidAmount + UseAmount,
-                            }).Entity;
 
-                            var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
-                            {
-                                AmountType = 3,//1 未使用额度 2 可提现额度 3 关联分仓额度
-                                CreateDate = DateTime.Now,
-                                Title = "分仓押金变更",
-                                UserId = sto.OpId, //运营中心Id
-                                Operater = SysUserName + "-" + SysRealName,
-                                BeforeAmount = amount.ValidAmount,//使用前剩余额度
-                                AfterAmount = amount.ValidAmount + UseAmount,//使用后剩余额度
-                                ChangeAmount = UseAmount,//操作金额
-                                OperateType = OperateType,//操作类别
-                            }).Entity;
+                            var ValidAmount = amount.ValidAmount - sto.Deposit + data.Deposit;
+
+                            PublicFunction.AddAmountRecordNew(3, "分仓押金变更", 31, amount.ValidAmount, amount.TotalAmount, amount.ValidForGetAmount, OperateType, amount.ValidAmount + amount.TotalAmt + amount.ValidForGetAmount - sto.Deposit + data.Deposit, amount.ValidAmount + amount.TotalAmt + amount.ValidForGetAmount, UseAmount, 0, sto.OpId, ValidAmount, 0, 0, sto.Id, 2);
+
+                            // var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord()
+                            // {
+                            //     Version = 3,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                            //     CreateDate = DateTime.Now,
+                            //     UserId = sto.OpId,
+                            //     SeoDescription = "分仓押金变更",
+                            //     OperateType = OperateType,
+                            //     UseAmount = UseAmount,
+                            //     BeforeAmount = amount.ValidAmount,
+                            //     AfterAmount = amount.ValidAmount + UseAmount,
+                            //     AfterTotalAmt = amount.TotalAmt,
+                            //     AfterValidForGetAmount = amount.ValidForGetAmount,
+                            //     AfterValidAmount = amount.ValidAmount + UseAmount,
+                            // }).Entity;
+
+                            // var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
+                            // {
+                            //     AmountType = 3,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                            //     CreateDate = DateTime.Now,
+                            //     Title = "分仓押金变更",
+                            //     UserId = sto.OpId, //运营中心Id
+                            //     Operater = SysUserName + "-" + SysRealName,
+                            //     BeforeAmount = amount.ValidAmount,//使用前剩余额度
+                            //     AfterAmount = amount.ValidAmount + UseAmount,//使用后剩余额度
+                            //     ChangeAmount = UseAmount,//操作金额
+                            //     OperateType = OperateType,//操作类别
+                            // }).Entity;
 
                             amount.ValidAmount -= sto.Deposit;
                             amount.ValidAmount += data.Deposit;
@@ -652,33 +657,38 @@ namespace MySystem.Areas.Admin.Controllers
                     if (UseAmount > 0)
                     {
                         var amount = opdb.UserAccount.FirstOrDefault(m => m.UserId == sto.OpId) ?? new OpModels.UserAccount();
-                        var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord()
-                        {
-                            Version = 3,//1 未使用额度 2 可提现额度 3 关联分仓额度
-                            CreateDate = DateTime.Now,
-                            UserId = sto.OpId,
-                            SeoDescription = "分仓押金变更",
-                            OperateType = OperateType,
-                            UseAmount = UseAmount,
-                            BeforeAmount = amount.ValidAmount,
-                            AfterAmount = amount.ValidAmount + UseAmount,
-                            AfterTotalAmt = amount.TotalAmt,
-                            AfterValidForGetAmount = amount.ValidForGetAmount,
-                            AfterValidAmount = amount.ValidAmount + UseAmount,
-                        }).Entity;
 
-                        var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
-                        {
-                            AmountType = 3,//1 未使用额度 2 可提现额度 3 关联分仓额度
-                            CreateDate = DateTime.Now,
-                            Title = "分仓押金变更",
-                            UserId = sto.OpId, //运营中心Id
-                            Operater = SysUserName + "-" + SysRealName,
-                            BeforeAmount = amount.ValidAmount,//使用前剩余额度
-                            AfterAmount = amount.ValidAmount + UseAmount,//使用后剩余额度
-                            ChangeAmount = UseAmount,//操作金额
-                            OperateType = OperateType,//操作类别
-                        }).Entity;
+                        var ValidAmount = amount.ValidAmount - sto.Deposit + data.Deposit;
+
+                        PublicFunction.AddAmountRecordNew(3, "分仓押金变更", 31, amount.ValidAmount, amount.TotalAmount, amount.ValidForGetAmount, OperateType, amount.ValidAmount + amount.TotalAmt + amount.ValidForGetAmount - sto.Deposit + data.Deposit, amount.ValidAmount + amount.TotalAmt + amount.ValidForGetAmount, UseAmount, 0, sto.OpId, ValidAmount, 0, 0, sto.Id, 2);
+
+                        // var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord()
+                        // {
+                        //     Version = 3,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                        //     CreateDate = DateTime.Now,
+                        //     UserId = sto.OpId,
+                        //     SeoDescription = "分仓押金变更",
+                        //     OperateType = OperateType,
+                        //     UseAmount = UseAmount,
+                        //     BeforeAmount = amount.ValidAmount,
+                        //     AfterAmount = amount.ValidAmount + UseAmount,
+                        //     AfterTotalAmt = amount.TotalAmt,
+                        //     AfterValidForGetAmount = amount.ValidForGetAmount,
+                        //     AfterValidAmount = amount.ValidAmount + UseAmount,
+                        // }).Entity;
+
+                        // var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
+                        // {
+                        //     AmountType = 3,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                        //     CreateDate = DateTime.Now,
+                        //     Title = "分仓押金变更",
+                        //     UserId = sto.OpId, //运营中心Id
+                        //     Operater = SysUserName + "-" + SysRealName,
+                        //     BeforeAmount = amount.ValidAmount,//使用前剩余额度
+                        //     AfterAmount = amount.ValidAmount + UseAmount,//使用后剩余额度
+                        //     ChangeAmount = UseAmount,//操作金额
+                        //     OperateType = OperateType,//操作类别
+                        // }).Entity;
 
                         amount.ValidAmount -= sto.Deposit;
                         amount.ValidAmount += data.Deposit;
@@ -2151,74 +2161,76 @@ namespace MySystem.Areas.Admin.Controllers
                         }
                         if (IsOk == "1")
                         {
-                            var OperateType = 0;
-                            var Amount = 0.00M;
-                            if (deposit >= tamount)
-                            {
-                                OperateType = 1;
-                                Amount = deposit - tamount;
-                            }
-                            if (deposit < tamount)
-                            {
-                                OperateType = 2;
-                                Amount = tamount - deposit;
-                            }
-                            if (Amount > 0)
-                            {
-                                var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
-                                {
-                                    CreateDate = DateTime.Now,
-                                    UserId = sysAdmin.UserId,
-                                    SeoDescription = "关联分仓",
-                                    OperateType = OperateType,
-                                    UseAmount = Amount,
-                                    BeforeAmount = TotalAmount,
-                                    AfterAmount = TotalAmount + deposit - tamount,
-                                    AfterTotalAmt = userAmount.TotalAmt,
-                                    AfterValidForGetAmount = userAmount.ValidForGetAmount,
-                                    AfterValidAmount = userAmount.ValidAmount,
-                                }).Entity;
-                            }
-
-                            for (int i = 1; i <= 3; i++)
-                            {
-                                var UseAmount = 0.00M;
-                                var BeforeAmount = 0.00M;
-                                var AfterAmount = 0.00M;
-                                if (i == 1)
-                                {
-                                    UseAmount = TotalAmt;
-                                    BeforeAmount = userAmount.TotalAmt + UseAmount;
-                                    AfterAmount = userAmount.TotalAmt;
-                                }
-                                if (i == 2)
-                                {
-                                    UseAmount = ValidForGetAmount;
-                                    BeforeAmount = userAmount.ValidForGetAmount + UseAmount;
-                                    AfterAmount = userAmount.ValidForGetAmount;
-                                }
-                                if (i == 3)
-                                {
-                                    UseAmount = ValidAmount;
-                                    BeforeAmount = userAmount.ValidAmount + UseAmount;
-                                    AfterAmount = userAmount.ValidAmount;
-                                }
-                                if (i > 0 && UseAmount > 0)
-                                {
-                                    var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
-                                    {
-                                        AmountType = i,//1 未使用额度 2 可提现额度 3 关联分仓额度
-                                        CreateDate = DateTime.Now,
-                                        Title = "关联分仓",
-                                        UserId = sysAdmin.UserId, //运营中心Id
-                                        Operater = SysUserName + "-" + SysRealName,
-                                        BeforeAmount = BeforeAmount,//使用前剩余额度
-                                        AfterAmount = AfterAmount,//使用后剩余额度
-                                        ChangeAmount = UseAmount,//操作金额
-                                        OperateType = OperateType,//操作类别
-                                    }).Entity;
-                                }
-                            }
+                            PublicFunction.AddAmountRecordNew(2, "关联分仓", 31, userAmount.ValidAmount, userAmount.TotalAmount, userAmount.ValidForGetAmount, 0, TotalAmount + deposit - tamount, TotalAmount, deposit + tamount, 0, sysAdmin.UserId, ValidAmount, TotalAmt, ValidForGetAmount, 0, 0);
+
+                            // var OperateType = 0;
+                            // var Amount = 0.00M;
+                            // if (deposit >= tamount)
+                            // {
+                            //     OperateType = 1;
+                            //     Amount = deposit - tamount;
+                            // }
+                            // if (deposit < tamount)
+                            // {
+                            //     OperateType = 2;
+                            //     Amount = tamount - deposit;
+                            // }
+                            // if (Amount > 0)
+                            // {
+                            //     var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            //     {
+                            //         CreateDate = DateTime.Now,
+                            //         UserId = sysAdmin.UserId,
+                            //         SeoDescription = "关联分仓",
+                            //         OperateType = OperateType,
+                            //         UseAmount = Amount,
+                            //         BeforeAmount = TotalAmount,
+                            //         AfterAmount = TotalAmount + deposit - tamount,
+                            //         AfterTotalAmt = userAmount.TotalAmt,
+                            //         AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                            //         AfterValidAmount = userAmount.ValidAmount,
+                            //     }).Entity;
+                            // }
+
+                            // for (int i = 1; i <= 3; i++)
+                            // {
+                            //     var UseAmount = 0.00M;
+                            //     var BeforeAmount = 0.00M;
+                            //     var AfterAmount = 0.00M;
+                            //     if (i == 1)
+                            //     {
+                            //         UseAmount = TotalAmt;
+                            //         BeforeAmount = userAmount.TotalAmt + UseAmount;
+                            //         AfterAmount = userAmount.TotalAmt;
+                            //     }
+                            //     if (i == 2)
+                            //     {
+                            //         UseAmount = ValidForGetAmount;
+                            //         BeforeAmount = userAmount.ValidForGetAmount + UseAmount;
+                            //         AfterAmount = userAmount.ValidForGetAmount;
+                            //     }
+                            //     if (i == 3)
+                            //     {
+                            //         UseAmount = ValidAmount;
+                            //         BeforeAmount = userAmount.ValidAmount + UseAmount;
+                            //         AfterAmount = userAmount.ValidAmount;
+                            //     }
+                            //     if (i > 0 && UseAmount > 0)
+                            //     {
+                            //         var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
+                            //         {
+                            //             AmountType = i,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                            //             CreateDate = DateTime.Now,
+                            //             Title = "关联分仓",
+                            //             UserId = sysAdmin.UserId, //运营中心Id
+                            //             Operater = SysUserName + "-" + SysRealName,
+                            //             BeforeAmount = BeforeAmount,//使用前剩余额度
+                            //             AfterAmount = AfterAmount,//使用后剩余额度
+                            //             ChangeAmount = UseAmount,//操作金额
+                            //             OperateType = OperateType,//操作类别
+                            //         }).Entity;
+                            //     }
+                            // }
                             opdb.SaveChanges();
                         }
                         sysAdmin.StoreCount += idlist.Count();//添加关联分仓数
@@ -2414,74 +2426,76 @@ namespace MySystem.Areas.Admin.Controllers
                         sysAdmin.StoreCount -= idlist.Count();//减少关联分仓数
                         sysAdmin.TotalMachineCount -= pCount;//减少关联分仓机具数
 
-                        var OperateType = 0;
-                        var Amount = 0.00M;
-                        if (deposit >= tamount)
-                        {
-                            OperateType = 1;
-                            Amount = deposit - tamount;
-                        }
-                        if (deposit < tamount)
-                        {
-                            OperateType = 2;
-                            Amount = tamount - deposit;
-                        }
-                        if (Amount > 0)
-                        {
-                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
-                            {
-                                CreateDate = DateTime.Now,
-                                UserId = sysAdmin.UserId,
-                                SeoDescription = "取消关联分仓",
-                                OperateType = OperateType,
-                                UseAmount = Amount,
-                                BeforeAmount = TotalAmount,
-                                AfterAmount = TotalAmount - deposit + tamount,
-                                AfterTotalAmt = userAmount.TotalAmt,
-                                AfterValidForGetAmount = userAmount.ValidForGetAmount,
-                                AfterValidAmount = userAmount.ValidAmount,
-                            }).Entity;
-                        }
-
-                        for (int i = 1; i <= 3; i++)
-                        {
-                            var UseAmount = 0.00M;
-                            var BeforeAmount = 0.00M;
-                            var AfterAmount = 0.00M;
-                            if (i == 1)
-                            {
-                                UseAmount = TotalAmt;
-                                BeforeAmount = userAmount.TotalAmt - UseAmount;
-                                AfterAmount = userAmount.TotalAmt;
-                            }
-                            if (i == 2)
-                            {
-                                UseAmount = ValidForGetAmount;
-                                BeforeAmount = userAmount.ValidForGetAmount - UseAmount;
-                                AfterAmount = userAmount.ValidForGetAmount;
-                            }
-                            if (i == 3)
-                            {
-                                UseAmount = ValidAmount;
-                                BeforeAmount = userAmount.ValidAmount - UseAmount;
-                                AfterAmount = userAmount.ValidAmount;
-                            }
-                            if (i > 0 && UseAmount > 0)
-                            {
-                                var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
-                                {
-                                    AmountType = i,//1 未使用额度 2 可提现额度 3 关联分仓额度
-                                    CreateDate = DateTime.Now,
-                                    Title = "取消关联分仓",
-                                    UserId = sysAdmin.UserId, //运营中心Id
-                                    Operater = SysUserName + "-" + SysRealName,
-                                    BeforeAmount = BeforeAmount,//使用前剩余额度
-                                    AfterAmount = AfterAmount,//使用后剩余额度
-                                    ChangeAmount = UseAmount,//操作金额
-                                    OperateType = OperateType,//操作类别
-                                }).Entity;
-                            }
-                        }
+                        PublicFunction.AddAmountRecordNew(2, "关联分仓", 31, userAmount.ValidAmount, userAmount.TotalAmount, userAmount.ValidForGetAmount, 0, TotalAmount + deposit - tamount, TotalAmount, deposit + tamount, 0, sysAdmin.UserId, ValidAmount, TotalAmt, ValidForGetAmount, 0, 0);
+
+                        // var OperateType = 0;
+                        // var Amount = 0.00M;
+                        // if (deposit >= tamount)
+                        // {
+                        //     OperateType = 1;
+                        //     Amount = deposit - tamount;
+                        // }
+                        // if (deposit < tamount)
+                        // {
+                        //     OperateType = 2;
+                        //     Amount = tamount - deposit;
+                        // }
+                        // if (Amount > 0)
+                        // {
+                        //     var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                        //     {
+                        //         CreateDate = DateTime.Now,
+                        //         UserId = sysAdmin.UserId,
+                        //         SeoDescription = "取消关联分仓",
+                        //         OperateType = OperateType,
+                        //         UseAmount = Amount,
+                        //         BeforeAmount = TotalAmount,
+                        //         AfterAmount = TotalAmount - deposit + tamount,
+                        //         AfterTotalAmt = userAmount.TotalAmt,
+                        //         AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                        //         AfterValidAmount = userAmount.ValidAmount,
+                        //     }).Entity;
+                        // }
+
+                        // for (int i = 1; i <= 3; i++)
+                        // {
+                        //     var UseAmount = 0.00M;
+                        //     var BeforeAmount = 0.00M;
+                        //     var AfterAmount = 0.00M;
+                        //     if (i == 1)
+                        //     {
+                        //         UseAmount = TotalAmt;
+                        //         BeforeAmount = userAmount.TotalAmt - UseAmount;
+                        //         AfterAmount = userAmount.TotalAmt;
+                        //     }
+                        //     if (i == 2)
+                        //     {
+                        //         UseAmount = ValidForGetAmount;
+                        //         BeforeAmount = userAmount.ValidForGetAmount - UseAmount;
+                        //         AfterAmount = userAmount.ValidForGetAmount;
+                        //     }
+                        //     if (i == 3)
+                        //     {
+                        //         UseAmount = ValidAmount;
+                        //         BeforeAmount = userAmount.ValidAmount - UseAmount;
+                        //         AfterAmount = userAmount.ValidAmount;
+                        //     }
+                        //     if (i > 0 && UseAmount > 0)
+                        //     {
+                        //         var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
+                        //         {
+                        //             AmountType = i,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                        //             CreateDate = DateTime.Now,
+                        //             Title = "取消关联分仓",
+                        //             UserId = sysAdmin.UserId, //运营中心Id
+                        //             Operater = SysUserName + "-" + SysRealName,
+                        //             BeforeAmount = BeforeAmount,//使用前剩余额度
+                        //             AfterAmount = AfterAmount,//使用后剩余额度
+                        //             ChangeAmount = UseAmount,//操作金额
+                        //             OperateType = OperateType,//操作类别
+                        //         }).Entity;
+                        //     }
+                        // }
                         opdb.SaveChanges();
                     }
                     else

+ 116 - 111
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -1667,62 +1667,65 @@ namespace MySystem.Areas.Admin.Controllers
                         opUserAccount.ValidAmount += oldpos.OpReserve3;
                         opUserAccount.ValidForGetAmount += oldpos.OpReserve2;
                         opUserAccount.TotalAmt += oldpos.OpReserve1;
-                        if (oldpos.OpReserve1 > 0 || oldpos.OpReserve2 > 0 || oldpos.OpReserve3 > 0)
-                        {
-                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
-                            {
-                                CreateDate = DateTime.Now,
-                                UserId = oldpos.OpId,
-                                SeoDescription = "机具换绑",
-                                OperateType = 1,
-                                UseAmount = oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
-                                BeforeAmount = TotalAmount,
-                                AfterAmount = TotalAmount + oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
-                                AfterTotalAmt = opUserAccount.TotalAmt,
-                                AfterValidForGetAmount = opUserAccount.ValidForGetAmount,
-                                AfterValidAmount = opUserAccount.ValidAmount,
-                            }).Entity;
-                        }
 
-                        for (int a = 1; a <= 3; a++)
-                        {
-                            var UseAmount = 0.00M;
-                            var BeforeAmount = 0.00M;
-                            var AfterAmount = 0.00M;
-                            if (a == 1)
-                            {
-                                UseAmount = oldpos.OpReserve1;
-                                BeforeAmount = opUserAccount.TotalAmt - UseAmount;
-                                AfterAmount = opUserAccount.TotalAmt;
-                            }
-                            if (a == 2)
-                            {
-                                UseAmount = oldpos.OpReserve2;
-                                BeforeAmount = opUserAccount.ValidForGetAmount - UseAmount;
-                                AfterAmount = opUserAccount.ValidForGetAmount;
-                            }
-                            if (a == 3)
-                            {
-                                UseAmount = oldpos.OpReserve3;
-                                BeforeAmount = opUserAccount.ValidAmount - UseAmount;
-                                AfterAmount = opUserAccount.ValidAmount;
-                            }
-                            if (a > 0 && UseAmount > 0)
-                            {
-                                var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
-                                {
-                                    AmountType = a,//1 未使用额度 2 可提现额度 3 关联分仓额度
-                                    CreateDate = DateTime.Now,
-                                    Title = "机具换绑",
-                                    UserId = oldpos.OpId, //运营中心Id
-                                    Operater = SysUserName + "-" + SysRealName,
-                                    BeforeAmount = BeforeAmount,//使用前剩余额度
-                                    AfterAmount = AfterAmount,//使用后剩余额度
-                                    ChangeAmount = UseAmount,//操作金额
-                                    OperateType = 1,//操作类别
-                                }).Entity;
-                            }
-                        }
+                        PublicFunction.AddAmountRecordNew(8, "机具换绑", 31, opUserAccount.ValidAmount, opUserAccount.TotalAmount, opUserAccount.ValidForGetAmount, 2, TotalAmount, TotalAmount + oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1, oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1, 0, oldpos.OpId, oldpos.OpReserve3, oldpos.OpReserve2, oldpos.OpReserve1, newpos.Id, 1);
+
+                        // if (oldpos.OpReserve1 > 0 || oldpos.OpReserve2 > 0 || oldpos.OpReserve3 > 0)
+                        // {
+                        //     var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                        //     {
+                        //         CreateDate = DateTime.Now,
+                        //         UserId = oldpos.OpId,
+                        //         SeoDescription = "机具换绑",
+                        //         OperateType = 1,
+                        //         UseAmount = oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
+                        //         BeforeAmount = TotalAmount,
+                        //         AfterAmount = TotalAmount + oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
+                        //         AfterTotalAmt = opUserAccount.TotalAmt,
+                        //         AfterValidForGetAmount = opUserAccount.ValidForGetAmount,
+                        //         AfterValidAmount = opUserAccount.ValidAmount,
+                        //     }).Entity;
+                        // }
+
+                        // for (int a = 1; a <= 3; a++)
+                        // {
+                        //     var UseAmount = 0.00M;
+                        //     var BeforeAmount = 0.00M;
+                        //     var AfterAmount = 0.00M;
+                        //     if (a == 1)
+                        //     {
+                        //         UseAmount = oldpos.OpReserve1;
+                        //         BeforeAmount = opUserAccount.TotalAmt - UseAmount;
+                        //         AfterAmount = opUserAccount.TotalAmt;
+                        //     }
+                        //     if (a == 2)
+                        //     {
+                        //         UseAmount = oldpos.OpReserve2;
+                        //         BeforeAmount = opUserAccount.ValidForGetAmount - UseAmount;
+                        //         AfterAmount = opUserAccount.ValidForGetAmount;
+                        //     }
+                        //     if (a == 3)
+                        //     {
+                        //         UseAmount = oldpos.OpReserve3;
+                        //         BeforeAmount = opUserAccount.ValidAmount - UseAmount;
+                        //         AfterAmount = opUserAccount.ValidAmount;
+                        //     }
+                        //     if (a > 0 && UseAmount > 0)
+                        //     {
+                        //         var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
+                        //         {
+                        //             AmountType = a,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                        //             CreateDate = DateTime.Now,
+                        //             Title = "机具换绑",
+                        //             UserId = oldpos.OpId, //运营中心Id
+                        //             Operater = SysUserName + "-" + SysRealName,
+                        //             BeforeAmount = BeforeAmount,//使用前剩余额度
+                        //             AfterAmount = AfterAmount,//使用后剩余额度
+                        //             ChangeAmount = UseAmount,//操作金额
+                        //             OperateType = 1,//操作类别
+                        //         }).Entity;
+                        //     }
+                        // }
 
                         oldpos.OpReserve1 = 0;
                         oldpos.OpReserve2 = 0;
@@ -1738,62 +1741,64 @@ namespace MySystem.Areas.Admin.Controllers
                             opUserAccount.ValidForGetAmount += newpos.OpReserve2;
                             opUserAccount.TotalAmt += newpos.OpReserve1;
 
-                            if (newpos.OpReserve1 > 0 || newpos.OpReserve2 > 0 || newpos.OpReserve3 > 0)
-                            {
-                                var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
-                                {
-                                    CreateDate = DateTime.Now,
-                                    UserId = newpos.OpId,
-                                    SeoDescription = "机具换绑",
-                                    OperateType = 1,
-                                    UseAmount = newpos.OpReserve3 + newpos.OpReserve2 + newpos.OpReserve1,
-                                    BeforeAmount = TotalAmount,
-                                    AfterAmount = TotalAmount + newpos.OpReserve3 + newpos.OpReserve2 + newpos.OpReserve1,
-                                    AfterTotalAmt = opUserAccount.TotalAmt,
-                                    AfterValidForGetAmount = opUserAccount.ValidForGetAmount,
-                                    AfterValidAmount = opUserAccount.ValidAmount,
-                                }).Entity;
-                            }
-
-                            for (int a = 1; a <= 3; a++)
-                            {
-                                var UseAmount = 0.00M;
-                                var BeforeAmount = 0.00M;
-                                var AfterAmount = 0.00M;
-                                if (a == 1)
-                                {
-                                    UseAmount = oldpos.OpReserve1;
-                                    BeforeAmount = opUserAccount.TotalAmt - UseAmount;
-                                    AfterAmount = opUserAccount.TotalAmt;
-                                }
-                                if (a == 2)
-                                {
-                                    UseAmount = oldpos.OpReserve2;
-                                    BeforeAmount = opUserAccount.ValidForGetAmount - UseAmount;
-                                    AfterAmount = opUserAccount.ValidForGetAmount;
-                                }
-                                if (a == 3)
-                                {
-                                    UseAmount = oldpos.OpReserve1;
-                                    BeforeAmount = opUserAccount.ValidAmount - UseAmount;
-                                    AfterAmount = opUserAccount.ValidAmount;
-                                }
-                                if (a > 0 && UseAmount > 0)
-                                {
-                                    var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
-                                    {
-                                        AmountType = a,//1 未使用额度 2 可提现额度 3 关联分仓额度
-                                        CreateDate = DateTime.Now,
-                                        Title = "机具换绑",
-                                        UserId = newpos.OpId, //运营中心Id
-                                        Operater = SysUserName + "-" + SysRealName,
-                                        BeforeAmount = BeforeAmount,//使用前剩余额度
-                                        AfterAmount = AfterAmount,//使用后剩余额度
-                                        ChangeAmount = UseAmount,//操作金额
-                                        OperateType = 1,//操作类别
-                                    }).Entity;
-                                }
-                            }
+                            PublicFunction.AddAmountRecordNew(8, "机具换绑", 31, opUserAccount.ValidAmount, opUserAccount.TotalAmount, opUserAccount.ValidForGetAmount, 2, TotalAmount + oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1, TotalAmount, oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1, 0, newpos.OpId, oldpos.OpReserve3, oldpos.OpReserve2, oldpos.OpReserve1, newpos.Id, 1);
+
+                            // if (newpos.OpReserve1 > 0 || newpos.OpReserve2 > 0 || newpos.OpReserve3 > 0)
+                            // {
+                            //     var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            //     {
+                            //         CreateDate = DateTime.Now,
+                            //         UserId = newpos.OpId,
+                            //         SeoDescription = "机具换绑",
+                            //         OperateType = 1,
+                            //         UseAmount = newpos.OpReserve3 + newpos.OpReserve2 + newpos.OpReserve1,
+                            //         BeforeAmount = TotalAmount,
+                            //         AfterAmount = TotalAmount + newpos.OpReserve3 + newpos.OpReserve2 + newpos.OpReserve1,
+                            //         AfterTotalAmt = opUserAccount.TotalAmt,
+                            //         AfterValidForGetAmount = opUserAccount.ValidForGetAmount,
+                            //         AfterValidAmount = opUserAccount.ValidAmount,
+                            //     }).Entity;
+                            // }
+
+                            // for (int a = 1; a <= 3; a++)
+                            // {
+                            //     var UseAmount = 0.00M;
+                            //     var BeforeAmount = 0.00M;
+                            //     var AfterAmount = 0.00M;
+                            //     if (a == 1)
+                            //     {
+                            //         UseAmount = oldpos.OpReserve1;
+                            //         BeforeAmount = opUserAccount.TotalAmt - UseAmount;
+                            //         AfterAmount = opUserAccount.TotalAmt;
+                            //     }
+                            //     if (a == 2)
+                            //     {
+                            //         UseAmount = oldpos.OpReserve2;
+                            //         BeforeAmount = opUserAccount.ValidForGetAmount - UseAmount;
+                            //         AfterAmount = opUserAccount.ValidForGetAmount;
+                            //     }
+                            //     if (a == 3)
+                            //     {
+                            //         UseAmount = oldpos.OpReserve1;
+                            //         BeforeAmount = opUserAccount.ValidAmount - UseAmount;
+                            //         AfterAmount = opUserAccount.ValidAmount;
+                            //     }
+                            //     if (a > 0 && UseAmount > 0)
+                            //     {
+                            //         var amountChangeRecord = opdb.AmountChangeRecord.Add(new OpModels.AmountChangeRecord()
+                            //         {
+                            //             AmountType = a,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                            //             CreateDate = DateTime.Now,
+                            //             Title = "机具换绑",
+                            //             UserId = newpos.OpId, //运营中心Id
+                            //             Operater = SysUserName + "-" + SysRealName,
+                            //             BeforeAmount = BeforeAmount,//使用前剩余额度
+                            //             AfterAmount = AfterAmount,//使用后剩余额度
+                            //             ChangeAmount = UseAmount,//操作金额
+                            //             OperateType = 1,//操作类别
+                            //         }).Entity;
+                            //     }
+                            // }
 
                             newpos.OpReserve1 = 0;
                             newpos.OpReserve2 = 0;

+ 32 - 0
OpModels/AmountRecordNew.cs

@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.OpModels
+{
+    public partial class AmountRecordNew
+    {
+        public int Id { get; set; }
+        public int Sort { get; set; }
+        public int Status { get; set; }
+        public int Version { get; set; }
+        public DateTime? CreateDate { get; set; }
+        public DateTime? UpdateDate { get; set; }
+        public int ChangeTypeId { get; set; }
+        public string Remark { get; set; }
+        public int ShowType { get; set; }
+        public decimal AfterValidAmount { get; set; }
+        public decimal AfterTotalAmt { get; set; }
+        public decimal AfterValidForGetAmount { get; set; }
+        public int OperateType { get; set; }
+        public decimal AfterAmount { get; set; }
+        public decimal BeforeAmount { get; set; }
+        public decimal UseAmount { get; set; }
+        public int ApplyId { get; set; }
+        public int UserId { get; set; }
+        public decimal UseValidForGetAmount { get; set; }
+        public decimal UseTotalAmt { get; set; }
+        public decimal UseValidAmount { get; set; }
+        public int DataType { get; set; }
+        public int DataId { get; set; }
+    }
+}

+ 17 - 0
OpModels/ChangeTypeKind.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.OpModels
+{
+    public partial class ChangeTypeKind
+    {
+        public int Id { get; set; }
+        public int Sort { get; set; }
+        public int Status { get; set; }
+        public int Version { get; set; }
+        public DateTime? CreateDate { get; set; }
+        public DateTime? UpdateDate { get; set; }
+        public string Operator { get; set; }
+        public string Name { get; set; }
+    }
+}

+ 18 - 0
OpModels/ChangeTypes.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.OpModels
+{
+    public partial class ChangeTypes
+    {
+        public int Id { get; set; }
+        public int Sort { get; set; }
+        public int Status { get; set; }
+        public int Version { get; set; }
+        public DateTime? CreateDate { get; set; }
+        public DateTime? UpdateDate { get; set; }
+        public int TypeId { get; set; }
+        public int Kind { get; set; }
+        public string Name { get; set; }
+    }
+}

+ 2 - 0
OpModels/SysAdmin.cs

@@ -31,5 +31,7 @@ namespace MySystem.OpModels
         public string RealName { get; set; }
         public string Password { get; set; }
         public string AdminName { get; set; }
+        public ulong ReturnFlag { get; set; }
+        public decimal ReturnAmount { get; set; }
     }
 }

+ 191 - 1
OpModels/WebCMSEntities.cs

@@ -20,6 +20,9 @@ namespace MySystem.OpModels
         public virtual DbSet<Advertisment> Advertisment { get; set; }
         public virtual DbSet<AmountChangeRecord> AmountChangeRecord { get; set; }
         public virtual DbSet<AmountRecord> AmountRecord { get; set; }
+        public virtual DbSet<AmountRecordNew> AmountRecordNew { get; set; }
+        public virtual DbSet<ChangeTypeKind> ChangeTypeKind { get; set; }
+        public virtual DbSet<ChangeTypes> ChangeTypes { get; set; }
         public virtual DbSet<Col> Col { get; set; }
         public virtual DbSet<MachineApplyOpRecord> MachineApplyOpRecord { get; set; }
         public virtual DbSet<MenuRight> MenuRight { get; set; }
@@ -65,7 +68,8 @@ namespace MySystem.OpModels
         {
             if (!optionsBuilder.IsConfigured)
             {
-                optionsBuilder.UseMySql(Library.ConfigurationManager.AppSettings["OpSqlConnStr"].ToString(), x => x.ServerVersion("5.7.17-mysql"));
+#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
+                optionsBuilder.UseMySql("server=47.109.31.237;port=3306;user=KxsOpServer;password=r7jwZ8ydLoeswDR4;database=KxsOpServer;charset=utf8", x => x.ServerVersion("5.7.28-mysql"));
             }
         }
 
@@ -379,6 +383,183 @@ namespace MySystem.OpModels
                 entity.Property(e => e.Version).HasColumnType("int(11)");
             });
 
+            modelBuilder.Entity<AmountRecordNew>(entity =>
+            {
+                entity.HasComment("新合伙人额度变动记录");
+
+                entity.Property(e => e.Id).HasColumnType("int(11)");
+
+                entity.Property(e => e.AfterAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用后剩余额度");
+
+                entity.Property(e => e.AfterTotalAmt)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用后未使用额度");
+
+                entity.Property(e => e.AfterValidAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用后关联分仓额度");
+
+                entity.Property(e => e.AfterValidForGetAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用后可提现额度");
+
+                entity.Property(e => e.ApplyId)
+                    .HasColumnType("int(11)")
+                    .HasComment("申请单");
+
+                entity.Property(e => e.BeforeAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用前剩余额度");
+
+                entity.Property(e => e.ChangeTypeId)
+                    .HasColumnType("int(11)")
+                    .HasComment("收支类别");
+
+                entity.Property(e => e.CreateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("创建时间");
+
+                entity.Property(e => e.DataId)
+                    .HasColumnType("int(11)")
+                    .HasComment("数据来源Id");
+
+                entity.Property(e => e.DataType)
+                    .HasColumnType("int(11)")
+                    .HasComment("数据来源表类型");
+
+                entity.Property(e => e.OperateType)
+                    .HasColumnType("int(11)")
+                    .HasComment("操作类别");
+
+                entity.Property(e => e.Remark)
+                    .HasColumnType("varchar(100)")
+                    .HasComment("备注")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.ShowType)
+                    .HasColumnType("int(11)")
+                    .HasComment("显示类型");
+
+                entity.Property(e => e.Sort)
+                    .HasColumnType("int(11)")
+                    .HasComment("排序序号");
+
+                entity.Property(e => e.Status)
+                    .HasColumnType("int(11)")
+                    .HasComment("状态");
+
+                entity.Property(e => e.UpdateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("修改时间");
+
+                entity.Property(e => e.UseAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用额度");
+
+                entity.Property(e => e.UseTotalAmt)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用未使用额度");
+
+                entity.Property(e => e.UseValidAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用关联分仓额度");
+
+                entity.Property(e => e.UseValidForGetAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("使用可提现额度");
+
+                entity.Property(e => e.UserId)
+                    .HasColumnType("int(11)")
+                    .HasComment("运营中心");
+
+                entity.Property(e => e.Version)
+                    .HasColumnType("int(11)")
+                    .HasComment("版本号");
+            });
+
+            modelBuilder.Entity<ChangeTypeKind>(entity =>
+            {
+                entity.HasComment("收支明细分类");
+
+                entity.Property(e => e.Id).HasColumnType("int(11)");
+
+                entity.Property(e => e.CreateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("创建时间");
+
+                entity.Property(e => e.Name)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("分类名称")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Operator)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("操作人")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Sort)
+                    .HasColumnType("int(11)")
+                    .HasComment("排序序号");
+
+                entity.Property(e => e.Status)
+                    .HasColumnType("int(11)")
+                    .HasComment("状态");
+
+                entity.Property(e => e.UpdateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("修改时间");
+
+                entity.Property(e => e.Version)
+                    .HasColumnType("int(11)")
+                    .HasComment("版本号");
+            });
+
+            modelBuilder.Entity<ChangeTypes>(entity =>
+            {
+                entity.HasComment("收支明细");
+
+                entity.Property(e => e.Id).HasColumnType("int(11)");
+
+                entity.Property(e => e.CreateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("创建时间");
+
+                entity.Property(e => e.Kind)
+                    .HasColumnType("int(11)")
+                    .HasComment("类型");
+
+                entity.Property(e => e.Name)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("名称")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Sort)
+                    .HasColumnType("int(11)")
+                    .HasComment("排序序号");
+
+                entity.Property(e => e.Status)
+                    .HasColumnType("int(11)")
+                    .HasComment("状态");
+
+                entity.Property(e => e.TypeId)
+                    .HasColumnType("int(11)")
+                    .HasComment("所属分类Id");
+
+                entity.Property(e => e.UpdateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("修改时间");
+
+                entity.Property(e => e.Version)
+                    .HasColumnType("int(11)")
+                    .HasComment("版本号");
+            });
+
             modelBuilder.Entity<Col>(entity =>
             {
                 entity.Property(e => e.Id).HasColumnType("int(11)");
@@ -2473,6 +2654,15 @@ namespace MySystem.OpModels
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
+                entity.Property(e => e.ReturnAmount)
+                    .HasColumnType("decimal(18,2)")
+                    .HasComment("返还额度");
+
+                entity.Property(e => e.ReturnFlag)
+                    .HasColumnType("bit(1)")
+                    .HasDefaultValueSql("b'0'")
+                    .HasComment("是否返额度");
+
                 entity.Property(e => e.Role)
                     .HasColumnType("varchar(30)")
                     .HasCharSet("utf8")