Quellcode durchsuchen

团组模块 出入境费用明细
操作

leiy vor 1 Jahr
Ursprung
Commit
4291fca296

+ 26 - 0
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -2280,6 +2280,32 @@ namespace OASystem.API.Controllers
                 return Ok(JsonView(false, ex.Message));
             }
         }
+        //
+
+        /// <summary>
+        /// 团组模块 - 出入境费用 - 子项删除
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostEnterExitCostSubItemDel(EnterExitCostSubItemDelDto dto)
+        {
+            try
+            {
+                var data = await _enterExitCostRep.PostEnterExitCostSubItemDel(dto);
+
+                if (data.Code != 0)
+                {
+                    return Ok(JsonView(false, data.Msg));
+                }
+
+                return Ok(JsonView(true, "操作成功!", data.Data));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, ex.Message));
+            }
+        }
 
         #endregion
     }

+ 7 - 0
OASystem/OASystem.Domain/Dtos/Groups/EnterExitCostDto.cs

@@ -27,6 +27,8 @@ namespace OASystem.Domain.Dtos.Groups
     /// </summary>
     public class EnterExitCostOperateDto : PortDtoBase 
     {
+        public int UserId { get; set; }
+
         /// <summary>
         /// Id
         /// </summary>
@@ -217,4 +219,9 @@ namespace OASystem.Domain.Dtos.Groups
 
     }
 
+    /// <summary>
+    /// 出入境费用子项删除
+    /// </summary>
+    public class EnterExitCostSubItemDelDto : DelBaseDto
+    { }
 }

+ 1 - 1
OASystem/OASystem.Domain/Entities/EntityBase.cs

@@ -39,7 +39,7 @@
         /// 是否删除
         /// </summary>
         [SugarColumn(ColumnDescription = "是否删除", IsNullable = true, ColumnDataType = "int")]
-        public int IsDel { get; set; }
+        public int IsDel { get; set; } = 0;
     }
 
 }

+ 15 - 1
OASystem/OASystem.Domain/Result.cs

@@ -10,6 +10,20 @@ namespace OASystem.Domain
     {
         public int Code { get; set; } = -1;
         public string Msg { get; set; } = "未知错误";
-        public dynamic? Data { get; set; } = null;
+        public dynamic? Data { get; set; } = new { };
     }
+
+
+    /// <summary>
+    /// 错误消息
+    /// </summary>
+    public static class ErrorMsg 
+    {
+        /// <summary>
+        /// 端口错误消息提示
+        /// </summary>
+        public static string Error_Port_Msg = "“portType”:1:WEB;2:ANDROID;3:IOS;请检查端口值是否正确!";
+    }
+
+   
 }

+ 1 - 1
OASystem/OASystem.Domain/ViewModels/JsonView.cs

@@ -20,5 +20,5 @@ public class JsonView
     /// <summary>
     /// 数据
     /// </summary>
-    public object? Data { get; set; } =  new { };
+    public object? Data { get; set; } = new { };
 }

+ 91 - 44
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostRepository.cs

@@ -68,7 +68,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         /// <returns></returns>
         public async Task<Result> GetEnterExitCostInfoByDiId(EnterExitCostInfobyDiIdDto dto)
         {
-            Result result = new Result { Code = -1, Msg = "未知错误" };
+            Result result = new Result();
 
             var enterExitCostData = await _sqlSugar.Queryable<Grp_EnterExitCost>().FirstAsync(it => it.DiId == dto.DiId && it.IsDel == 0);
 
@@ -76,32 +76,38 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             EnterExitCostInfoView enterExitCostInfoView = new EnterExitCostInfoView();
 
-            if (enterExitCostData != null)
+            if (dto.PortType == 1) // Web
             {
-                enterExitCostInfoView = _mapper.Map<EnterExitCostInfoView>(enterExitCostData);
+                if (enterExitCostData != null)
+                {
+                    enterExitCostInfoView = _mapper.Map<EnterExitCostInfoView>(enterExitCostData);
 
-                var dayAndCostSql = string.Format(@"Select ssd.Name CurremcyCode,ssd.Remark CurrencyName,gdac.* From Grp_DayAndCost gdac
+                    var dayAndCostSql = string.Format(@"Select ssd.Name CurremcyCode,ssd.Remark CurrencyName,gdac.* From Grp_DayAndCost gdac
                                                 Left Join Sys_SetData ssd On ssd.STid = 66 And gdac.Currency = ssd.Id
-                                                Where gdac.Isdel = 0 And gdac.DiId = {0}", dto.DiId);
-                var dayAndCostData = await _sqlSugar.SqlQueryable<DayAndCostInfoView>(dayAndCostSql).ToListAsync();
+                                                Where gdac.Isdel = 0 And gdac.DiId = {0} Order By [Type] ASC,[Days] ASC", dto.DiId);
+                    var dayAndCostData = await _sqlSugar.SqlQueryable<DayAndCostInfoView>(dayAndCostSql).ToListAsync();
 
 
-                enterExitCostInfoView.QuarterageData = dayAndCostData.Where(it => it.Type == 1).ToList(); //住宿费 1
-                enterExitCostInfoView.BoardWagesData = dayAndCostData.Where(it => it.Type == 2).ToList(); //伙食费 2
-                enterExitCostInfoView.MiscellaneousFeeData =dayAndCostData.Where(it => it.Type == 3).ToList();  //公杂费 3
-                enterExitCostInfoView.TrainingExpenseData = dayAndCostData.Where(it => it.Type == 4).ToList();  //培训费 4
+                    enterExitCostInfoView.QuarterageData = dayAndCostData.Where(it => it.Type == 1).ToList(); //住宿费 1
+                    enterExitCostInfoView.BoardWagesData = dayAndCostData.Where(it => it.Type == 2).ToList(); //伙食费 2
+                    enterExitCostInfoView.MiscellaneousFeeData = dayAndCostData.Where(it => it.Type == 3).ToList();  //公杂费 3
+                    enterExitCostInfoView.TrainingExpenseData = dayAndCostData.Where(it => it.Type == 4).ToList();  //培训费 4
 
-                enterExitCostInfoView.Currencys = (List<CurrencyInfo>?)CommonFun.GetCurrencyChinaToList(enterExitCostData.CurrencyRemark);
+                    enterExitCostInfoView.Currencys = (List<CurrencyInfo>?)CommonFun.GetCurrencyChinaToList(enterExitCostData.CurrencyRemark);
 
-                result.Msg = "查询成功";
-                result.Code = 0;
-            }
-            else
-            {
-                result.Msg = "未查询出数据!!!";
+                    result.Msg = "查询成功";
+                    result.Code = 0;
+                }
+                else
+                {
+                    result.Msg = "未查询出数据!!!";
+                }
+
+                result.Data = enterExitCostInfoView;
             }
+            else result.Msg = ErrorMsg.Error_Port_Msg;
 
-            result.Data = enterExitCostInfoView;
+            
 
             return result;
         }
@@ -117,49 +123,90 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
             var enterExitCost = _mapper.Map<Grp_EnterExitCost>(dto);
             var quarterageData = _mapper.Map<List<Grp_DayAndCost>>(dto.QuarterageData);  //住宿费 1
+            quarterageData = quarterageData.Select(it => { it.CreateUserId = dto.UserId; return it; }).ToList();
+
             var boardWagesData = _mapper.Map<List<Grp_DayAndCost>>(dto.BoardWagesData);  //伙食费 2
+            boardWagesData = boardWagesData.Select(it => { it.CreateUserId = dto.UserId; return it; }).ToList();
+
             var miscellaneousFeeData = _mapper.Map<List<Grp_DayAndCost>>(dto.MiscellaneousFeeData);  //公杂费 3
+            miscellaneousFeeData = miscellaneousFeeData.Select(it => { it.CreateUserId = dto.UserId; return it; }).ToList();
+
             var trainingExpenseData = _mapper.Map<List<Grp_DayAndCost>>(dto.TrainingExpenseData);    //培训费 4
+            trainingExpenseData = trainingExpenseData.Select(it => { it.CreateUserId = dto.UserId; return it; }).ToList();
+
 
             //处理币种string
             enterExitCost.CurrencyRemark = CommonFun.GetCurrencyChinaToString(dto.Currencys);
+            enterExitCost.CreateUserId = dto.UserId;
+
             _sqlSugar.BeginTran();
-            try
+
+            if (dto.PortType == 1)
             {
-                var enterExit = _sqlSugar.Storageable<Grp_EnterExitCost>(enterExitCost).ToStorage();
-                enterExit.AsInsertable.ExecuteCommand();   //不存在插入
-                enterExit.AsUpdateable.ExecuteCommand();   //存在更新
+                try
+                {
+                    var enterExit = _sqlSugar.Storageable<Grp_EnterExitCost>(enterExitCost).ToStorage();
+                    enterExit.AsInsertable.ExecuteCommand();   //不存在插入
+                    enterExit.AsUpdateable.IgnoreColumns(it => new { it.DiId, it.CreateUserId, it.CreateTime, it.IsDel }).ExecuteCommand();   //存在更新
+
+                    var quarterage = _sqlSugar.Storageable<Grp_DayAndCost>(quarterageData).ToStorage();  //住宿费 1
+                    quarterage.AsInsertable.ExecuteCommand();   //不存在插入                             
+                    quarterage.AsUpdateable.IgnoreColumns(it => new { it.DiId, it.Type, it.CreateUserId, it.CreateTime, it.IsDel }).ExecuteCommand();   //存在更新
+
+                    var boardWages = _sqlSugar.Storageable<Grp_DayAndCost>(boardWagesData).ToStorage();  //伙食费 2
+                    boardWages.AsInsertable.ExecuteCommand();   //不存在插入
+                    boardWages.AsUpdateable.IgnoreColumns(it => new { it.DiId, it.Type, it.CreateUserId, it.CreateTime, it.IsDel }).ExecuteCommand();   //存在更新
+
+                    var miscellaneousFee = _sqlSugar.Storageable<Grp_DayAndCost>(miscellaneousFeeData).ToStorage(); //公杂费 3
+                    miscellaneousFee.AsInsertable.ExecuteCommand();   //不存在插入
+                    miscellaneousFee.AsUpdateable.IgnoreColumns(it => new { it.DiId, it.Type, it.CreateUserId, it.CreateTime, it.IsDel }).ExecuteCommand();   //存在更新
+
+                    var trainingExpense = _sqlSugar.Storageable<Grp_DayAndCost>(trainingExpenseData).ToStorage();    //培训费 4
+                    trainingExpense.AsInsertable.ExecuteCommand();   //不存在插入
+                    trainingExpense.AsUpdateable.IgnoreColumns(it => new { it.DiId, it.Type, it.CreateUserId, it.CreateTime, it.IsDel }).ExecuteCommand();   //存在更新
+
+                    _sqlSugar.CommitTran();
+                    result.Code = 0;
+                    result.Msg = "操作成功!";
+                }
+                catch (Exception ex)
+                {
+                    _sqlSugar.RollbackTran();
+                    result.Msg = ex.Message;
+                }
+            }
+            else result.Msg = ErrorMsg.Error_Port_Msg;
 
-                var quarterage = _sqlSugar.Storageable<Grp_DayAndCost>(quarterageData).ToStorage();
-                quarterage.AsInsertable.ExecuteCommand();   //不存在插入
-                quarterage.AsUpdateable.ExecuteCommand();   //存在更新
+            return result;
+        }
 
-                var boardWages = _sqlSugar.Storageable<Grp_DayAndCost>(boardWagesData).ToStorage();
-                boardWages.AsInsertable.ExecuteCommand();   //不存在插入
-                boardWages.AsUpdateable.ExecuteCommand();   //存在更新
 
-                var miscellaneousFee = _sqlSugar.Storageable<Grp_DayAndCost>(miscellaneousFeeData).ToStorage();
-                miscellaneousFee.AsInsertable.ExecuteCommand();   //不存在插入
-                miscellaneousFee.AsUpdateable.ExecuteCommand();   //存在更新
+        /// <summary>
+        /// Add Or Update
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> PostEnterExitCostSubItemDel(EnterExitCostSubItemDelDto dto)
+        {
+            Result result = new Result();
 
-                var trainingExpense = _sqlSugar.Storageable<Grp_DayAndCost>(trainingExpenseData).ToStorage();
-                trainingExpense.AsInsertable.ExecuteCommand();   //不存在插入
-                trainingExpense.AsUpdateable.ExecuteCommand();   //存在更新
 
-                _sqlSugar.CommitTran();
-                result.Code = 0;
-                result.Msg = "操作成功!";
-            }
-            catch (Exception ex)
-            {
-                _sqlSugar.RollbackTran();
-                result.Msg = ex.Message;
-            }
+            var del = await _sqlSugar.Updateable<Grp_DayAndCost>()
+                .SetColumns(it => new Grp_DayAndCost()
+                {
+                    IsDel = 1,
+                    DeleteUserId = dto.DeleteUserId,
+                    DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
+                })
+                .Where(it => it.Id == dto.Id)
+                .ExecuteCommandAsync();
+
+            if (del > 0) result.Code = 0;
+            else result.Msg = string.Format("删除失败!");
 
 
             return result;
         }
 
-
     }
 }

+ 1 - 1
OASystem/OASystem.Infrastructure/Tools/CommonFun.cs

@@ -286,7 +286,7 @@ public static class CommonFun
         foreach (CurrencyInfo rate in rates)
         {
             //存储方式: 美元(USD):6.2350|.......|墨西哥比索(MXN):1.0000
-            rateStr += string.Format("{0}({1}):{2}|", rate.CurrencyName, rate.CurrencyCode, rate);
+            rateStr += string.Format("{0}({1}):{2}|", rate.CurrencyName, rate.CurrencyCode, rate.Rate);
         }
 
         if (rateStr.Length > 0)